]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
Merge branch 'master' into next
authorArne Fitzenreiter <arne_f@ipfire.org>
Sat, 10 Jun 2017 20:38:32 +0000 (22:38 +0200)
committerArne Fitzenreiter <arne_f@ipfire.org>
Sat, 10 Jun 2017 20:38:32 +0000 (22:38 +0200)
370 files changed:
config/backup/includes/imspector [deleted file]
config/cfgroot/general-functions.pl
config/imspector/imspector.conf [deleted file]
config/menu/EX-imspector.menu [deleted file]
config/miniupnpd/miniupnpd.conf
config/rootfiles/common/autoconf
config/rootfiles/common/bc
config/rootfiles/common/boost
config/rootfiles/common/configroot
config/rootfiles/common/flex
config/rootfiles/common/fuse
config/rootfiles/common/gawk
config/rootfiles/common/i586/binutils
config/rootfiles/common/i586/gcc
config/rootfiles/common/i586/glibc
config/rootfiles/common/i586/python
config/rootfiles/common/libarchive
config/rootfiles/common/libgcrypt
config/rootfiles/common/libgpg-error
config/rootfiles/common/ncurses
config/rootfiles/common/paxctl [deleted file]
config/rootfiles/common/reiserfsprogs
config/rootfiles/common/sudo
config/rootfiles/common/tzdata
config/rootfiles/common/web-user-interface
config/rootfiles/common/x86_64/binutils
config/rootfiles/common/x86_64/gcc
config/rootfiles/common/x86_64/glibc
config/rootfiles/common/x86_64/python
config/rootfiles/packages/7zip
config/rootfiles/packages/cyrus-imapd
config/rootfiles/packages/dfb++ [deleted file]
config/rootfiles/packages/freeradius
config/rootfiles/packages/i586/directfb
config/rootfiles/packages/iftop [deleted file]
config/rootfiles/packages/imspector [deleted file]
config/rootfiles/packages/mysql
config/rootfiles/packages/sdl
config/rootfiles/packages/tcpick [deleted file]
config/rootfiles/packages/vdr_vnsiserver5 [deleted file]
config/rootfiles/packages/x86_64/directfb
config/vdr/plugins.d/vnsiserver3.conf [deleted file]
config/vdr/plugins.d/vnsiserver5.conf [deleted file]
html/cgi-bin/fwhosts.cgi
html/cgi-bin/imspector.cgi [deleted file]
lfs/7zip
lfs/Config
lfs/backports
lfs/bash
lfs/bc
lfs/binutils
lfs/boost
lfs/ccache
lfs/cdrom
lfs/clamav
lfs/cleanup-toolchain
lfs/collectd
lfs/core-updates
lfs/crda
lfs/cyrus-imapd
lfs/dfb++ [deleted file]
lfs/directfb
lfs/flash-images
lfs/flex
lfs/fontconfig
lfs/freeradius
lfs/fuse
lfs/gawk
lfs/gcc
lfs/ghostscript
lfs/glibc
lfs/gmp
lfs/gmp-compat
lfs/grep
lfs/grub
lfs/iftop [deleted file]
lfs/imspector [deleted file]
lfs/initscripts
lfs/installer
lfs/iperf
lfs/ipset
lfs/lcr
lfs/libarchive
lfs/libdvbpsi
lfs/libgcrypt
lfs/libgpg-error
lfs/linux
lfs/mdadm
lfs/memtest
lfs/mysql
lfs/ncurses
lfs/ncurses-compat
lfs/openssl
lfs/pakfire
lfs/pam
lfs/perl
lfs/php
lfs/pkg-config
lfs/python
lfs/qemu
lfs/reiserfsprogs
lfs/sdl
lfs/sources-iso
lfs/stage1 [moved from lfs/paxctl with 67% similarity]
lfs/stage2
lfs/strip
lfs/strongswan
lfs/sysklogd
lfs/tcpick [deleted file]
lfs/u-boot
lfs/udev
lfs/unzip
lfs/vdr_dvbapi
lfs/vdr_eepg
lfs/vdr_epgsearch
lfs/vdr_streamdev
lfs/vdr_vnsiserver5 [deleted file]
lfs/xen-image
make.sh
src/initscripts/packages/imspector [deleted file]
src/paks/mysql/install.sh
src/paks/vdr_vnsiserver5/install.sh [deleted file]
src/paks/vdr_vnsiserver5/uninstall.sh [deleted file]
src/paks/vdr_vnsiserver5/update.sh [deleted file]
src/patches/SDL-1.2.11-asm-page.h.patch [deleted file]
src/patches/bash/bash32-052 [deleted file]
src/patches/bash/bash32-053 [deleted file]
src/patches/binutils-2.24-pt-pax-flags-20131231.patch [deleted file]
src/patches/clamav-0.99.2-gcc-6.patch [new file with mode: 0644]
src/patches/fontconfig-avoid-conflicts-with-integer-width-macros-from-TS.patch [new file with mode: 0644]
src/patches/fuse-2.9.2-namespace-conflict-fix.patch [new file with mode: 0644]
src/patches/gawk-3.1.5-segfault_fix-1.patch [deleted file]
src/patches/gcc-4.4.3-startfiles_fix-1.patch [deleted file]
src/patches/gcc-4.4.7-texinfo-5.patch [deleted file]
src/patches/gcc/gcc-fix-inlining-issues.patch [deleted file]
src/patches/gcc/gcc49-i386-libgomp.patch [deleted file]
src/patches/gcc/gcc49-libtool-no-rpath.patch [deleted file]
src/patches/gcc/gcc49-no-add-needed.patch [deleted file]
src/patches/gcc/gcc49-pr38757.patch [deleted file]
src/patches/gcc/gcc49-pr64336.patch [deleted file]
src/patches/glibc-2.12-accept-make-versions-4.0-and-greater.patch [deleted file]
src/patches/glibc-cfi-entry-not-closed.patch [deleted file]
src/patches/glibc-remove-ctors-dtors-output-sections.patch [deleted file]
src/patches/glibc-resolv-stack_chk_fail.patch [deleted file]
src/patches/glibc-test-installation.pl-libgcc_s.patch [deleted file]
src/patches/glibc-test-installation.pl-nss_test1.patch [deleted file]
src/patches/glibc/glibc-aliasing.patch [deleted file]
src/patches/glibc/glibc-fedora.patch [deleted file]
src/patches/glibc/glibc-getlogin-r.patch [deleted file]
src/patches/glibc/glibc-localedata.patch [deleted file]
src/patches/glibc/glibc-mq_open.patch [deleted file]
src/patches/glibc/glibc-recvmmsg.patch [deleted file]
src/patches/glibc/glibc-rh1008310.patch [deleted file]
src/patches/glibc/glibc-rh1019916.patch [deleted file]
src/patches/glibc/glibc-rh1022022.patch [deleted file]
src/patches/glibc/glibc-rh1023306.patch [deleted file]
src/patches/glibc/glibc-rh1025933.patch [deleted file]
src/patches/glibc/glibc-rh1027101.patch [deleted file]
src/patches/glibc/glibc-rh1027261.patch [deleted file]
src/patches/glibc/glibc-rh1028285.patch [deleted file]
src/patches/glibc/glibc-rh1032628.patch [deleted file]
src/patches/glibc/glibc-rh1039988.patch [deleted file]
src/patches/glibc/glibc-rh1043557.patch [deleted file]
src/patches/glibc/glibc-rh1044628.patch [deleted file]
src/patches/glibc/glibc-rh1053178.patch [deleted file]
src/patches/glibc/glibc-rh1054846.patch [deleted file]
src/patches/glibc/glibc-rh1066724.patch [deleted file]
src/patches/glibc/glibc-rh1074342.patch [deleted file]
src/patches/glibc/glibc-rh1074353.patch [deleted file]
src/patches/glibc/glibc-rh1082379.patch [deleted file]
src/patches/glibc/glibc-rh1085273.patch [deleted file]
src/patches/glibc/glibc-rh1085289.patch [deleted file]
src/patches/glibc/glibc-rh1085312.patch [deleted file]
src/patches/glibc/glibc-rh1087833.patch [deleted file]
src/patches/glibc/glibc-rh1088301.patch [deleted file]
src/patches/glibc/glibc-rh1091915.patch [deleted file]
src/patches/glibc/glibc-rh1099025-2.patch [deleted file]
src/patches/glibc/glibc-rh1099025.patch [deleted file]
src/patches/glibc/glibc-rh1111460.patch [deleted file]
src/patches/glibc/glibc-rh1116050-1.patch [deleted file]
src/patches/glibc/glibc-rh1116050.patch [deleted file]
src/patches/glibc/glibc-rh1124204.patch [deleted file]
src/patches/glibc/glibc-rh1125307.patch [deleted file]
src/patches/glibc/glibc-rh1133810-1.patch [deleted file]
src/patches/glibc/glibc-rh1133810-2.patch [deleted file]
src/patches/glibc/glibc-rh1138769.patch [deleted file]
src/patches/glibc/glibc-rh1144019.patch [deleted file]
src/patches/glibc/glibc-rh1144132.patch [deleted file]
src/patches/glibc/glibc-rh1154563.patch [deleted file]
src/patches/glibc/glibc-rh1159167.patch [deleted file]
src/patches/glibc/glibc-rh1171296.patch [deleted file]
src/patches/glibc/glibc-rh1172044.patch [deleted file]
src/patches/glibc/glibc-rh1176907.patch [deleted file]
src/patches/glibc/glibc-rh1183534.patch [deleted file]
src/patches/glibc/glibc-rh1195453-avx512.patch [deleted file]
src/patches/glibc/glibc-rh1207236.patch [deleted file]
src/patches/glibc/glibc-rh1209376.patch [deleted file]
src/patches/glibc/glibc-rh1217186.patch [deleted file]
src/patches/glibc/glibc-rh1256812-2.patch [deleted file]
src/patches/glibc/glibc-rh1256812-3.patch [deleted file]
src/patches/glibc/glibc-rh1256812-4.patch [deleted file]
src/patches/glibc/glibc-rh1256812.patch [deleted file]
src/patches/glibc/glibc-rh1256890.patch [deleted file]
src/patches/glibc/glibc-rh1256891.patch [deleted file]
src/patches/glibc/glibc-rh1291270.patch [deleted file]
src/patches/glibc/glibc-rh1296031-0.patch [deleted file]
src/patches/glibc/glibc-rh1296031.patch [deleted file]
src/patches/glibc/glibc-rh1299319-0.patch [deleted file]
src/patches/glibc/glibc-rh1299319-1.patch [deleted file]
src/patches/glibc/glibc-rh552960.patch [deleted file]
src/patches/glibc/glibc-rh580498.patch [deleted file]
src/patches/glibc/glibc-rh582738.patch [deleted file]
src/patches/glibc/glibc-rh587360.patch [deleted file]
src/patches/glibc/glibc-rh593396.patch [deleted file]
src/patches/glibc/glibc-rh593686.patch [deleted file]
src/patches/glibc/glibc-rh601686.patch [deleted file]
src/patches/glibc/glibc-rh607010.patch [deleted file]
src/patches/glibc/glibc-rh607461.patch [deleted file]
src/patches/glibc/glibc-rh615090.patch [deleted file]
src/patches/glibc/glibc-rh615701.patch [deleted file]
src/patches/glibc/glibc-rh621959.patch [deleted file]
src/patches/glibc/glibc-rh623187.patch [deleted file]
src/patches/glibc/glibc-rh625893.patch [deleted file]
src/patches/glibc/glibc-rh629823-2.patch [deleted file]
src/patches/glibc/glibc-rh629823.patch [deleted file]
src/patches/glibc/glibc-rh630801.patch [deleted file]
src/patches/glibc/glibc-rh631011.patch [deleted file]
src/patches/glibc/glibc-rh641128.patch [deleted file]
src/patches/glibc/glibc-rh642584.patch [deleted file]
src/patches/glibc/glibc-rh643822.patch [deleted file]
src/patches/glibc/glibc-rh645672.patch [deleted file]
src/patches/glibc/glibc-rh646954.patch [deleted file]
src/patches/glibc/glibc-rh647448.patch [deleted file]
src/patches/glibc/glibc-rh652661.patch [deleted file]
src/patches/glibc/glibc-rh656014.patch [deleted file]
src/patches/glibc/glibc-rh656530.patch [deleted file]
src/patches/glibc/glibc-rh657572.patch [deleted file]
src/patches/glibc/glibc-rh661982.patch [deleted file]
src/patches/glibc/glibc-rh663641-2.patch [deleted file]
src/patches/glibc/glibc-rh663641-3.patch [deleted file]
src/patches/glibc/glibc-rh663641.patch [deleted file]
src/patches/glibc/glibc-rh667974.patch [deleted file]
src/patches/glibc/glibc-rh676076.patch [deleted file]
src/patches/glibc/glibc-rh676591.patch [deleted file]
src/patches/glibc/glibc-rh681054.patch [deleted file]
src/patches/glibc/glibc-rh688720.patch [deleted file]
src/patches/glibc/glibc-rh688980.patch [deleted file]
src/patches/glibc/glibc-rh689471.patch [deleted file]
src/patches/glibc/glibc-rh692177.patch [deleted file]
src/patches/glibc/glibc-rh692838.patch [deleted file]
src/patches/glibc/glibc-rh694386.patch [deleted file]
src/patches/glibc/glibc-rh695595.patch [deleted file]
src/patches/glibc/glibc-rh695963.patch [deleted file]
src/patches/glibc/glibc-rh696472.patch [deleted file]
src/patches/glibc/glibc-rh697421.patch [deleted file]
src/patches/glibc/glibc-rh699724.patch [deleted file]
src/patches/glibc/glibc-rh700507.patch [deleted file]
src/patches/glibc/glibc-rh703480.patch [deleted file]
src/patches/glibc/glibc-rh703481.patch [deleted file]
src/patches/glibc/glibc-rh705465.patch [deleted file]
src/patches/glibc/glibc-rh711927.patch [deleted file]
src/patches/glibc/glibc-rh711987.patch [deleted file]
src/patches/glibc/glibc-rh712248.patch [deleted file]
src/patches/glibc/glibc-rh713134.patch [deleted file]
src/patches/glibc/glibc-rh714823.patch [deleted file]
src/patches/glibc/glibc-rh718057.patch [deleted file]
src/patches/glibc/glibc-rh726517.patch [deleted file]
src/patches/glibc/glibc-rh730379.patch [deleted file]
src/patches/glibc/glibc-rh731042.patch [deleted file]
src/patches/glibc/glibc-rh736346.patch [deleted file]
src/patches/glibc/glibc-rh737778.patch [deleted file]
src/patches/glibc/glibc-rh738665.patch [deleted file]
src/patches/glibc/glibc-rh738763.patch [deleted file]
src/patches/glibc/glibc-rh739184.patch [deleted file]
src/patches/glibc/glibc-rh739971.patch [deleted file]
src/patches/glibc/glibc-rh740506-2.patch [deleted file]
src/patches/glibc/glibc-rh740506.patch [deleted file]
src/patches/glibc/glibc-rh749188.patch [deleted file]
src/patches/glibc/glibc-rh750531.patch [deleted file]
src/patches/glibc/glibc-rh751750.patch [deleted file]
src/patches/glibc/glibc-rh752122.patch [deleted file]
src/patches/glibc/glibc-rh757888.patch [deleted file]
src/patches/glibc/glibc-rh766513.patch [deleted file]
src/patches/glibc/glibc-rh767146.patch [deleted file]
src/patches/glibc/glibc-rh767693-2.patch [deleted file]
src/patches/glibc/glibc-rh767693.patch [deleted file]
src/patches/glibc/glibc-rh767746.patch [deleted file]
src/patches/glibc/glibc-rh771342.patch [deleted file]
src/patches/glibc/glibc-rh782585.patch [deleted file]
src/patches/glibc/glibc-rh784402.patch [deleted file]
src/patches/glibc/glibc-rh785984.patch [deleted file]
src/patches/glibc/glibc-rh788959-2.patch [deleted file]
src/patches/glibc/glibc-rh788959.patch [deleted file]
src/patches/glibc/glibc-rh789189.patch [deleted file]
src/patches/glibc/glibc-rh789209.patch [deleted file]
src/patches/glibc/glibc-rh789238-2.patch [deleted file]
src/patches/glibc/glibc-rh789238.patch [deleted file]
src/patches/glibc/glibc-rh794817-2.patch [deleted file]
src/patches/glibc/glibc-rh794817.patch [deleted file]
src/patches/glibc/glibc-rh795498.patch [deleted file]
src/patches/glibc/glibc-rh797094-1.patch [deleted file]
src/patches/glibc/glibc-rh797094-2.patch [deleted file]
src/patches/glibc/glibc-rh804686.patch [deleted file]
src/patches/glibc/glibc-rh804689.patch [deleted file]
src/patches/glibc/glibc-rh806404.patch [deleted file]
src/patches/glibc/glibc-rh808337.patch [deleted file]
src/patches/glibc/glibc-rh808545.patch [deleted file]
src/patches/glibc/glibc-rh809602.patch [deleted file]
src/patches/glibc/glibc-rh809726.patch [deleted file]
src/patches/glibc/glibc-rh823909.patch [deleted file]
src/patches/glibc/glibc-rh826149.patch [deleted file]
src/patches/glibc/glibc-rh827362.patch [deleted file]
src/patches/glibc/glibc-rh830127.patch [deleted file]
src/patches/glibc/glibc-rh832516.patch [deleted file]
src/patches/glibc/glibc-rh832694.patch [deleted file]
src/patches/glibc/glibc-rh833717.patch [deleted file]
src/patches/glibc/glibc-rh834386-2.patch [deleted file]
src/patches/glibc/glibc-rh834386.patch [deleted file]
src/patches/glibc/glibc-rh837695.patch [deleted file]
src/patches/glibc/glibc-rh837918.patch [deleted file]
src/patches/glibc/glibc-rh841787.patch [deleted file]
src/patches/glibc/glibc-rh843673.patch [deleted file]
src/patches/glibc/glibc-rh845218.patch [deleted file]
src/patches/glibc/glibc-rh846342.patch [deleted file]
src/patches/glibc/glibc-rh847932.patch [deleted file]
src/patches/glibc/glibc-rh848082.patch [deleted file]
src/patches/glibc/glibc-rh848748.patch [deleted file]
src/patches/glibc/glibc-rh849203.patch [deleted file]
src/patches/glibc/glibc-rh849651.patch [deleted file]
src/patches/glibc/glibc-rh851470.patch [deleted file]
src/patches/glibc/glibc-rh852445.patch [deleted file]
src/patches/glibc/glibc-rh859965.patch [deleted file]
src/patches/glibc/glibc-rh861167.patch [deleted file]
src/patches/glibc/glibc-rh862094.patch [deleted file]
src/patches/glibc/glibc-rh863384.patch [deleted file]
src/patches/glibc/glibc-rh863453.patch [deleted file]
src/patches/glibc/glibc-rh864322.patch [deleted file]
src/patches/glibc/glibc-rh867679.patch [deleted file]
src/patches/glibc/glibc-rh868808.patch [deleted file]
src/patches/glibc/glibc-rh886968.patch [deleted file]
src/patches/glibc/glibc-rh905575.patch [deleted file]
src/patches/glibc/glibc-rh905874.patch [deleted file]
src/patches/glibc/glibc-rh905941.patch [deleted file]
src/patches/glibc/glibc-rh916986.patch [deleted file]
src/patches/glibc/glibc-rh919562.patch [deleted file]
src/patches/glibc/glibc-rh928318.patch [deleted file]
src/patches/glibc/glibc-rh929302.patch [deleted file]
src/patches/glibc/glibc-rh929388.patch [deleted file]
src/patches/glibc/glibc-rh947882.patch [deleted file]
src/patches/glibc/glibc-rh952422.patch [deleted file]
src/patches/glibc/glibc-rh966775.patch [deleted file]
src/patches/glibc/glibc-rh966778.patch [deleted file]
src/patches/glibc/glibc-rh970090.patch [deleted file]
src/patches/glibc/glibc-rh970776.patch [deleted file]
src/patches/glibc/glibc-rh978098.patch [deleted file]
src/patches/glibc/glibc-rh981942.patch [deleted file]
src/patches/glibc/glibc-rh988931.patch [deleted file]
src/patches/glibc/glibc-rh995972.patch [deleted file]
src/patches/grub2-remove-gets.patch [new file with mode: 0644]
src/patches/imspector-20101008-ssl.patch [deleted file]
src/patches/openssl-1.0.2a-rpmbuild.patch
src/patches/p7zip_change_install_folder.patch [new file with mode: 0644]
src/patches/pam-0.99.10.0-rlimit-build-fix.patch [new file with mode: 0644]
src/patches/perl-Fix-Errno.pm-generation-for-gcc-5.0.patch [new file with mode: 0644]
src/patches/python-2.7.13-getentropy.patch [new file with mode: 0644]
src/patches/u-boot-c99-inline-fix.patch [new file with mode: 0644]
src/patches/u-boot-support-gcc-6.patch [new file with mode: 0644]
src/scripts/archive.files
src/stripper
tools/make-functions

diff --git a/config/backup/includes/imspector b/config/backup/includes/imspector
deleted file mode 100644 (file)
index cc7ef16..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-/etc/imspector/acl.txt
-/etc/imspector/badwords.txt
-/etc/imspector/imspector.conf
\ No newline at end of file
index 5e5417d0971f4ec19f93a0d724611681e4831042..f448c34befc7cf8af483f674f02665c0203d6a54 100644 (file)
@@ -465,6 +465,7 @@ sub checksubnets
        my $ccdname=$_[0];
        my $ccdnet=$_[1];
        my $ownnet=$_[2];
+       my $checktype=$_[3];
        my $errormessage;
        my ($ip,$cidr)=split(/\//,$ccdnet);
        $cidr=&iporsubtocidr($cidr);
@@ -542,10 +543,15 @@ sub checksubnets
        }
        
        #call check_net_internal
-       &General::check_net_internal($ccdnet);
+       if ($checktype eq "exact")
+       {
+               &General::check_net_internal_exact($ccdnet);
+       }else{
+               &General::check_net_internal_range($ccdnet);
+       }
 }
 
-sub check_net_internal{
+sub check_net_internal_range{
        my $network=shift;
        my ($ip,$cidr)=split(/\//,$network);
        my %ownnet=();
@@ -559,6 +565,20 @@ sub check_net_internal{
        if (($ownnet{'RED_NETADDRESS'}          ne '' && $ownnet{'RED_NETADDRESS'}              ne '0.0.0.0') && &IpInSubnet($ip,$ownnet{'RED_NETADDRESS'},&iporsubtodec($ownnet{'RED_NETMASK'}))){ $errormessage=$Lang::tr{'ccd err red'};return $errormessage;}
 }
 
+sub check_net_internal_exact{
+       my $network=shift;
+       my ($ip,$cidr)=split(/\//,$network);
+       my %ownnet=();
+       my $errormessage;
+       $cidr=&iporsubtocidr($cidr);
+       #check if we use one of ipfire's networks (green,orange,blue)
+       &readhash("${General::swroot}/ethernet/settings", \%ownnet);
+       if (($ownnet{'GREEN_NETADDRESS'}        ne '' && $ownnet{'GREEN_NETADDRESS'}    ne '0.0.0.0') && &Network::network_equal("$ownnet{'GREEN_NETADDRESS'}/$ownnet{'GREEN_NETMASK'}", $network)){ $errormessage=$Lang::tr{'ccd err green'};return $errormessage;}
+       if (($ownnet{'ORANGE_NETADDRESS'}       ne '' && $ownnet{'ORANGE_NETADDRESS'}   ne '0.0.0.0') && &Network::network_equal("$ownnet{'ORANGE_NETADDRESS'}/$ownnet{'ORANGE_NETMASK'}", $network)){ $errormessage=$Lang::tr{'ccd err orange'};return $errormessage;}
+       if (($ownnet{'BLUE_NETADDRESS'}         ne '' && $ownnet{'BLUE_NETADDRESS'}     ne '0.0.0.0') && &Network::network_equal("$ownnet{'BLUE_NETADDRESS'}/$ownnet{'BLUE_NETMASK'}", $network)){ $errormessage=$Lang::tr{'ccd err blue'};return $errormessage;}
+       if (($ownnet{'RED_NETADDRESS'}          ne '' && $ownnet{'RED_NETADDRESS'}              ne '0.0.0.0') && &Network::network_equal("$ownnet{'RED_NETADDRESS'}/$ownnet{'RED_NETMASK'}", $network)){ $errormessage=$Lang::tr{'ccd err red'};return $errormessage;}
+}
+
 sub validport
 {
        $_ = $_[0];
diff --git a/config/imspector/imspector.conf b/config/imspector/imspector.conf
deleted file mode 100644 (file)
index a37241d..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-# The listening port for redirected connections
-port=16667
-
-# For dropping privs - you probably want to do this.
-user=nobody
-group=nobody
-
-# Prefix and postfix to all responses using all responder plugins
-response_prefix=Message from IMSpector: -=
-response_postfix==-
-
-# Will load enabled plugins in plugin_dir
-icq_protocol=on
-irc_protocol=on
-msn_protocol=on
-yahoo_protocol=on
-gg_protocol=on
-jabber_protocol=on
-
-# Location where the file logging plugin will start from.
-file_logging_dir=/var/log/imspector/
-log_typing_events=on
-
-plugin_dir=/usr/lib/imspector
diff --git a/config/menu/EX-imspector.menu b/config/menu/EX-imspector.menu
deleted file mode 100644 (file)
index c88866f..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-    $subipfire->{'30.imspector'} = {'caption' => 'Imspector',
-                                 'uri' => '/cgi-bin/imspector.cgi',
-                                 'title' => 'Imspector',
-                                 'enabled' => 1,
-                                 };
index 4a9cbc086acec3d9b082281b9a1a0ce2d3e05cda..582758192f48c3554e765cea7ce3eb08f418829e 100644 (file)
@@ -2,6 +2,9 @@
 # LAN network interfaces IPs / networks
 # there can be multiple listening ips for SSDP traffic.
 # should be under the form nnn.nnn.nnn.nnn/nn
+listening_ip=green0
+#listening_ip=green1
+
 # HTTP is available on all interfaces
 # port for HTTP (descriptions and SOAP) traffic. set 0 for autoselect.
 port=0
index b398eb974505539160f8aa2b3f3a3c5b46567ad3..3e28ae7445b6f032c12c0d69d02814eb264ba451 100644 (file)
@@ -54,6 +54,7 @@
 #usr/share/autoconf/m4sugar/m4sugar.m4f
 #usr/share/autoconf/m4sugar/version.m4
 #usr/share/info/autoconf.info
+#usr/share/info/standards.info
 #usr/share/man/man1/autoconf.1
 #usr/share/man/man1/autoheader.1
 #usr/share/man/man1/autom4te.1
index 145c177897dc1f200939b72778401f780b904b7a..2e983a862c6a8cde7a9613972ff112f9f9c3418d 100644 (file)
@@ -1,6 +1,6 @@
 usr/bin/bc
 usr/bin/dc
-#usr/info/bc.info
-#usr/info/dc.info
-#usr/man/man1/bc.1
-#usr/man/man1/dc.1
+#usr/share/info/bc.info
+#usr/share/info/dc.info
+#usr/share/man/man1/bc.1
+#usr/share/man/man1/dc.1
index 57cb128b17321a569d5a39d7ff37fcb2455a1b43..3ce23a71cfabd8a1cf3cea4ac695700a777c1efc 100644 (file)
@@ -59,7 +59,9 @@
 #usr/include/boost/accumulators/statistics/pot_tail_mean.hpp
 #usr/include/boost/accumulators/statistics/rolling_count.hpp
 #usr/include/boost/accumulators/statistics/rolling_mean.hpp
+#usr/include/boost/accumulators/statistics/rolling_moment.hpp
 #usr/include/boost/accumulators/statistics/rolling_sum.hpp
+#usr/include/boost/accumulators/statistics/rolling_variance.hpp
 #usr/include/boost/accumulators/statistics/rolling_window.hpp
 #usr/include/boost/accumulators/statistics/skewness.hpp
 #usr/include/boost/accumulators/statistics/stats.hpp
@@ -95,6 +97,7 @@
 #usr/include/boost/accumulators/statistics/with_error.hpp
 #usr/include/boost/accumulators/statistics_fwd.hpp
 #usr/include/boost/algorithm
+#usr/include/boost/algorithm/algorithm.hpp
 #usr/include/boost/algorithm/clamp.hpp
 #usr/include/boost/algorithm/cxx11
 #usr/include/boost/algorithm/cxx11/all_of.hpp
 #usr/include/boost/algorithm/cxx14/mismatch.hpp
 #usr/include/boost/algorithm/gather.hpp
 #usr/include/boost/algorithm/hex.hpp
+#usr/include/boost/algorithm/is_palindrome.hpp
 #usr/include/boost/algorithm/minmax.hpp
 #usr/include/boost/algorithm/minmax_element.hpp
 #usr/include/boost/algorithm/searching
 #usr/include/boost/algorithm/searching/detail/bm_traits.hpp
 #usr/include/boost/algorithm/searching/detail/debugging.hpp
 #usr/include/boost/algorithm/searching/knuth_morris_pratt.hpp
+#usr/include/boost/algorithm/sort_subrange.hpp
 #usr/include/boost/algorithm/string
 #usr/include/boost/algorithm/string.hpp
 #usr/include/boost/algorithm/string/case_conv.hpp
 #usr/include/boost/algorithm/string/trim_all.hpp
 #usr/include/boost/algorithm/string/yes_no_type.hpp
 #usr/include/boost/algorithm/string_regex.hpp
+#usr/include/boost/align
+#usr/include/boost/align.hpp
+#usr/include/boost/align/align.hpp
+#usr/include/boost/align/align_down.hpp
+#usr/include/boost/align/align_up.hpp
+#usr/include/boost/align/aligned_alloc.hpp
+#usr/include/boost/align/aligned_allocator.hpp
+#usr/include/boost/align/aligned_allocator_adaptor.hpp
+#usr/include/boost/align/aligned_allocator_adaptor_forward.hpp
+#usr/include/boost/align/aligned_allocator_forward.hpp
+#usr/include/boost/align/aligned_delete.hpp
+#usr/include/boost/align/aligned_delete_forward.hpp
+#usr/include/boost/align/alignment_of.hpp
+#usr/include/boost/align/alignment_of_forward.hpp
+#usr/include/boost/align/assume_aligned.hpp
+#usr/include/boost/align/detail
+#usr/include/boost/align/detail/addressof.hpp
+#usr/include/boost/align/detail/align.hpp
+#usr/include/boost/align/detail/align_cxx11.hpp
+#usr/include/boost/align/detail/align_down.hpp
+#usr/include/boost/align/detail/align_up.hpp
+#usr/include/boost/align/detail/aligned_alloc.hpp
+#usr/include/boost/align/detail/aligned_alloc_android.hpp
+#usr/include/boost/align/detail/aligned_alloc_macos.hpp
+#usr/include/boost/align/detail/aligned_alloc_msvc.hpp
+#usr/include/boost/align/detail/aligned_alloc_posix.hpp
+#usr/include/boost/align/detail/aligned_alloc_sunos.hpp
+#usr/include/boost/align/detail/alignment_of.hpp
+#usr/include/boost/align/detail/alignment_of_clang.hpp
+#usr/include/boost/align/detail/alignment_of_codegear.hpp
+#usr/include/boost/align/detail/alignment_of_cxx11.hpp
+#usr/include/boost/align/detail/alignment_of_gcc.hpp
+#usr/include/boost/align/detail/alignment_of_msvc.hpp
+#usr/include/boost/align/detail/assume_aligned.hpp
+#usr/include/boost/align/detail/assume_aligned_clang.hpp
+#usr/include/boost/align/detail/assume_aligned_gcc.hpp
+#usr/include/boost/align/detail/assume_aligned_intel.hpp
+#usr/include/boost/align/detail/assume_aligned_msvc.hpp
+#usr/include/boost/align/detail/element_type.hpp
+#usr/include/boost/align/detail/integral_constant.hpp
+#usr/include/boost/align/detail/is_aligned.hpp
+#usr/include/boost/align/detail/is_alignment.hpp
+#usr/include/boost/align/detail/is_alignment_constant.hpp
+#usr/include/boost/align/detail/max_align.hpp
+#usr/include/boost/align/detail/max_objects.hpp
+#usr/include/boost/align/detail/max_size.hpp
+#usr/include/boost/align/detail/min_size.hpp
+#usr/include/boost/align/is_aligned.hpp
 #usr/include/boost/aligned_storage.hpp
 #usr/include/boost/any.hpp
 #usr/include/boost/archive
-#usr/include/boost/archive/add_facet.hpp
 #usr/include/boost/archive/archive_exception.hpp
 #usr/include/boost/archive/basic_archive.hpp
 #usr/include/boost/archive/basic_binary_iarchive.hpp
 #usr/include/boost/archive/detail/archive_serializer_map.hpp
 #usr/include/boost/archive/detail/auto_link_archive.hpp
 #usr/include/boost/archive/detail/auto_link_warchive.hpp
-#usr/include/boost/archive/detail/basic_archive_impl.hpp
-#usr/include/boost/archive/detail/basic_config.hpp
 #usr/include/boost/archive/detail/basic_iarchive.hpp
 #usr/include/boost/archive/detail/basic_iserializer.hpp
 #usr/include/boost/archive/detail/basic_oarchive.hpp
 #usr/include/boost/archive/detail/common_iarchive.hpp
 #usr/include/boost/archive/detail/common_oarchive.hpp
 #usr/include/boost/archive/detail/decl.hpp
+#usr/include/boost/archive/detail/helper_collection.hpp
 #usr/include/boost/archive/detail/interface_iarchive.hpp
 #usr/include/boost/archive/detail/interface_oarchive.hpp
 #usr/include/boost/archive/detail/iserializer.hpp
 #usr/include/boost/archive/iterators/dataflow.hpp
 #usr/include/boost/archive/iterators/dataflow_exception.hpp
 #usr/include/boost/archive/iterators/escape.hpp
-#usr/include/boost/archive/iterators/head_iterator.hpp
 #usr/include/boost/archive/iterators/insert_linebreaks.hpp
 #usr/include/boost/archive/iterators/istream_iterator.hpp
 #usr/include/boost/archive/iterators/mb_from_wchar.hpp
 #usr/include/boost/archive/polymorphic_xml_oarchive.hpp
 #usr/include/boost/archive/polymorphic_xml_wiarchive.hpp
 #usr/include/boost/archive/polymorphic_xml_woarchive.hpp
-#usr/include/boost/archive/shared_ptr_helper.hpp
 #usr/include/boost/archive/text_iarchive.hpp
 #usr/include/boost/archive/text_oarchive.hpp
 #usr/include/boost/archive/text_wiarchive.hpp
 #usr/include/boost/asio/detail/limits.hpp
 #usr/include/boost/asio/detail/local_free_on_block_exit.hpp
 #usr/include/boost/asio/detail/macos_fenced_block.hpp
+#usr/include/boost/asio/detail/memory.hpp
 #usr/include/boost/asio/detail/mutex.hpp
 #usr/include/boost/asio/detail/noncopyable.hpp
 #usr/include/boost/asio/detail/null_event.hpp
 #usr/include/boost/asio/detail/solaris_fenced_block.hpp
 #usr/include/boost/asio/detail/static_mutex.hpp
 #usr/include/boost/asio/detail/std_event.hpp
+#usr/include/boost/asio/detail/std_fenced_block.hpp
 #usr/include/boost/asio/detail/std_mutex.hpp
 #usr/include/boost/asio/detail/std_static_mutex.hpp
 #usr/include/boost/asio/detail/std_thread.hpp
 #usr/include/boost/asio/detail/win_iocp_overlapped_ptr.hpp
 #usr/include/boost/asio/detail/win_iocp_serial_port_service.hpp
 #usr/include/boost/asio/detail/win_iocp_socket_accept_op.hpp
+#usr/include/boost/asio/detail/win_iocp_socket_connect_op.hpp
 #usr/include/boost/asio/detail/win_iocp_socket_recv_op.hpp
 #usr/include/boost/asio/detail/win_iocp_socket_recvfrom_op.hpp
 #usr/include/boost/asio/detail/win_iocp_socket_recvmsg_op.hpp
 #usr/include/boost/asio/detail/win_static_mutex.hpp
 #usr/include/boost/asio/detail/win_thread.hpp
 #usr/include/boost/asio/detail/win_tss_ptr.hpp
-#usr/include/boost/asio/detail/wince_thread.hpp
+#usr/include/boost/asio/detail/winapi_thread.hpp
 #usr/include/boost/asio/detail/winrt_async_manager.hpp
 #usr/include/boost/asio/detail/winrt_async_op.hpp
 #usr/include/boost/asio/detail/winrt_resolve_op.hpp
 #usr/include/boost/atomic
 #usr/include/boost/atomic.hpp
 #usr/include/boost/atomic/atomic.hpp
+#usr/include/boost/atomic/atomic_flag.hpp
+#usr/include/boost/atomic/capabilities.hpp
 #usr/include/boost/atomic/detail
-#usr/include/boost/atomic/detail/base.hpp
-#usr/include/boost/atomic/detail/cas128strong.hpp
-#usr/include/boost/atomic/detail/cas32strong.hpp
-#usr/include/boost/atomic/detail/cas32weak.hpp
-#usr/include/boost/atomic/detail/cas64strong-ptr.hpp
-#usr/include/boost/atomic/detail/cas64strong.hpp
+#usr/include/boost/atomic/detail/atomic_flag.hpp
+#usr/include/boost/atomic/detail/atomic_template.hpp
+#usr/include/boost/atomic/detail/bitwise_cast.hpp
+#usr/include/boost/atomic/detail/caps_gcc_alpha.hpp
+#usr/include/boost/atomic/detail/caps_gcc_arm.hpp
+#usr/include/boost/atomic/detail/caps_gcc_atomic.hpp
+#usr/include/boost/atomic/detail/caps_gcc_ppc.hpp
+#usr/include/boost/atomic/detail/caps_gcc_sparc.hpp
+#usr/include/boost/atomic/detail/caps_gcc_sync.hpp
+#usr/include/boost/atomic/detail/caps_gcc_x86.hpp
+#usr/include/boost/atomic/detail/caps_linux_arm.hpp
+#usr/include/boost/atomic/detail/caps_msvc_arm.hpp
+#usr/include/boost/atomic/detail/caps_msvc_x86.hpp
+#usr/include/boost/atomic/detail/caps_windows.hpp
 #usr/include/boost/atomic/detail/config.hpp
-#usr/include/boost/atomic/detail/gcc-alpha.hpp
-#usr/include/boost/atomic/detail/gcc-armv6plus.hpp
-#usr/include/boost/atomic/detail/gcc-atomic.hpp
-#usr/include/boost/atomic/detail/gcc-cas.hpp
-#usr/include/boost/atomic/detail/gcc-ppc.hpp
-#usr/include/boost/atomic/detail/gcc-sparcv9.hpp
-#usr/include/boost/atomic/detail/gcc-x86.hpp
-#usr/include/boost/atomic/detail/generic-cas.hpp
+#usr/include/boost/atomic/detail/int_sizes.hpp
 #usr/include/boost/atomic/detail/interlocked.hpp
 #usr/include/boost/atomic/detail/link.hpp
-#usr/include/boost/atomic/detail/linux-arm.hpp
 #usr/include/boost/atomic/detail/lockpool.hpp
+#usr/include/boost/atomic/detail/operations.hpp
+#usr/include/boost/atomic/detail/operations_fwd.hpp
+#usr/include/boost/atomic/detail/operations_lockfree.hpp
+#usr/include/boost/atomic/detail/ops_cas_based.hpp
+#usr/include/boost/atomic/detail/ops_emulated.hpp
+#usr/include/boost/atomic/detail/ops_extending_cas_based.hpp
+#usr/include/boost/atomic/detail/ops_gcc_alpha.hpp
+#usr/include/boost/atomic/detail/ops_gcc_arm.hpp
+#usr/include/boost/atomic/detail/ops_gcc_atomic.hpp
+#usr/include/boost/atomic/detail/ops_gcc_ppc.hpp
+#usr/include/boost/atomic/detail/ops_gcc_sparc.hpp
+#usr/include/boost/atomic/detail/ops_gcc_sync.hpp
+#usr/include/boost/atomic/detail/ops_gcc_x86.hpp
+#usr/include/boost/atomic/detail/ops_gcc_x86_dcas.hpp
+#usr/include/boost/atomic/detail/ops_linux_arm.hpp
+#usr/include/boost/atomic/detail/ops_msvc_arm.hpp
+#usr/include/boost/atomic/detail/ops_msvc_common.hpp
+#usr/include/boost/atomic/detail/ops_msvc_x86.hpp
+#usr/include/boost/atomic/detail/ops_windows.hpp
+#usr/include/boost/atomic/detail/pause.hpp
 #usr/include/boost/atomic/detail/platform.hpp
-#usr/include/boost/atomic/detail/type-classification.hpp
-#usr/include/boost/atomic/detail/windows.hpp
+#usr/include/boost/atomic/detail/storage_type.hpp
+#usr/include/boost/atomic/fences.hpp
 #usr/include/boost/bimap
 #usr/include/boost/bimap.hpp
 #usr/include/boost/bimap/bimap.hpp
 #usr/include/boost/compatibility/cpp_c_headers/cwchar
 #usr/include/boost/compatibility/cpp_c_headers/cwctype
 #usr/include/boost/compressed_pair.hpp
+#usr/include/boost/compute
+#usr/include/boost/compute.hpp
+#usr/include/boost/compute/algorithm
+#usr/include/boost/compute/algorithm.hpp
+#usr/include/boost/compute/algorithm/accumulate.hpp
+#usr/include/boost/compute/algorithm/adjacent_difference.hpp
+#usr/include/boost/compute/algorithm/adjacent_find.hpp
+#usr/include/boost/compute/algorithm/all_of.hpp
+#usr/include/boost/compute/algorithm/any_of.hpp
+#usr/include/boost/compute/algorithm/binary_search.hpp
+#usr/include/boost/compute/algorithm/copy.hpp
+#usr/include/boost/compute/algorithm/copy_if.hpp
+#usr/include/boost/compute/algorithm/copy_n.hpp
+#usr/include/boost/compute/algorithm/count.hpp
+#usr/include/boost/compute/algorithm/count_if.hpp
+#usr/include/boost/compute/algorithm/detail
+#usr/include/boost/compute/algorithm/detail/balanced_path.hpp
+#usr/include/boost/compute/algorithm/detail/binary_find.hpp
+#usr/include/boost/compute/algorithm/detail/compact.hpp
+#usr/include/boost/compute/algorithm/detail/copy_on_device.hpp
+#usr/include/boost/compute/algorithm/detail/copy_to_device.hpp
+#usr/include/boost/compute/algorithm/detail/copy_to_host.hpp
+#usr/include/boost/compute/algorithm/detail/count_if_with_ballot.hpp
+#usr/include/boost/compute/algorithm/detail/count_if_with_reduce.hpp
+#usr/include/boost/compute/algorithm/detail/count_if_with_threads.hpp
+#usr/include/boost/compute/algorithm/detail/find_extrema.hpp
+#usr/include/boost/compute/algorithm/detail/find_extrema_on_cpu.hpp
+#usr/include/boost/compute/algorithm/detail/find_extrema_with_atomics.hpp
+#usr/include/boost/compute/algorithm/detail/find_extrema_with_reduce.hpp
+#usr/include/boost/compute/algorithm/detail/find_if_with_atomics.hpp
+#usr/include/boost/compute/algorithm/detail/inplace_reduce.hpp
+#usr/include/boost/compute/algorithm/detail/insertion_sort.hpp
+#usr/include/boost/compute/algorithm/detail/merge_path.hpp
+#usr/include/boost/compute/algorithm/detail/merge_sort_on_cpu.hpp
+#usr/include/boost/compute/algorithm/detail/merge_sort_on_gpu.hpp
+#usr/include/boost/compute/algorithm/detail/merge_with_merge_path.hpp
+#usr/include/boost/compute/algorithm/detail/radix_sort.hpp
+#usr/include/boost/compute/algorithm/detail/random_fill.hpp
+#usr/include/boost/compute/algorithm/detail/reduce_by_key.hpp
+#usr/include/boost/compute/algorithm/detail/reduce_by_key_with_scan.hpp
+#usr/include/boost/compute/algorithm/detail/reduce_on_cpu.hpp
+#usr/include/boost/compute/algorithm/detail/reduce_on_gpu.hpp
+#usr/include/boost/compute/algorithm/detail/scan.hpp
+#usr/include/boost/compute/algorithm/detail/scan_on_cpu.hpp
+#usr/include/boost/compute/algorithm/detail/scan_on_gpu.hpp
+#usr/include/boost/compute/algorithm/detail/search_all.hpp
+#usr/include/boost/compute/algorithm/detail/serial_accumulate.hpp
+#usr/include/boost/compute/algorithm/detail/serial_count_if.hpp
+#usr/include/boost/compute/algorithm/detail/serial_find_extrema.hpp
+#usr/include/boost/compute/algorithm/detail/serial_merge.hpp
+#usr/include/boost/compute/algorithm/detail/serial_reduce.hpp
+#usr/include/boost/compute/algorithm/detail/serial_reduce_by_key.hpp
+#usr/include/boost/compute/algorithm/detail/serial_scan.hpp
+#usr/include/boost/compute/algorithm/equal.hpp
+#usr/include/boost/compute/algorithm/equal_range.hpp
+#usr/include/boost/compute/algorithm/exclusive_scan.hpp
+#usr/include/boost/compute/algorithm/fill.hpp
+#usr/include/boost/compute/algorithm/fill_n.hpp
+#usr/include/boost/compute/algorithm/find.hpp
+#usr/include/boost/compute/algorithm/find_end.hpp
+#usr/include/boost/compute/algorithm/find_if.hpp
+#usr/include/boost/compute/algorithm/find_if_not.hpp
+#usr/include/boost/compute/algorithm/for_each.hpp
+#usr/include/boost/compute/algorithm/for_each_n.hpp
+#usr/include/boost/compute/algorithm/gather.hpp
+#usr/include/boost/compute/algorithm/generate.hpp
+#usr/include/boost/compute/algorithm/generate_n.hpp
+#usr/include/boost/compute/algorithm/includes.hpp
+#usr/include/boost/compute/algorithm/inclusive_scan.hpp
+#usr/include/boost/compute/algorithm/inner_product.hpp
+#usr/include/boost/compute/algorithm/inplace_merge.hpp
+#usr/include/boost/compute/algorithm/iota.hpp
+#usr/include/boost/compute/algorithm/is_partitioned.hpp
+#usr/include/boost/compute/algorithm/is_permutation.hpp
+#usr/include/boost/compute/algorithm/is_sorted.hpp
+#usr/include/boost/compute/algorithm/lexicographical_compare.hpp
+#usr/include/boost/compute/algorithm/lower_bound.hpp
+#usr/include/boost/compute/algorithm/max_element.hpp
+#usr/include/boost/compute/algorithm/merge.hpp
+#usr/include/boost/compute/algorithm/min_element.hpp
+#usr/include/boost/compute/algorithm/minmax_element.hpp
+#usr/include/boost/compute/algorithm/mismatch.hpp
+#usr/include/boost/compute/algorithm/next_permutation.hpp
+#usr/include/boost/compute/algorithm/none_of.hpp
+#usr/include/boost/compute/algorithm/nth_element.hpp
+#usr/include/boost/compute/algorithm/partial_sum.hpp
+#usr/include/boost/compute/algorithm/partition.hpp
+#usr/include/boost/compute/algorithm/partition_copy.hpp
+#usr/include/boost/compute/algorithm/partition_point.hpp
+#usr/include/boost/compute/algorithm/prev_permutation.hpp
+#usr/include/boost/compute/algorithm/random_shuffle.hpp
+#usr/include/boost/compute/algorithm/reduce.hpp
+#usr/include/boost/compute/algorithm/reduce_by_key.hpp
+#usr/include/boost/compute/algorithm/remove.hpp
+#usr/include/boost/compute/algorithm/remove_if.hpp
+#usr/include/boost/compute/algorithm/replace.hpp
+#usr/include/boost/compute/algorithm/replace_copy.hpp
+#usr/include/boost/compute/algorithm/reverse.hpp
+#usr/include/boost/compute/algorithm/reverse_copy.hpp
+#usr/include/boost/compute/algorithm/rotate.hpp
+#usr/include/boost/compute/algorithm/rotate_copy.hpp
+#usr/include/boost/compute/algorithm/scatter.hpp
+#usr/include/boost/compute/algorithm/scatter_if.hpp
+#usr/include/boost/compute/algorithm/search.hpp
+#usr/include/boost/compute/algorithm/search_n.hpp
+#usr/include/boost/compute/algorithm/set_difference.hpp
+#usr/include/boost/compute/algorithm/set_intersection.hpp
+#usr/include/boost/compute/algorithm/set_symmetric_difference.hpp
+#usr/include/boost/compute/algorithm/set_union.hpp
+#usr/include/boost/compute/algorithm/sort.hpp
+#usr/include/boost/compute/algorithm/sort_by_key.hpp
+#usr/include/boost/compute/algorithm/stable_partition.hpp
+#usr/include/boost/compute/algorithm/stable_sort.hpp
+#usr/include/boost/compute/algorithm/stable_sort_by_key.hpp
+#usr/include/boost/compute/algorithm/swap_ranges.hpp
+#usr/include/boost/compute/algorithm/transform.hpp
+#usr/include/boost/compute/algorithm/transform_if.hpp
+#usr/include/boost/compute/algorithm/transform_reduce.hpp
+#usr/include/boost/compute/algorithm/unique.hpp
+#usr/include/boost/compute/algorithm/unique_copy.hpp
+#usr/include/boost/compute/algorithm/upper_bound.hpp
+#usr/include/boost/compute/allocator
+#usr/include/boost/compute/allocator.hpp
+#usr/include/boost/compute/allocator/buffer_allocator.hpp
+#usr/include/boost/compute/allocator/pinned_allocator.hpp
+#usr/include/boost/compute/async
+#usr/include/boost/compute/async.hpp
+#usr/include/boost/compute/async/future.hpp
+#usr/include/boost/compute/async/wait.hpp
+#usr/include/boost/compute/async/wait_guard.hpp
+#usr/include/boost/compute/buffer.hpp
+#usr/include/boost/compute/cl.hpp
+#usr/include/boost/compute/cl_ext.hpp
+#usr/include/boost/compute/closure.hpp
+#usr/include/boost/compute/command_queue.hpp
+#usr/include/boost/compute/config.hpp
+#usr/include/boost/compute/container
+#usr/include/boost/compute/container.hpp
+#usr/include/boost/compute/container/array.hpp
+#usr/include/boost/compute/container/basic_string.hpp
+#usr/include/boost/compute/container/detail
+#usr/include/boost/compute/container/detail/scalar.hpp
+#usr/include/boost/compute/container/dynamic_bitset.hpp
+#usr/include/boost/compute/container/flat_map.hpp
+#usr/include/boost/compute/container/flat_set.hpp
+#usr/include/boost/compute/container/mapped_view.hpp
+#usr/include/boost/compute/container/stack.hpp
+#usr/include/boost/compute/container/string.hpp
+#usr/include/boost/compute/container/valarray.hpp
+#usr/include/boost/compute/container/vector.hpp
+#usr/include/boost/compute/context.hpp
+#usr/include/boost/compute/core.hpp
+#usr/include/boost/compute/detail
+#usr/include/boost/compute/detail/assert_cl_success.hpp
+#usr/include/boost/compute/detail/buffer_value.hpp
+#usr/include/boost/compute/detail/device_ptr.hpp
+#usr/include/boost/compute/detail/diagnostic.hpp
+#usr/include/boost/compute/detail/duration.hpp
+#usr/include/boost/compute/detail/get_object_info.hpp
+#usr/include/boost/compute/detail/getenv.hpp
+#usr/include/boost/compute/detail/global_static.hpp
+#usr/include/boost/compute/detail/is_buffer_iterator.hpp
+#usr/include/boost/compute/detail/is_contiguous_iterator.hpp
+#usr/include/boost/compute/detail/iterator_plus_distance.hpp
+#usr/include/boost/compute/detail/iterator_range_size.hpp
+#usr/include/boost/compute/detail/iterator_traits.hpp
+#usr/include/boost/compute/detail/literal.hpp
+#usr/include/boost/compute/detail/lru_cache.hpp
+#usr/include/boost/compute/detail/meta_kernel.hpp
+#usr/include/boost/compute/detail/mpl_vector_to_tuple.hpp
+#usr/include/boost/compute/detail/nvidia_compute_capability.hpp
+#usr/include/boost/compute/detail/parameter_cache.hpp
+#usr/include/boost/compute/detail/path.hpp
+#usr/include/boost/compute/detail/print_range.hpp
+#usr/include/boost/compute/detail/read_write_single_value.hpp
+#usr/include/boost/compute/detail/sha1.hpp
+#usr/include/boost/compute/detail/variadic_macros.hpp
+#usr/include/boost/compute/detail/vendor.hpp
+#usr/include/boost/compute/detail/work_size.hpp
+#usr/include/boost/compute/device.hpp
+#usr/include/boost/compute/event.hpp
+#usr/include/boost/compute/exception
+#usr/include/boost/compute/exception.hpp
+#usr/include/boost/compute/exception/context_error.hpp
+#usr/include/boost/compute/exception/no_device_found.hpp
+#usr/include/boost/compute/exception/opencl_error.hpp
+#usr/include/boost/compute/exception/unsupported_extension_error.hpp
+#usr/include/boost/compute/experimental
+#usr/include/boost/compute/experimental/clamp_range.hpp
+#usr/include/boost/compute/experimental/malloc.hpp
+#usr/include/boost/compute/experimental/sort_by_transform.hpp
+#usr/include/boost/compute/experimental/tabulate.hpp
+#usr/include/boost/compute/function.hpp
+#usr/include/boost/compute/functional
+#usr/include/boost/compute/functional.hpp
+#usr/include/boost/compute/functional/as.hpp
+#usr/include/boost/compute/functional/atomic.hpp
+#usr/include/boost/compute/functional/bind.hpp
+#usr/include/boost/compute/functional/common.hpp
+#usr/include/boost/compute/functional/convert.hpp
+#usr/include/boost/compute/functional/detail
+#usr/include/boost/compute/functional/detail/macros.hpp
+#usr/include/boost/compute/functional/detail/nvidia_ballot.hpp
+#usr/include/boost/compute/functional/detail/nvidia_popcount.hpp
+#usr/include/boost/compute/functional/detail/unpack.hpp
+#usr/include/boost/compute/functional/field.hpp
+#usr/include/boost/compute/functional/geometry.hpp
+#usr/include/boost/compute/functional/get.hpp
+#usr/include/boost/compute/functional/hash.hpp
+#usr/include/boost/compute/functional/identity.hpp
+#usr/include/boost/compute/functional/integer.hpp
+#usr/include/boost/compute/functional/logical.hpp
+#usr/include/boost/compute/functional/math.hpp
+#usr/include/boost/compute/functional/operator.hpp
+#usr/include/boost/compute/functional/popcount.hpp
+#usr/include/boost/compute/functional/relational.hpp
+#usr/include/boost/compute/image
+#usr/include/boost/compute/image.hpp
+#usr/include/boost/compute/image/image1d.hpp
+#usr/include/boost/compute/image/image2d.hpp
+#usr/include/boost/compute/image/image3d.hpp
+#usr/include/boost/compute/image/image_format.hpp
+#usr/include/boost/compute/image/image_object.hpp
+#usr/include/boost/compute/image/image_sampler.hpp
+#usr/include/boost/compute/image2d.hpp
+#usr/include/boost/compute/image3d.hpp
+#usr/include/boost/compute/image_format.hpp
+#usr/include/boost/compute/image_sampler.hpp
+#usr/include/boost/compute/interop
+#usr/include/boost/compute/interop/eigen
+#usr/include/boost/compute/interop/eigen.hpp
+#usr/include/boost/compute/interop/eigen/core.hpp
+#usr/include/boost/compute/interop/opencv
+#usr/include/boost/compute/interop/opencv.hpp
+#usr/include/boost/compute/interop/opencv/core.hpp
+#usr/include/boost/compute/interop/opencv/highgui.hpp
+#usr/include/boost/compute/interop/opencv/ocl.hpp
+#usr/include/boost/compute/interop/opengl
+#usr/include/boost/compute/interop/opengl.hpp
+#usr/include/boost/compute/interop/opengl/acquire.hpp
+#usr/include/boost/compute/interop/opengl/cl_gl.hpp
+#usr/include/boost/compute/interop/opengl/cl_gl_ext.hpp
+#usr/include/boost/compute/interop/opengl/context.hpp
+#usr/include/boost/compute/interop/opengl/gl.hpp
+#usr/include/boost/compute/interop/opengl/opengl_buffer.hpp
+#usr/include/boost/compute/interop/opengl/opengl_renderbuffer.hpp
+#usr/include/boost/compute/interop/opengl/opengl_texture.hpp
+#usr/include/boost/compute/interop/qt
+#usr/include/boost/compute/interop/qt.hpp
+#usr/include/boost/compute/interop/qt/qimage.hpp
+#usr/include/boost/compute/interop/qt/qpoint.hpp
+#usr/include/boost/compute/interop/qt/qpointf.hpp
+#usr/include/boost/compute/interop/qt/qtcore.hpp
+#usr/include/boost/compute/interop/qt/qtgui.hpp
+#usr/include/boost/compute/interop/qt/qvector.hpp
+#usr/include/boost/compute/interop/vtk
+#usr/include/boost/compute/interop/vtk.hpp
+#usr/include/boost/compute/interop/vtk/bounds.hpp
+#usr/include/boost/compute/interop/vtk/data_array.hpp
+#usr/include/boost/compute/interop/vtk/matrix4x4.hpp
+#usr/include/boost/compute/interop/vtk/points.hpp
+#usr/include/boost/compute/iterator
+#usr/include/boost/compute/iterator.hpp
+#usr/include/boost/compute/iterator/buffer_iterator.hpp
+#usr/include/boost/compute/iterator/constant_buffer_iterator.hpp
+#usr/include/boost/compute/iterator/constant_iterator.hpp
+#usr/include/boost/compute/iterator/counting_iterator.hpp
+#usr/include/boost/compute/iterator/detail
+#usr/include/boost/compute/iterator/detail/get_base_iterator_buffer.hpp
+#usr/include/boost/compute/iterator/detail/swizzle_iterator.hpp
+#usr/include/boost/compute/iterator/discard_iterator.hpp
+#usr/include/boost/compute/iterator/function_input_iterator.hpp
+#usr/include/boost/compute/iterator/permutation_iterator.hpp
+#usr/include/boost/compute/iterator/strided_iterator.hpp
+#usr/include/boost/compute/iterator/transform_iterator.hpp
+#usr/include/boost/compute/iterator/zip_iterator.hpp
+#usr/include/boost/compute/kernel.hpp
+#usr/include/boost/compute/lambda
+#usr/include/boost/compute/lambda.hpp
+#usr/include/boost/compute/lambda/context.hpp
+#usr/include/boost/compute/lambda/functional.hpp
+#usr/include/boost/compute/lambda/get.hpp
+#usr/include/boost/compute/lambda/make_pair.hpp
+#usr/include/boost/compute/lambda/make_tuple.hpp
+#usr/include/boost/compute/lambda/placeholder.hpp
+#usr/include/boost/compute/lambda/placeholders.hpp
+#usr/include/boost/compute/lambda/result_of.hpp
+#usr/include/boost/compute/memory
+#usr/include/boost/compute/memory.hpp
+#usr/include/boost/compute/memory/local_buffer.hpp
+#usr/include/boost/compute/memory/svm_ptr.hpp
+#usr/include/boost/compute/memory_object.hpp
+#usr/include/boost/compute/pipe.hpp
+#usr/include/boost/compute/platform.hpp
+#usr/include/boost/compute/program.hpp
+#usr/include/boost/compute/random
+#usr/include/boost/compute/random.hpp
+#usr/include/boost/compute/random/bernoulli_distribution.hpp
+#usr/include/boost/compute/random/default_random_engine.hpp
+#usr/include/boost/compute/random/discrete_distribution.hpp
+#usr/include/boost/compute/random/linear_congruential_engine.hpp
+#usr/include/boost/compute/random/mersenne_twister_engine.hpp
+#usr/include/boost/compute/random/normal_distribution.hpp
+#usr/include/boost/compute/random/threefry_engine.hpp
+#usr/include/boost/compute/random/uniform_int_distribution.hpp
+#usr/include/boost/compute/random/uniform_real_distribution.hpp
+#usr/include/boost/compute/source.hpp
+#usr/include/boost/compute/svm.hpp
+#usr/include/boost/compute/system.hpp
+#usr/include/boost/compute/type_traits
+#usr/include/boost/compute/type_traits.hpp
+#usr/include/boost/compute/type_traits/common_type.hpp
+#usr/include/boost/compute/type_traits/detail
+#usr/include/boost/compute/type_traits/detail/capture_traits.hpp
+#usr/include/boost/compute/type_traits/is_device_iterator.hpp
+#usr/include/boost/compute/type_traits/is_fundamental.hpp
+#usr/include/boost/compute/type_traits/is_vector_type.hpp
+#usr/include/boost/compute/type_traits/make_vector_type.hpp
+#usr/include/boost/compute/type_traits/result_of.hpp
+#usr/include/boost/compute/type_traits/scalar_type.hpp
+#usr/include/boost/compute/type_traits/type_definition.hpp
+#usr/include/boost/compute/type_traits/type_name.hpp
+#usr/include/boost/compute/type_traits/vector_size.hpp
+#usr/include/boost/compute/types
+#usr/include/boost/compute/types.hpp
+#usr/include/boost/compute/types/builtin.hpp
+#usr/include/boost/compute/types/complex.hpp
+#usr/include/boost/compute/types/fundamental.hpp
+#usr/include/boost/compute/types/pair.hpp
+#usr/include/boost/compute/types/struct.hpp
+#usr/include/boost/compute/types/tuple.hpp
+#usr/include/boost/compute/user_event.hpp
+#usr/include/boost/compute/utility
+#usr/include/boost/compute/utility.hpp
+#usr/include/boost/compute/utility/dim.hpp
+#usr/include/boost/compute/utility/extents.hpp
+#usr/include/boost/compute/utility/invoke.hpp
+#usr/include/boost/compute/utility/program_cache.hpp
+#usr/include/boost/compute/utility/source.hpp
+#usr/include/boost/compute/utility/wait_list.hpp
+#usr/include/boost/compute/version.hpp
+#usr/include/boost/compute/wait_list.hpp
 #usr/include/boost/concept
 #usr/include/boost/concept/assert.hpp
 #usr/include/boost/concept/detail
 #usr/include/boost/config/compiler/sunpro_cc.hpp
 #usr/include/boost/config/compiler/vacpp.hpp
 #usr/include/boost/config/compiler/visualc.hpp
+#usr/include/boost/config/compiler/xlcpp.hpp
 #usr/include/boost/config/no_tr1
 #usr/include/boost/config/no_tr1/cmath.hpp
 #usr/include/boost/config/no_tr1/complex.hpp
 #usr/include/boost/config/platform/amigaos.hpp
 #usr/include/boost/config/platform/beos.hpp
 #usr/include/boost/config/platform/bsd.hpp
+#usr/include/boost/config/platform/cloudabi.hpp
 #usr/include/boost/config/platform/cray.hpp
 #usr/include/boost/config/platform/cygwin.hpp
+#usr/include/boost/config/platform/haiku.hpp
 #usr/include/boost/config/platform/hpux.hpp
 #usr/include/boost/config/platform/irix.hpp
 #usr/include/boost/config/platform/linux.hpp
 #usr/include/boost/config/user.hpp
 #usr/include/boost/config/warning_disable.hpp
 #usr/include/boost/container
+#usr/include/boost/container/adaptive_pool.hpp
+#usr/include/boost/container/allocator.hpp
 #usr/include/boost/container/allocator_traits.hpp
 #usr/include/boost/container/container_fwd.hpp
 #usr/include/boost/container/deque.hpp
 #usr/include/boost/container/detail
+#usr/include/boost/container/detail/adaptive_node_pool.hpp
 #usr/include/boost/container/detail/adaptive_node_pool_impl.hpp
+#usr/include/boost/container/detail/addressof.hpp
 #usr/include/boost/container/detail/advanced_insert_int.hpp
-#usr/include/boost/container/detail/algorithms.hpp
+#usr/include/boost/container/detail/algorithm.hpp
+#usr/include/boost/container/detail/alloc_helpers.hpp
+#usr/include/boost/container/detail/alloc_lib.h
 #usr/include/boost/container/detail/allocation_type.hpp
 #usr/include/boost/container/detail/allocator_version_traits.hpp
+#usr/include/boost/container/detail/auto_link.hpp
+#usr/include/boost/container/detail/block_list.hpp
+#usr/include/boost/container/detail/block_slist.hpp
+#usr/include/boost/container/detail/compare_functors.hpp
 #usr/include/boost/container/detail/config_begin.hpp
 #usr/include/boost/container/detail/config_end.hpp
+#usr/include/boost/container/detail/construct_in_place.hpp
+#usr/include/boost/container/detail/copy_move_algo.hpp
 #usr/include/boost/container/detail/destroyers.hpp
+#usr/include/boost/container/detail/dispatch_uses_allocator.hpp
+#usr/include/boost/container/detail/dlmalloc.hpp
 #usr/include/boost/container/detail/flat_tree.hpp
 #usr/include/boost/container/detail/function_detector.hpp
+#usr/include/boost/container/detail/is_sorted.hpp
+#usr/include/boost/container/detail/iterator.hpp
+#usr/include/boost/container/detail/iterator_to_raw_pointer.hpp
 #usr/include/boost/container/detail/iterators.hpp
 #usr/include/boost/container/detail/math_functions.hpp
-#usr/include/boost/container/detail/memory_util.hpp
+#usr/include/boost/container/detail/min_max.hpp
+#usr/include/boost/container/detail/minimal_char_traits_header.hpp
 #usr/include/boost/container/detail/mpl.hpp
 #usr/include/boost/container/detail/multiallocation_chain.hpp
+#usr/include/boost/container/detail/mutex.hpp
+#usr/include/boost/container/detail/next_capacity.hpp
 #usr/include/boost/container/detail/node_alloc_holder.hpp
+#usr/include/boost/container/detail/node_pool.hpp
 #usr/include/boost/container/detail/node_pool_impl.hpp
 #usr/include/boost/container/detail/pair.hpp
+#usr/include/boost/container/detail/placement_new.hpp
 #usr/include/boost/container/detail/pool_common.hpp
-#usr/include/boost/container/detail/preprocessor.hpp
+#usr/include/boost/container/detail/pool_common_alloc.hpp
+#usr/include/boost/container/detail/pool_resource.hpp
+#usr/include/boost/container/detail/singleton.hpp
+#usr/include/boost/container/detail/std_fwd.hpp
+#usr/include/boost/container/detail/to_raw_pointer.hpp
 #usr/include/boost/container/detail/transform_iterator.hpp
 #usr/include/boost/container/detail/tree.hpp
 #usr/include/boost/container/detail/type_traits.hpp
-#usr/include/boost/container/detail/utilities.hpp
 #usr/include/boost/container/detail/value_init.hpp
 #usr/include/boost/container/detail/variadic_templates_tools.hpp
 #usr/include/boost/container/detail/version_type.hpp
 #usr/include/boost/container/flat_set.hpp
 #usr/include/boost/container/list.hpp
 #usr/include/boost/container/map.hpp
+#usr/include/boost/container/new_allocator.hpp
+#usr/include/boost/container/node_allocator.hpp
+#usr/include/boost/container/node_handle.hpp
+#usr/include/boost/container/options.hpp
+#usr/include/boost/container/pmr
+#usr/include/boost/container/pmr/deque.hpp
+#usr/include/boost/container/pmr/flat_map.hpp
+#usr/include/boost/container/pmr/flat_set.hpp
+#usr/include/boost/container/pmr/global_resource.hpp
+#usr/include/boost/container/pmr/list.hpp
+#usr/include/boost/container/pmr/map.hpp
+#usr/include/boost/container/pmr/memory_resource.hpp
+#usr/include/boost/container/pmr/monotonic_buffer_resource.hpp
+#usr/include/boost/container/pmr/polymorphic_allocator.hpp
+#usr/include/boost/container/pmr/pool_options.hpp
+#usr/include/boost/container/pmr/resource_adaptor.hpp
+#usr/include/boost/container/pmr/set.hpp
+#usr/include/boost/container/pmr/slist.hpp
+#usr/include/boost/container/pmr/small_vector.hpp
+#usr/include/boost/container/pmr/stable_vector.hpp
+#usr/include/boost/container/pmr/string.hpp
+#usr/include/boost/container/pmr/synchronized_pool_resource.hpp
+#usr/include/boost/container/pmr/unsynchronized_pool_resource.hpp
+#usr/include/boost/container/pmr/vector.hpp
 #usr/include/boost/container/scoped_allocator.hpp
 #usr/include/boost/container/scoped_allocator_fwd.hpp
 #usr/include/boost/container/set.hpp
 #usr/include/boost/container/slist.hpp
+#usr/include/boost/container/small_vector.hpp
 #usr/include/boost/container/stable_vector.hpp
 #usr/include/boost/container/static_vector.hpp
 #usr/include/boost/container/string.hpp
 #usr/include/boost/container/throw_exception.hpp
+#usr/include/boost/container/uses_allocator.hpp
+#usr/include/boost/container/uses_allocator_fwd.hpp
 #usr/include/boost/container/vector.hpp
 #usr/include/boost/context
 #usr/include/boost/context/all.hpp
+#usr/include/boost/context/continuation.hpp
 #usr/include/boost/context/detail
+#usr/include/boost/context/detail/apply.hpp
 #usr/include/boost/context/detail/config.hpp
+#usr/include/boost/context/detail/disable_overload.hpp
+#usr/include/boost/context/detail/exception.hpp
+#usr/include/boost/context/detail/exchange.hpp
+#usr/include/boost/context/detail/fcontext.hpp
 #usr/include/boost/context/detail/fcontext_arm.hpp
+#usr/include/boost/context/detail/fcontext_arm_mac.hpp
+#usr/include/boost/context/detail/fcontext_arm_win.hpp
 #usr/include/boost/context/detail/fcontext_i386.hpp
 #usr/include/boost/context/detail/fcontext_i386_win.hpp
 #usr/include/boost/context/detail/fcontext_mips.hpp
 #usr/include/boost/context/detail/fcontext_sparc.hpp
 #usr/include/boost/context/detail/fcontext_x86_64.hpp
 #usr/include/boost/context/detail/fcontext_x86_64_win.hpp
-#usr/include/boost/context/fcontext.hpp
+#usr/include/boost/context/detail/index_sequence.hpp
+#usr/include/boost/context/detail/invoke.hpp
+#usr/include/boost/context/detail/tuple.hpp
+#usr/include/boost/context/execution_context.hpp
+#usr/include/boost/context/execution_context_v1.hpp
+#usr/include/boost/context/execution_context_v2.hpp
+#usr/include/boost/context/execution_context_v2_void.ipp
+#usr/include/boost/context/fixedsize_stack.hpp
+#usr/include/boost/context/flags.hpp
+#usr/include/boost/context/pooled_fixedsize_stack.hpp
+#usr/include/boost/context/posix
+#usr/include/boost/context/posix/fixedsize_stack.hpp
+#usr/include/boost/context/posix/protected_fixedsize_stack.hpp
+#usr/include/boost/context/posix/segmented_stack.hpp
+#usr/include/boost/context/preallocated.hpp
+#usr/include/boost/context/protected_fixedsize_stack.hpp
+#usr/include/boost/context/segmented_stack.hpp
+#usr/include/boost/context/stack_context.hpp
+#usr/include/boost/context/stack_traits.hpp
+#usr/include/boost/context/windows
+#usr/include/boost/context/windows/fixedsize_stack.hpp
+#usr/include/boost/context/windows/protected_fixedsize_stack.hpp
+#usr/include/boost/convert
+#usr/include/boost/convert.hpp
+#usr/include/boost/convert/base.hpp
+#usr/include/boost/convert/detail
+#usr/include/boost/convert/detail/boost_parameter_ext.hpp
+#usr/include/boost/convert/detail/char.hpp
+#usr/include/boost/convert/detail/forward.hpp
+#usr/include/boost/convert/detail/has_member.hpp
+#usr/include/boost/convert/detail/is_callable.hpp
+#usr/include/boost/convert/detail/is_converter.hpp
+#usr/include/boost/convert/detail/is_fun.hpp
+#usr/include/boost/convert/detail/is_string.hpp
+#usr/include/boost/convert/detail/range.hpp
+#usr/include/boost/convert/lexical_cast.hpp
+#usr/include/boost/convert/parameters.hpp
+#usr/include/boost/convert/printf.hpp
+#usr/include/boost/convert/spirit.hpp
+#usr/include/boost/convert/stream.hpp
+#usr/include/boost/convert/strtol.hpp
+#usr/include/boost/core
+#usr/include/boost/core/addressof.hpp
+#usr/include/boost/core/checked_delete.hpp
+#usr/include/boost/core/demangle.hpp
+#usr/include/boost/core/enable_if.hpp
+#usr/include/boost/core/explicit_operator_bool.hpp
+#usr/include/boost/core/ignore_unused.hpp
+#usr/include/boost/core/is_same.hpp
+#usr/include/boost/core/lightweight_test.hpp
+#usr/include/boost/core/lightweight_test_trait.hpp
+#usr/include/boost/core/no_exceptions_support.hpp
+#usr/include/boost/core/noncopyable.hpp
+#usr/include/boost/core/null_deleter.hpp
+#usr/include/boost/core/ref.hpp
+#usr/include/boost/core/scoped_enum.hpp
+#usr/include/boost/core/swap.hpp
+#usr/include/boost/core/typeinfo.hpp
+#usr/include/boost/core/underlying_type.hpp
 #usr/include/boost/coroutine
 #usr/include/boost/coroutine/all.hpp
+#usr/include/boost/coroutine/asymmetric_coroutine.hpp
 #usr/include/boost/coroutine/attributes.hpp
-#usr/include/boost/coroutine/checkpoint.hpp
 #usr/include/boost/coroutine/coroutine.hpp
 #usr/include/boost/coroutine/detail
 #usr/include/boost/coroutine/detail/config.hpp
 #usr/include/boost/coroutine/detail/coroutine_context.hpp
-#usr/include/boost/coroutine/detail/exceptions.hpp
+#usr/include/boost/coroutine/detail/data.hpp
 #usr/include/boost/coroutine/detail/flags.hpp
-#usr/include/boost/coroutine/detail/holder.hpp
-#usr/include/boost/coroutine/detail/param.hpp
-#usr/include/boost/coroutine/detail/segmented_stack_allocator.hpp
-#usr/include/boost/coroutine/detail/stack_tuple.hpp
-#usr/include/boost/coroutine/detail/standard_stack_allocator.hpp
+#usr/include/boost/coroutine/detail/parameters.hpp
+#usr/include/boost/coroutine/detail/preallocated.hpp
+#usr/include/boost/coroutine/detail/pull_coroutine_impl.hpp
+#usr/include/boost/coroutine/detail/pull_coroutine_object.hpp
+#usr/include/boost/coroutine/detail/pull_coroutine_synthesized.hpp
+#usr/include/boost/coroutine/detail/push_coroutine_impl.hpp
+#usr/include/boost/coroutine/detail/push_coroutine_object.hpp
+#usr/include/boost/coroutine/detail/push_coroutine_synthesized.hpp
+#usr/include/boost/coroutine/detail/setup.hpp
+#usr/include/boost/coroutine/detail/symmetric_coroutine_call.hpp
+#usr/include/boost/coroutine/detail/symmetric_coroutine_impl.hpp
+#usr/include/boost/coroutine/detail/symmetric_coroutine_object.hpp
+#usr/include/boost/coroutine/detail/symmetric_coroutine_yield.hpp
 #usr/include/boost/coroutine/detail/trampoline.hpp
+#usr/include/boost/coroutine/detail/trampoline_pull.hpp
+#usr/include/boost/coroutine/detail/trampoline_push.hpp
 #usr/include/boost/coroutine/exceptions.hpp
 #usr/include/boost/coroutine/flags.hpp
+#usr/include/boost/coroutine/posix
+#usr/include/boost/coroutine/posix/protected_stack_allocator.hpp
+#usr/include/boost/coroutine/posix/segmented_stack_allocator.hpp
+#usr/include/boost/coroutine/protected_stack_allocator.hpp
+#usr/include/boost/coroutine/segmented_stack_allocator.hpp
 #usr/include/boost/coroutine/stack_allocator.hpp
 #usr/include/boost/coroutine/stack_context.hpp
-#usr/include/boost/coroutine/v1
-#usr/include/boost/coroutine/v1/coroutine.hpp
-#usr/include/boost/coroutine/v1/detail
-#usr/include/boost/coroutine/v1/detail/arg.hpp
-#usr/include/boost/coroutine/v1/detail/coroutine_base.hpp
-#usr/include/boost/coroutine/v1/detail/coroutine_base_resume.hpp
-#usr/include/boost/coroutine/v1/detail/coroutine_caller.hpp
-#usr/include/boost/coroutine/v1/detail/coroutine_get.hpp
-#usr/include/boost/coroutine/v1/detail/coroutine_object.hpp
-#usr/include/boost/coroutine/v1/detail/coroutine_object_result_0.ipp
-#usr/include/boost/coroutine/v1/detail/coroutine_object_result_1.ipp
-#usr/include/boost/coroutine/v1/detail/coroutine_object_result_arity.ipp
-#usr/include/boost/coroutine/v1/detail/coroutine_object_void_0.ipp
-#usr/include/boost/coroutine/v1/detail/coroutine_object_void_1.ipp
-#usr/include/boost/coroutine/v1/detail/coroutine_object_void_arity.ipp
-#usr/include/boost/coroutine/v1/detail/coroutine_op.hpp
-#usr/include/boost/coroutine/v2
-#usr/include/boost/coroutine/v2/coroutine.hpp
-#usr/include/boost/coroutine/v2/detail
-#usr/include/boost/coroutine/v2/detail/pull_coroutine_base.hpp
-#usr/include/boost/coroutine/v2/detail/pull_coroutine_caller.hpp
-#usr/include/boost/coroutine/v2/detail/pull_coroutine_object.hpp
-#usr/include/boost/coroutine/v2/detail/push_coroutine_base.hpp
-#usr/include/boost/coroutine/v2/detail/push_coroutine_caller.hpp
-#usr/include/boost/coroutine/v2/detail/push_coroutine_object.hpp
+#usr/include/boost/coroutine/stack_traits.hpp
+#usr/include/boost/coroutine/standard_stack_allocator.hpp
+#usr/include/boost/coroutine/symmetric_coroutine.hpp
+#usr/include/boost/coroutine/windows
+#usr/include/boost/coroutine/windows/protected_stack_allocator.hpp
+#usr/include/boost/coroutine2
+#usr/include/boost/coroutine2/all.hpp
+#usr/include/boost/coroutine2/coroutine.hpp
+#usr/include/boost/coroutine2/detail
+#usr/include/boost/coroutine2/detail/config.hpp
+#usr/include/boost/coroutine2/detail/coroutine.hpp
+#usr/include/boost/coroutine2/detail/create_control_block.ipp
+#usr/include/boost/coroutine2/detail/decay_copy.hpp
+#usr/include/boost/coroutine2/detail/disable_overload.hpp
+#usr/include/boost/coroutine2/detail/forced_unwind.hpp
+#usr/include/boost/coroutine2/detail/pull_control_block_cc.hpp
+#usr/include/boost/coroutine2/detail/pull_control_block_cc.ipp
+#usr/include/boost/coroutine2/detail/pull_control_block_ecv1.hpp
+#usr/include/boost/coroutine2/detail/pull_control_block_ecv1.ipp
+#usr/include/boost/coroutine2/detail/pull_coroutine.hpp
+#usr/include/boost/coroutine2/detail/pull_coroutine.ipp
+#usr/include/boost/coroutine2/detail/push_control_block_cc.hpp
+#usr/include/boost/coroutine2/detail/push_control_block_cc.ipp
+#usr/include/boost/coroutine2/detail/push_control_block_ecv1.hpp
+#usr/include/boost/coroutine2/detail/push_control_block_ecv1.ipp
+#usr/include/boost/coroutine2/detail/push_coroutine.hpp
+#usr/include/boost/coroutine2/detail/push_coroutine.ipp
+#usr/include/boost/coroutine2/detail/state.hpp
+#usr/include/boost/coroutine2/detail/wrap.hpp
+#usr/include/boost/coroutine2/fixedsize_stack.hpp
+#usr/include/boost/coroutine2/pooled_fixedsize_stack.hpp
+#usr/include/boost/coroutine2/protected_fixedsize_stack.hpp
+#usr/include/boost/coroutine2/segmented_stack.hpp
 #usr/include/boost/crc.hpp
 #usr/include/boost/cregex.hpp
+#usr/include/boost/cstdfloat.hpp
 #usr/include/boost/cstdint.hpp
 #usr/include/boost/cstdlib.hpp
 #usr/include/boost/current_function.hpp
+#usr/include/boost/cxx11_char_types.hpp
 #usr/include/boost/date_time
 #usr/include/boost/date_time.hpp
 #usr/include/boost/date_time/adjust_functors.hpp
 #usr/include/boost/detail/atomic_count.hpp
 #usr/include/boost/detail/atomic_redef_macros.hpp
 #usr/include/boost/detail/atomic_undef_macros.hpp
+#usr/include/boost/detail/basic_pointerbuf.hpp
 #usr/include/boost/detail/binary_search.hpp
 #usr/include/boost/detail/bitmask.hpp
 #usr/include/boost/detail/call_traits.hpp
 #usr/include/boost/detail/identifier.hpp
 #usr/include/boost/detail/indirect_traits.hpp
 #usr/include/boost/detail/interlocked.hpp
-#usr/include/boost/detail/is_function_ref_tester.hpp
 #usr/include/boost/detail/is_incrementable.hpp
 #usr/include/boost/detail/is_sorted.hpp
 #usr/include/boost/detail/is_xxx.hpp
 #usr/include/boost/detail/lightweight_main.hpp
 #usr/include/boost/detail/lightweight_mutex.hpp
 #usr/include/boost/detail/lightweight_test.hpp
+#usr/include/boost/detail/lightweight_test_report.hpp
 #usr/include/boost/detail/lightweight_thread.hpp
-#usr/include/boost/detail/limits.hpp
 #usr/include/boost/detail/named_template_params.hpp
 #usr/include/boost/detail/no_exceptions_support.hpp
-#usr/include/boost/detail/none_t.hpp
 #usr/include/boost/detail/numeric_traits.hpp
-#usr/include/boost/detail/ob_call_traits.hpp
 #usr/include/boost/detail/ob_compressed_pair.hpp
 #usr/include/boost/detail/quick_allocator.hpp
 #usr/include/boost/detail/reference_content.hpp
 #usr/include/boost/detail/winapi/GetLastError.hpp
 #usr/include/boost/detail/winapi/GetProcessTimes.hpp
 #usr/include/boost/detail/winapi/GetThreadTimes.hpp
-#usr/include/boost/detail/winapi/LocalFree.hpp
+#usr/include/boost/detail/winapi/access_rights.hpp
+#usr/include/boost/detail/winapi/apc.hpp
 #usr/include/boost/detail/winapi/basic_types.hpp
+#usr/include/boost/detail/winapi/character_code_conversion.hpp
+#usr/include/boost/detail/winapi/condition_variable.hpp
+#usr/include/boost/detail/winapi/config.hpp
+#usr/include/boost/detail/winapi/critical_section.hpp
+#usr/include/boost/detail/winapi/crypt.hpp
+#usr/include/boost/detail/winapi/dbghelp.hpp
+#usr/include/boost/detail/winapi/detail
+#usr/include/boost/detail/winapi/detail/cast_ptr.hpp
 #usr/include/boost/detail/winapi/directory_management.hpp
 #usr/include/boost/detail/winapi/dll.hpp
+#usr/include/boost/detail/winapi/environment.hpp
+#usr/include/boost/detail/winapi/error_codes.hpp
 #usr/include/boost/detail/winapi/error_handling.hpp
+#usr/include/boost/detail/winapi/event.hpp
 #usr/include/boost/detail/winapi/file_management.hpp
+#usr/include/boost/detail/winapi/file_mapping.hpp
+#usr/include/boost/detail/winapi/get_current_process.hpp
+#usr/include/boost/detail/winapi/get_current_process_id.hpp
+#usr/include/boost/detail/winapi/get_current_thread.hpp
+#usr/include/boost/detail/winapi/get_current_thread_id.hpp
+#usr/include/boost/detail/winapi/get_last_error.hpp
+#usr/include/boost/detail/winapi/get_process_times.hpp
+#usr/include/boost/detail/winapi/get_system_directory.hpp
+#usr/include/boost/detail/winapi/get_thread_times.hpp
+#usr/include/boost/detail/winapi/handle_info.hpp
 #usr/include/boost/detail/winapi/handles.hpp
+#usr/include/boost/detail/winapi/heap_memory.hpp
+#usr/include/boost/detail/winapi/init_once.hpp
+#usr/include/boost/detail/winapi/jobs.hpp
+#usr/include/boost/detail/winapi/limits.hpp
+#usr/include/boost/detail/winapi/local_memory.hpp
 #usr/include/boost/detail/winapi/memory.hpp
+#usr/include/boost/detail/winapi/mutex.hpp
+#usr/include/boost/detail/winapi/overlapped.hpp
+#usr/include/boost/detail/winapi/page_protection_flags.hpp
+#usr/include/boost/detail/winapi/pipes.hpp
+#usr/include/boost/detail/winapi/priority_class.hpp
 #usr/include/boost/detail/winapi/process.hpp
 #usr/include/boost/detail/winapi/security.hpp
+#usr/include/boost/detail/winapi/semaphore.hpp
+#usr/include/boost/detail/winapi/shell.hpp
+#usr/include/boost/detail/winapi/show_window.hpp
+#usr/include/boost/detail/winapi/srw_lock.hpp
 #usr/include/boost/detail/winapi/synchronization.hpp
 #usr/include/boost/detail/winapi/system.hpp
 #usr/include/boost/detail/winapi/thread.hpp
+#usr/include/boost/detail/winapi/thread_pool.hpp
 #usr/include/boost/detail/winapi/time.hpp
 #usr/include/boost/detail/winapi/timers.hpp
+#usr/include/boost/detail/winapi/tls.hpp
+#usr/include/boost/detail/winapi/wait.hpp
+#usr/include/boost/detail/winapi/waitable_timer.hpp
 #usr/include/boost/detail/workaround.hpp
+#usr/include/boost/dll
+#usr/include/boost/dll.hpp
+#usr/include/boost/dll/alias.hpp
+#usr/include/boost/dll/detail
+#usr/include/boost/dll/detail/aggressive_ptr_cast.hpp
+#usr/include/boost/dll/detail/ctor_dtor.hpp
+#usr/include/boost/dll/detail/demangling
+#usr/include/boost/dll/detail/demangling/demangle_symbol.hpp
+#usr/include/boost/dll/detail/demangling/itanium.hpp
+#usr/include/boost/dll/detail/demangling/mangled_storage_base.hpp
+#usr/include/boost/dll/detail/demangling/msvc.hpp
+#usr/include/boost/dll/detail/elf_info.hpp
+#usr/include/boost/dll/detail/get_mem_fn_type.hpp
+#usr/include/boost/dll/detail/import_mangled_helpers.hpp
+#usr/include/boost/dll/detail/macho_info.hpp
+#usr/include/boost/dll/detail/pe_info.hpp
+#usr/include/boost/dll/detail/posix
+#usr/include/boost/dll/detail/posix/path_from_handle.hpp
+#usr/include/boost/dll/detail/posix/program_location_impl.hpp
+#usr/include/boost/dll/detail/posix/shared_library_impl.hpp
+#usr/include/boost/dll/detail/system_error.hpp
+#usr/include/boost/dll/detail/type_info.hpp
+#usr/include/boost/dll/detail/windows
+#usr/include/boost/dll/detail/windows/path_from_handle.hpp
+#usr/include/boost/dll/detail/windows/shared_library_impl.hpp
+#usr/include/boost/dll/detail/x_info_interface.hpp
+#usr/include/boost/dll/import.hpp
+#usr/include/boost/dll/import_class.hpp
+#usr/include/boost/dll/import_mangled.hpp
+#usr/include/boost/dll/library_info.hpp
+#usr/include/boost/dll/runtime_symbol_info.hpp
+#usr/include/boost/dll/shared_library.hpp
+#usr/include/boost/dll/shared_library_load_mode.hpp
+#usr/include/boost/dll/smart_library.hpp
 #usr/include/boost/dynamic_bitset
 #usr/include/boost/dynamic_bitset.hpp
 #usr/include/boost/dynamic_bitset/config.hpp
 #usr/include/boost/dynamic_bitset/dynamic_bitset.hpp
+#usr/include/boost/dynamic_bitset/serialization.hpp
 #usr/include/boost/dynamic_bitset_fwd.hpp
 #usr/include/boost/enable_shared_from_this.hpp
+#usr/include/boost/endian
+#usr/include/boost/endian/arithmetic.hpp
+#usr/include/boost/endian/buffers.hpp
+#usr/include/boost/endian/conversion.hpp
+#usr/include/boost/endian/detail
+#usr/include/boost/endian/detail/config.hpp
+#usr/include/boost/endian/detail/cover_operators.hpp
+#usr/include/boost/endian/detail/disable_warnings.hpp
+#usr/include/boost/endian/detail/disable_warnings_pop.hpp
+#usr/include/boost/endian/detail/intrinsic.hpp
+#usr/include/boost/endian/detail/lightweight_test.hpp
+#usr/include/boost/endian/endian.hpp
+#usr/include/boost/endian/std_pair.hpp
 #usr/include/boost/exception
-#usr/include/boost/exception.hpp
+#usr/include/boost/exception/N3757.hpp
 #usr/include/boost/exception/all.hpp
 #usr/include/boost/exception/current_exception_cast.hpp
 #usr/include/boost/exception/detail
-#usr/include/boost/exception/detail/attribute_noreturn.hpp
 #usr/include/boost/exception/detail/clone_current_exception.hpp
 #usr/include/boost/exception/detail/error_info_impl.hpp
 #usr/include/boost/exception/detail/exception_ptr.hpp
 #usr/include/boost/exception/detail/is_output_streamable.hpp
 #usr/include/boost/exception/detail/object_hex_dump.hpp
+#usr/include/boost/exception/detail/shared_ptr.hpp
 #usr/include/boost/exception/detail/type_info.hpp
 #usr/include/boost/exception/diagnostic_information.hpp
 #usr/include/boost/exception/enable_current_exception.hpp
 #usr/include/boost/exception/to_string.hpp
 #usr/include/boost/exception/to_string_stub.hpp
 #usr/include/boost/exception_ptr.hpp
+#usr/include/boost/fiber
+#usr/include/boost/fiber/algo
+#usr/include/boost/fiber/algo/algorithm.hpp
+#usr/include/boost/fiber/algo/round_robin.hpp
+#usr/include/boost/fiber/algo/shared_work.hpp
+#usr/include/boost/fiber/algo/work_stealing.hpp
+#usr/include/boost/fiber/all.hpp
+#usr/include/boost/fiber/barrier.hpp
+#usr/include/boost/fiber/buffered_channel.hpp
+#usr/include/boost/fiber/channel_op_status.hpp
+#usr/include/boost/fiber/condition_variable.hpp
+#usr/include/boost/fiber/context.hpp
+#usr/include/boost/fiber/detail
+#usr/include/boost/fiber/detail/config.hpp
+#usr/include/boost/fiber/detail/context_spinlock_queue.hpp
+#usr/include/boost/fiber/detail/context_spmc_queue.hpp
+#usr/include/boost/fiber/detail/convert.hpp
+#usr/include/boost/fiber/detail/cpu_relax.hpp
+#usr/include/boost/fiber/detail/data.hpp
+#usr/include/boost/fiber/detail/decay_copy.hpp
+#usr/include/boost/fiber/detail/disable_overload.hpp
+#usr/include/boost/fiber/detail/fss.hpp
+#usr/include/boost/fiber/detail/futex.hpp
+#usr/include/boost/fiber/detail/spinlock.hpp
+#usr/include/boost/fiber/detail/spinlock_ttas.hpp
+#usr/include/boost/fiber/detail/spinlock_ttas_adaptive.hpp
+#usr/include/boost/fiber/detail/spinlock_ttas_adaptive_futex.hpp
+#usr/include/boost/fiber/detail/spinlock_ttas_futex.hpp
+#usr/include/boost/fiber/detail/wrap.hpp
+#usr/include/boost/fiber/exceptions.hpp
+#usr/include/boost/fiber/fiber.hpp
+#usr/include/boost/fiber/fixedsize_stack.hpp
+#usr/include/boost/fiber/fss.hpp
+#usr/include/boost/fiber/future
+#usr/include/boost/fiber/future.hpp
+#usr/include/boost/fiber/future/async.hpp
+#usr/include/boost/fiber/future/detail
+#usr/include/boost/fiber/future/detail/shared_state.hpp
+#usr/include/boost/fiber/future/detail/shared_state_object.hpp
+#usr/include/boost/fiber/future/detail/task_base.hpp
+#usr/include/boost/fiber/future/detail/task_object.hpp
+#usr/include/boost/fiber/future/future.hpp
+#usr/include/boost/fiber/future/future_status.hpp
+#usr/include/boost/fiber/future/packaged_task.hpp
+#usr/include/boost/fiber/future/promise.hpp
+#usr/include/boost/fiber/mutex.hpp
+#usr/include/boost/fiber/operations.hpp
+#usr/include/boost/fiber/policy.hpp
+#usr/include/boost/fiber/pooled_fixedsize_stack.hpp
+#usr/include/boost/fiber/properties.hpp
+#usr/include/boost/fiber/protected_fixedsize_stack.hpp
+#usr/include/boost/fiber/recursive_mutex.hpp
+#usr/include/boost/fiber/recursive_timed_mutex.hpp
+#usr/include/boost/fiber/scheduler.hpp
+#usr/include/boost/fiber/segmented_stack.hpp
+#usr/include/boost/fiber/timed_mutex.hpp
+#usr/include/boost/fiber/type.hpp
+#usr/include/boost/fiber/unbuffered_channel.hpp
 #usr/include/boost/filesystem
 #usr/include/boost/filesystem.hpp
 #usr/include/boost/filesystem/config.hpp
 #usr/include/boost/filesystem/convenience.hpp
 #usr/include/boost/filesystem/detail
+#usr/include/boost/filesystem/detail/macro_value.hpp
 #usr/include/boost/filesystem/detail/utf8_codecvt_facet.hpp
 #usr/include/boost/filesystem/exception.hpp
 #usr/include/boost/filesystem/fstream.hpp
 #usr/include/boost/filesystem/operations.hpp
 #usr/include/boost/filesystem/path.hpp
 #usr/include/boost/filesystem/path_traits.hpp
+#usr/include/boost/filesystem/string_file.hpp
 #usr/include/boost/flyweight
 #usr/include/boost/flyweight.hpp
 #usr/include/boost/flyweight/assoc_container_factory.hpp
 #usr/include/boost/flyweight/assoc_container_factory_fwd.hpp
 #usr/include/boost/flyweight/detail
+#usr/include/boost/flyweight/detail/archive_constructed.hpp
 #usr/include/boost/flyweight/detail/default_value_policy.hpp
 #usr/include/boost/flyweight/detail/dyn_perfect_fwd.hpp
 #usr/include/boost/flyweight/detail/flyweight_core.hpp
 #usr/include/boost/flyweight/detail/perfect_fwd.hpp
 #usr/include/boost/flyweight/detail/pp_perfect_fwd.hpp
 #usr/include/boost/flyweight/detail/recursive_lw_mutex.hpp
+#usr/include/boost/flyweight/detail/serialization_helper.hpp
 #usr/include/boost/flyweight/detail/value_tag.hpp
 #usr/include/boost/flyweight/factory_tag.hpp
 #usr/include/boost/flyweight/flyweight.hpp
 #usr/include/boost/flyweight/no_tracking_fwd.hpp
 #usr/include/boost/flyweight/refcounted.hpp
 #usr/include/boost/flyweight/refcounted_fwd.hpp
+#usr/include/boost/flyweight/serialize.hpp
 #usr/include/boost/flyweight/set_factory.hpp
 #usr/include/boost/flyweight/set_factory_fwd.hpp
 #usr/include/boost/flyweight/simple_locking.hpp
 #usr/include/boost/fusion/adapted/adt/adapt_assoc_adt_named.hpp
 #usr/include/boost/fusion/adapted/adt/detail
 #usr/include/boost/fusion/adapted/adt/detail/adapt_base.hpp
+#usr/include/boost/fusion/adapted/adt/detail/adapt_base_assoc_attr_filler.hpp
+#usr/include/boost/fusion/adapted/adt/detail/adapt_base_attr_filler.hpp
 #usr/include/boost/fusion/adapted/adt/detail/extension.hpp
 #usr/include/boost/fusion/adapted/array
 #usr/include/boost/fusion/adapted/array.hpp
 #usr/include/boost/fusion/adapted/boost_tuple/detail
 #usr/include/boost/fusion/adapted/boost_tuple/detail/at_impl.hpp
 #usr/include/boost/fusion/adapted/boost_tuple/detail/begin_impl.hpp
+#usr/include/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp
 #usr/include/boost/fusion/adapted/boost_tuple/detail/category_of_impl.hpp
+#usr/include/boost/fusion/adapted/boost_tuple/detail/convert_impl.hpp
 #usr/include/boost/fusion/adapted/boost_tuple/detail/end_impl.hpp
 #usr/include/boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp
 #usr/include/boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp
 #usr/include/boost/fusion/adapted/boost_tuple/detail/size_impl.hpp
 #usr/include/boost/fusion/adapted/boost_tuple/detail/value_at_impl.hpp
+#usr/include/boost/fusion/adapted/boost_tuple/mpl
+#usr/include/boost/fusion/adapted/boost_tuple/mpl/clear.hpp
 #usr/include/boost/fusion/adapted/boost_tuple/tag_of.hpp
 #usr/include/boost/fusion/adapted/mpl
 #usr/include/boost/fusion/adapted/mpl.hpp
 #usr/include/boost/fusion/adapted/mpl/detail/size_impl.hpp
 #usr/include/boost/fusion/adapted/mpl/detail/value_at_impl.hpp
 #usr/include/boost/fusion/adapted/mpl/mpl_iterator.hpp
+#usr/include/boost/fusion/adapted/std_array
+#usr/include/boost/fusion/adapted/std_array.hpp
+#usr/include/boost/fusion/adapted/std_array/detail
+#usr/include/boost/fusion/adapted/std_array/detail/array_size.hpp
+#usr/include/boost/fusion/adapted/std_array/detail/at_impl.hpp
+#usr/include/boost/fusion/adapted/std_array/detail/begin_impl.hpp
+#usr/include/boost/fusion/adapted/std_array/detail/category_of_impl.hpp
+#usr/include/boost/fusion/adapted/std_array/detail/end_impl.hpp
+#usr/include/boost/fusion/adapted/std_array/detail/is_sequence_impl.hpp
+#usr/include/boost/fusion/adapted/std_array/detail/is_view_impl.hpp
+#usr/include/boost/fusion/adapted/std_array/detail/size_impl.hpp
+#usr/include/boost/fusion/adapted/std_array/detail/value_at_impl.hpp
+#usr/include/boost/fusion/adapted/std_array/std_array_iterator.hpp
+#usr/include/boost/fusion/adapted/std_array/tag_of.hpp
 #usr/include/boost/fusion/adapted/std_pair.hpp
 #usr/include/boost/fusion/adapted/std_tuple
 #usr/include/boost/fusion/adapted/std_tuple.hpp
 #usr/include/boost/fusion/adapted/std_tuple/detail
 #usr/include/boost/fusion/adapted/std_tuple/detail/at_impl.hpp
 #usr/include/boost/fusion/adapted/std_tuple/detail/begin_impl.hpp
+#usr/include/boost/fusion/adapted/std_tuple/detail/build_std_tuple.hpp
 #usr/include/boost/fusion/adapted/std_tuple/detail/category_of_impl.hpp
+#usr/include/boost/fusion/adapted/std_tuple/detail/convert_impl.hpp
 #usr/include/boost/fusion/adapted/std_tuple/detail/end_impl.hpp
 #usr/include/boost/fusion/adapted/std_tuple/detail/is_sequence_impl.hpp
 #usr/include/boost/fusion/adapted/std_tuple/detail/is_view_impl.hpp
 #usr/include/boost/fusion/adapted/std_tuple/detail/size_impl.hpp
 #usr/include/boost/fusion/adapted/std_tuple/detail/value_at_impl.hpp
+#usr/include/boost/fusion/adapted/std_tuple/mpl
+#usr/include/boost/fusion/adapted/std_tuple/mpl/clear.hpp
 #usr/include/boost/fusion/adapted/std_tuple/std_tuple_iterator.hpp
 #usr/include/boost/fusion/adapted/std_tuple/tag_of.hpp
 #usr/include/boost/fusion/adapted/struct
 #usr/include/boost/fusion/adapted/struct/define_struct.hpp
 #usr/include/boost/fusion/adapted/struct/define_struct_inline.hpp
 #usr/include/boost/fusion/adapted/struct/detail
+#usr/include/boost/fusion/adapted/struct/detail/adapt_auto.hpp
 #usr/include/boost/fusion/adapted/struct/detail/adapt_base.hpp
+#usr/include/boost/fusion/adapted/struct/detail/adapt_base_assoc_attr_filler.hpp
+#usr/include/boost/fusion/adapted/struct/detail/adapt_base_attr_filler.hpp
+#usr/include/boost/fusion/adapted/struct/detail/adapt_is_tpl.hpp
 #usr/include/boost/fusion/adapted/struct/detail/at_impl.hpp
 #usr/include/boost/fusion/adapted/struct/detail/begin_impl.hpp
 #usr/include/boost/fusion/adapted/struct/detail/category_of_impl.hpp
 #usr/include/boost/fusion/adapted/struct/detail/is_view_impl.hpp
 #usr/include/boost/fusion/adapted/struct/detail/key_of_impl.hpp
 #usr/include/boost/fusion/adapted/struct/detail/namespace.hpp
+#usr/include/boost/fusion/adapted/struct/detail/preprocessor
+#usr/include/boost/fusion/adapted/struct/detail/preprocessor/is_seq.hpp
 #usr/include/boost/fusion/adapted/struct/detail/proxy_type.hpp
 #usr/include/boost/fusion/adapted/struct/detail/size_impl.hpp
 #usr/include/boost/fusion/adapted/struct/detail/value_at_impl.hpp
 #usr/include/boost/fusion/algorithm/transformation/erase_key.hpp
 #usr/include/boost/fusion/algorithm/transformation/filter.hpp
 #usr/include/boost/fusion/algorithm/transformation/filter_if.hpp
+#usr/include/boost/fusion/algorithm/transformation/flatten.hpp
 #usr/include/boost/fusion/algorithm/transformation/insert.hpp
 #usr/include/boost/fusion/algorithm/transformation/insert_range.hpp
 #usr/include/boost/fusion/algorithm/transformation/join.hpp
 #usr/include/boost/fusion/container/generation/deque_tie.hpp
 #usr/include/boost/fusion/container/generation/detail
 #usr/include/boost/fusion/container/generation/detail/pp_deque_tie.hpp
+#usr/include/boost/fusion/container/generation/detail/pp_list_tie.hpp
 #usr/include/boost/fusion/container/generation/detail/pp_make_deque.hpp
+#usr/include/boost/fusion/container/generation/detail/pp_make_list.hpp
 #usr/include/boost/fusion/container/generation/detail/pp_make_map.hpp
+#usr/include/boost/fusion/container/generation/detail/pp_make_set.hpp
+#usr/include/boost/fusion/container/generation/detail/pp_make_vector.hpp
 #usr/include/boost/fusion/container/generation/detail/pp_map_tie.hpp
+#usr/include/boost/fusion/container/generation/detail/pp_vector_tie.hpp
 #usr/include/boost/fusion/container/generation/detail/preprocessed
 #usr/include/boost/fusion/container/generation/detail/preprocessed/deque_tie.hpp
 #usr/include/boost/fusion/container/generation/detail/preprocessed/deque_tie10.hpp
 #usr/include/boost/fusion/container/list/detail/begin_impl.hpp
 #usr/include/boost/fusion/container/list/detail/build_cons.hpp
 #usr/include/boost/fusion/container/list/detail/convert_impl.hpp
+#usr/include/boost/fusion/container/list/detail/cpp03
+#usr/include/boost/fusion/container/list/detail/cpp03/limits.hpp
+#usr/include/boost/fusion/container/list/detail/cpp03/list.hpp
+#usr/include/boost/fusion/container/list/detail/cpp03/list_forward_ctor.hpp
+#usr/include/boost/fusion/container/list/detail/cpp03/list_fwd.hpp
+#usr/include/boost/fusion/container/list/detail/cpp03/list_to_cons.hpp
+#usr/include/boost/fusion/container/list/detail/cpp03/list_to_cons_call.hpp
+#usr/include/boost/fusion/container/list/detail/cpp03/preprocessed
+#usr/include/boost/fusion/container/list/detail/cpp03/preprocessed/list.hpp
+#usr/include/boost/fusion/container/list/detail/cpp03/preprocessed/list10.hpp
+#usr/include/boost/fusion/container/list/detail/cpp03/preprocessed/list10_fwd.hpp
+#usr/include/boost/fusion/container/list/detail/cpp03/preprocessed/list20.hpp
+#usr/include/boost/fusion/container/list/detail/cpp03/preprocessed/list20_fwd.hpp
+#usr/include/boost/fusion/container/list/detail/cpp03/preprocessed/list30.hpp
+#usr/include/boost/fusion/container/list/detail/cpp03/preprocessed/list30_fwd.hpp
+#usr/include/boost/fusion/container/list/detail/cpp03/preprocessed/list40.hpp
+#usr/include/boost/fusion/container/list/detail/cpp03/preprocessed/list40_fwd.hpp
+#usr/include/boost/fusion/container/list/detail/cpp03/preprocessed/list50.hpp
+#usr/include/boost/fusion/container/list/detail/cpp03/preprocessed/list50_fwd.hpp
+#usr/include/boost/fusion/container/list/detail/cpp03/preprocessed/list_fwd.hpp
+#usr/include/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons.hpp
+#usr/include/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons10.hpp
+#usr/include/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons20.hpp
+#usr/include/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons30.hpp
+#usr/include/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons40.hpp
+#usr/include/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons50.hpp
 #usr/include/boost/fusion/container/list/detail/deref_impl.hpp
 #usr/include/boost/fusion/container/list/detail/empty_impl.hpp
 #usr/include/boost/fusion/container/list/detail/end_impl.hpp
 #usr/include/boost/fusion/container/list/detail/equal_to_impl.hpp
-#usr/include/boost/fusion/container/list/detail/list_forward_ctor.hpp
 #usr/include/boost/fusion/container/list/detail/list_to_cons.hpp
-#usr/include/boost/fusion/container/list/detail/list_to_cons_call.hpp
 #usr/include/boost/fusion/container/list/detail/next_impl.hpp
-#usr/include/boost/fusion/container/list/detail/preprocessed
-#usr/include/boost/fusion/container/list/detail/preprocessed/list.hpp
-#usr/include/boost/fusion/container/list/detail/preprocessed/list10.hpp
-#usr/include/boost/fusion/container/list/detail/preprocessed/list10_fwd.hpp
-#usr/include/boost/fusion/container/list/detail/preprocessed/list20.hpp
-#usr/include/boost/fusion/container/list/detail/preprocessed/list20_fwd.hpp
-#usr/include/boost/fusion/container/list/detail/preprocessed/list30.hpp
-#usr/include/boost/fusion/container/list/detail/preprocessed/list30_fwd.hpp
-#usr/include/boost/fusion/container/list/detail/preprocessed/list40.hpp
-#usr/include/boost/fusion/container/list/detail/preprocessed/list40_fwd.hpp
-#usr/include/boost/fusion/container/list/detail/preprocessed/list50.hpp
-#usr/include/boost/fusion/container/list/detail/preprocessed/list50_fwd.hpp
-#usr/include/boost/fusion/container/list/detail/preprocessed/list_fwd.hpp
-#usr/include/boost/fusion/container/list/detail/preprocessed/list_to_cons.hpp
-#usr/include/boost/fusion/container/list/detail/preprocessed/list_to_cons10.hpp
-#usr/include/boost/fusion/container/list/detail/preprocessed/list_to_cons20.hpp
-#usr/include/boost/fusion/container/list/detail/preprocessed/list_to_cons30.hpp
-#usr/include/boost/fusion/container/list/detail/preprocessed/list_to_cons40.hpp
-#usr/include/boost/fusion/container/list/detail/preprocessed/list_to_cons50.hpp
 #usr/include/boost/fusion/container/list/detail/reverse_cons.hpp
 #usr/include/boost/fusion/container/list/detail/value_at_impl.hpp
 #usr/include/boost/fusion/container/list/detail/value_of_impl.hpp
-#usr/include/boost/fusion/container/list/limits.hpp
 #usr/include/boost/fusion/container/list/list.hpp
 #usr/include/boost/fusion/container/list/list_fwd.hpp
+#usr/include/boost/fusion/container/list/nil.hpp
 #usr/include/boost/fusion/container/map
 #usr/include/boost/fusion/container/map.hpp
 #usr/include/boost/fusion/container/map/convert.hpp
 #usr/include/boost/fusion/container/set/detail/as_set.hpp
 #usr/include/boost/fusion/container/set/detail/begin_impl.hpp
 #usr/include/boost/fusion/container/set/detail/convert_impl.hpp
+#usr/include/boost/fusion/container/set/detail/cpp03
+#usr/include/boost/fusion/container/set/detail/cpp03/as_set.hpp
+#usr/include/boost/fusion/container/set/detail/cpp03/limits.hpp
+#usr/include/boost/fusion/container/set/detail/cpp03/preprocessed
+#usr/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set.hpp
+#usr/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set10.hpp
+#usr/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set20.hpp
+#usr/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set30.hpp
+#usr/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set40.hpp
+#usr/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set50.hpp
+#usr/include/boost/fusion/container/set/detail/cpp03/preprocessed/set.hpp
+#usr/include/boost/fusion/container/set/detail/cpp03/preprocessed/set10.hpp
+#usr/include/boost/fusion/container/set/detail/cpp03/preprocessed/set10_fwd.hpp
+#usr/include/boost/fusion/container/set/detail/cpp03/preprocessed/set20.hpp
+#usr/include/boost/fusion/container/set/detail/cpp03/preprocessed/set20_fwd.hpp
+#usr/include/boost/fusion/container/set/detail/cpp03/preprocessed/set30.hpp
+#usr/include/boost/fusion/container/set/detail/cpp03/preprocessed/set30_fwd.hpp
+#usr/include/boost/fusion/container/set/detail/cpp03/preprocessed/set40.hpp
+#usr/include/boost/fusion/container/set/detail/cpp03/preprocessed/set40_fwd.hpp
+#usr/include/boost/fusion/container/set/detail/cpp03/preprocessed/set50.hpp
+#usr/include/boost/fusion/container/set/detail/cpp03/preprocessed/set50_fwd.hpp
+#usr/include/boost/fusion/container/set/detail/cpp03/preprocessed/set_fwd.hpp
+#usr/include/boost/fusion/container/set/detail/cpp03/set.hpp
+#usr/include/boost/fusion/container/set/detail/cpp03/set_forward_ctor.hpp
+#usr/include/boost/fusion/container/set/detail/cpp03/set_fwd.hpp
 #usr/include/boost/fusion/container/set/detail/deref_data_impl.hpp
 #usr/include/boost/fusion/container/set/detail/deref_impl.hpp
 #usr/include/boost/fusion/container/set/detail/end_impl.hpp
 #usr/include/boost/fusion/container/set/detail/key_of_impl.hpp
-#usr/include/boost/fusion/container/set/detail/preprocessed
-#usr/include/boost/fusion/container/set/detail/preprocessed/as_set.hpp
-#usr/include/boost/fusion/container/set/detail/preprocessed/as_set10.hpp
-#usr/include/boost/fusion/container/set/detail/preprocessed/as_set20.hpp
-#usr/include/boost/fusion/container/set/detail/preprocessed/as_set30.hpp
-#usr/include/boost/fusion/container/set/detail/preprocessed/as_set40.hpp
-#usr/include/boost/fusion/container/set/detail/preprocessed/as_set50.hpp
-#usr/include/boost/fusion/container/set/detail/preprocessed/set.hpp
-#usr/include/boost/fusion/container/set/detail/preprocessed/set10.hpp
-#usr/include/boost/fusion/container/set/detail/preprocessed/set10_fwd.hpp
-#usr/include/boost/fusion/container/set/detail/preprocessed/set20.hpp
-#usr/include/boost/fusion/container/set/detail/preprocessed/set20_fwd.hpp
-#usr/include/boost/fusion/container/set/detail/preprocessed/set30.hpp
-#usr/include/boost/fusion/container/set/detail/preprocessed/set30_fwd.hpp
-#usr/include/boost/fusion/container/set/detail/preprocessed/set40.hpp
-#usr/include/boost/fusion/container/set/detail/preprocessed/set40_fwd.hpp
-#usr/include/boost/fusion/container/set/detail/preprocessed/set50.hpp
-#usr/include/boost/fusion/container/set/detail/preprocessed/set50_fwd.hpp
-#usr/include/boost/fusion/container/set/detail/preprocessed/set_fwd.hpp
-#usr/include/boost/fusion/container/set/detail/set_forward_ctor.hpp
 #usr/include/boost/fusion/container/set/detail/value_of_data_impl.hpp
 #usr/include/boost/fusion/container/set/detail/value_of_impl.hpp
-#usr/include/boost/fusion/container/set/limits.hpp
 #usr/include/boost/fusion/container/set/set.hpp
 #usr/include/boost/fusion/container/set/set_fwd.hpp
 #usr/include/boost/fusion/container/vector
 #usr/include/boost/fusion/container/vector/detail/as_vector.hpp
 #usr/include/boost/fusion/container/vector/detail/at_impl.hpp
 #usr/include/boost/fusion/container/vector/detail/begin_impl.hpp
+#usr/include/boost/fusion/container/vector/detail/config.hpp
 #usr/include/boost/fusion/container/vector/detail/convert_impl.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03
+#usr/include/boost/fusion/container/vector/detail/cpp03/as_vector.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/limits.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector10.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector20.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector30.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector40.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector50.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vector.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vector10.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vector10_fwd.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vector20.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vector20_fwd.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vector30.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vector30_fwd.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vector40.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vector40_fwd.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vector50.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vector50_fwd.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser10.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser20.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser30.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser40.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser50.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_fwd.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector10.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector10_fwd.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector20.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector20_fwd.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector30.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector30_fwd.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector40.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector40_fwd.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector50.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector50_fwd.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/value_at_impl.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/vector.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/vector10.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/vector10_fwd.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/vector20.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/vector20_fwd.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/vector30.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/vector30_fwd.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/vector40.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/vector40_fwd.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/vector50.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/vector50_fwd.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/vector_forward_ctor.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/vector_fwd.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/vector_n.hpp
+#usr/include/boost/fusion/container/vector/detail/cpp03/vector_n_chooser.hpp
 #usr/include/boost/fusion/container/vector/detail/deref_impl.hpp
 #usr/include/boost/fusion/container/vector/detail/distance_impl.hpp
 #usr/include/boost/fusion/container/vector/detail/end_impl.hpp
 #usr/include/boost/fusion/container/vector/detail/equal_to_impl.hpp
 #usr/include/boost/fusion/container/vector/detail/next_impl.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed
-#usr/include/boost/fusion/container/vector/detail/preprocessed/as_vector.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/as_vector10.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/as_vector20.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/as_vector30.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/as_vector40.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/as_vector50.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/vector.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/vector10.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/vector10_fwd.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/vector20.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/vector20_fwd.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/vector30.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/vector30_fwd.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/vector40.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/vector40_fwd.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/vector50.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/vector50_fwd.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser10.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser20.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser30.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser40.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/vector_chooser50.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/vector_fwd.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/vvector10.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/vvector10_fwd.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/vvector20.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/vvector20_fwd.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/vvector30.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/vvector30_fwd.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/vvector40.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/vvector40_fwd.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/vvector50.hpp
-#usr/include/boost/fusion/container/vector/detail/preprocessed/vvector50_fwd.hpp
 #usr/include/boost/fusion/container/vector/detail/prior_impl.hpp
 #usr/include/boost/fusion/container/vector/detail/value_at_impl.hpp
 #usr/include/boost/fusion/container/vector/detail/value_of_impl.hpp
-#usr/include/boost/fusion/container/vector/detail/vector_forward_ctor.hpp
-#usr/include/boost/fusion/container/vector/detail/vector_n.hpp
-#usr/include/boost/fusion/container/vector/detail/vector_n_chooser.hpp
-#usr/include/boost/fusion/container/vector/limits.hpp
 #usr/include/boost/fusion/container/vector/vector.hpp
 #usr/include/boost/fusion/container/vector/vector10.hpp
-#usr/include/boost/fusion/container/vector/vector10_fwd.hpp
 #usr/include/boost/fusion/container/vector/vector20.hpp
-#usr/include/boost/fusion/container/vector/vector20_fwd.hpp
 #usr/include/boost/fusion/container/vector/vector30.hpp
-#usr/include/boost/fusion/container/vector/vector30_fwd.hpp
 #usr/include/boost/fusion/container/vector/vector40.hpp
-#usr/include/boost/fusion/container/vector/vector40_fwd.hpp
 #usr/include/boost/fusion/container/vector/vector50.hpp
-#usr/include/boost/fusion/container/vector/vector50_fwd.hpp
 #usr/include/boost/fusion/container/vector/vector_fwd.hpp
 #usr/include/boost/fusion/container/vector/vector_iterator.hpp
 #usr/include/boost/fusion/functional
 #usr/include/boost/fusion/include/adapt_adt_named.hpp
 #usr/include/boost/fusion/include/adapt_assoc_adt.hpp
 #usr/include/boost/fusion/include/adapt_assoc_adt_named.hpp
-#usr/include/boost/fusion/include/adapt_assoc_class.hpp
-#usr/include/boost/fusion/include/adapt_assoc_class_named.hpp
 #usr/include/boost/fusion/include/adapt_assoc_struct.hpp
 #usr/include/boost/fusion/include/adapt_assoc_struct_named.hpp
 #usr/include/boost/fusion/include/adapt_struct.hpp
 #usr/include/boost/fusion/include/filter_view.hpp
 #usr/include/boost/fusion/include/find.hpp
 #usr/include/boost/fusion/include/find_if.hpp
+#usr/include/boost/fusion/include/flatten.hpp
+#usr/include/boost/fusion/include/flatten_view.hpp
 #usr/include/boost/fusion/include/fold.hpp
 #usr/include/boost/fusion/include/for_each.hpp
 #usr/include/boost/fusion/include/front.hpp
 #usr/include/boost/fusion/include/greater.hpp
 #usr/include/boost/fusion/include/greater_equal.hpp
 #usr/include/boost/fusion/include/has_key.hpp
+#usr/include/boost/fusion/include/hash.hpp
 #usr/include/boost/fusion/include/ignore.hpp
 #usr/include/boost/fusion/include/in.hpp
 #usr/include/boost/fusion/include/insert.hpp
 #usr/include/boost/fusion/include/move.hpp
 #usr/include/boost/fusion/include/mpl.hpp
 #usr/include/boost/fusion/include/next.hpp
+#usr/include/boost/fusion/include/nil.hpp
 #usr/include/boost/fusion/include/none.hpp
 #usr/include/boost/fusion/include/not_equal_to.hpp
 #usr/include/boost/fusion/include/nview.hpp
 #usr/include/boost/fusion/include/single_view.hpp
 #usr/include/boost/fusion/include/size.hpp
 #usr/include/boost/fusion/include/std_pair.hpp
+#usr/include/boost/fusion/include/std_tuple.hpp
 #usr/include/boost/fusion/include/struct.hpp
 #usr/include/boost/fusion/include/support.hpp
 #usr/include/boost/fusion/include/swap.hpp
 #usr/include/boost/fusion/sequence/comparison/less_equal.hpp
 #usr/include/boost/fusion/sequence/comparison/not_equal_to.hpp
 #usr/include/boost/fusion/sequence/convert.hpp
+#usr/include/boost/fusion/sequence/hash.hpp
 #usr/include/boost/fusion/sequence/intrinsic
 #usr/include/boost/fusion/sequence/intrinsic.hpp
 #usr/include/boost/fusion/sequence/intrinsic/at.hpp
 #usr/include/boost/fusion/support.hpp
 #usr/include/boost/fusion/support/as_const.hpp
 #usr/include/boost/fusion/support/category_of.hpp
+#usr/include/boost/fusion/support/config.hpp
 #usr/include/boost/fusion/support/deduce.hpp
 #usr/include/boost/fusion/support/deduce_sequence.hpp
 #usr/include/boost/fusion/support/detail
 #usr/include/boost/fusion/support/detail/access.hpp
+#usr/include/boost/fusion/support/detail/and.hpp
 #usr/include/boost/fusion/support/detail/as_fusion_element.hpp
 #usr/include/boost/fusion/support/detail/category_of.hpp
+#usr/include/boost/fusion/support/detail/enabler.hpp
+#usr/include/boost/fusion/support/detail/index_sequence.hpp
 #usr/include/boost/fusion/support/detail/is_mpl_sequence.hpp
+#usr/include/boost/fusion/support/detail/is_same_size.hpp
 #usr/include/boost/fusion/support/detail/is_view.hpp
 #usr/include/boost/fusion/support/detail/mpl_iterator_category.hpp
 #usr/include/boost/fusion/support/detail/pp_round.hpp
 #usr/include/boost/fusion/tuple
 #usr/include/boost/fusion/tuple.hpp
 #usr/include/boost/fusion/tuple/detail
+#usr/include/boost/fusion/tuple/detail/make_tuple.hpp
 #usr/include/boost/fusion/tuple/detail/preprocessed
 #usr/include/boost/fusion/tuple/detail/preprocessed/make_tuple.hpp
 #usr/include/boost/fusion/tuple/detail/preprocessed/make_tuple10.hpp
 #usr/include/boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp
 #usr/include/boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp
 #usr/include/boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp
+#usr/include/boost/fusion/tuple/detail/tuple.hpp
 #usr/include/boost/fusion/tuple/detail/tuple_expand.hpp
+#usr/include/boost/fusion/tuple/detail/tuple_fwd.hpp
+#usr/include/boost/fusion/tuple/detail/tuple_tie.hpp
 #usr/include/boost/fusion/tuple/make_tuple.hpp
 #usr/include/boost/fusion/tuple/tuple.hpp
 #usr/include/boost/fusion/tuple/tuple_fwd.hpp
 #usr/include/boost/fusion/view/filter_view/detail/value_of_impl.hpp
 #usr/include/boost/fusion/view/filter_view/filter_view.hpp
 #usr/include/boost/fusion/view/filter_view/filter_view_iterator.hpp
+#usr/include/boost/fusion/view/flatten_view
+#usr/include/boost/fusion/view/flatten_view.hpp
+#usr/include/boost/fusion/view/flatten_view/flatten_view.hpp
+#usr/include/boost/fusion/view/flatten_view/flatten_view_iterator.hpp
 #usr/include/boost/fusion/view/iterator_range
 #usr/include/boost/fusion/view/iterator_range.hpp
 #usr/include/boost/fusion/view/iterator_range/detail
 #usr/include/boost/fusion/view/nview/detail/advance_impl.hpp
 #usr/include/boost/fusion/view/nview/detail/at_impl.hpp
 #usr/include/boost/fusion/view/nview/detail/begin_impl.hpp
+#usr/include/boost/fusion/view/nview/detail/cpp03
+#usr/include/boost/fusion/view/nview/detail/cpp03/nview_impl.hpp
 #usr/include/boost/fusion/view/nview/detail/deref_impl.hpp
 #usr/include/boost/fusion/view/nview/detail/distance_impl.hpp
 #usr/include/boost/fusion/view/nview/detail/end_impl.hpp
 #usr/include/boost/geometry/algorithms/convex_hull.hpp
 #usr/include/boost/geometry/algorithms/correct.hpp
 #usr/include/boost/geometry/algorithms/covered_by.hpp
+#usr/include/boost/geometry/algorithms/crosses.hpp
 #usr/include/boost/geometry/algorithms/detail
 #usr/include/boost/geometry/algorithms/detail/as_range.hpp
 #usr/include/boost/geometry/algorithms/detail/assign_box_corners.hpp
 #usr/include/boost/geometry/algorithms/detail/assign_indexed_point.hpp
 #usr/include/boost/geometry/algorithms/detail/assign_values.hpp
+#usr/include/boost/geometry/algorithms/detail/azimuth.hpp
+#usr/include/boost/geometry/algorithms/detail/buffer
+#usr/include/boost/geometry/algorithms/detail/buffer/buffer_inserter.hpp
+#usr/include/boost/geometry/algorithms/detail/buffer/buffer_policies.hpp
+#usr/include/boost/geometry/algorithms/detail/buffer/buffered_piece_collection.hpp
+#usr/include/boost/geometry/algorithms/detail/buffer/buffered_ring.hpp
+#usr/include/boost/geometry/algorithms/detail/buffer/get_piece_turns.hpp
+#usr/include/boost/geometry/algorithms/detail/buffer/line_line_intersection.hpp
+#usr/include/boost/geometry/algorithms/detail/buffer/parallel_continue.hpp
+#usr/include/boost/geometry/algorithms/detail/buffer/turn_in_original_visitor.hpp
+#usr/include/boost/geometry/algorithms/detail/buffer/turn_in_piece_visitor.hpp
 #usr/include/boost/geometry/algorithms/detail/calculate_null.hpp
 #usr/include/boost/geometry/algorithms/detail/calculate_sum.hpp
+#usr/include/boost/geometry/algorithms/detail/centroid
+#usr/include/boost/geometry/algorithms/detail/centroid/translating_transformer.hpp
+#usr/include/boost/geometry/algorithms/detail/check_iterator_range.hpp
+#usr/include/boost/geometry/algorithms/detail/closest_feature
+#usr/include/boost/geometry/algorithms/detail/closest_feature/geometry_to_range.hpp
+#usr/include/boost/geometry/algorithms/detail/closest_feature/point_to_range.hpp
+#usr/include/boost/geometry/algorithms/detail/closest_feature/range_to_range.hpp
+#usr/include/boost/geometry/algorithms/detail/comparable_distance
+#usr/include/boost/geometry/algorithms/detail/comparable_distance/implementation.hpp
+#usr/include/boost/geometry/algorithms/detail/comparable_distance/interface.hpp
 #usr/include/boost/geometry/algorithms/detail/convert_indexed_to_indexed.hpp
 #usr/include/boost/geometry/algorithms/detail/convert_point_to_point.hpp
-#usr/include/boost/geometry/algorithms/detail/disjoint.hpp
+#usr/include/boost/geometry/algorithms/detail/counting.hpp
+#usr/include/boost/geometry/algorithms/detail/course.hpp
+#usr/include/boost/geometry/algorithms/detail/direction_code.hpp
+#usr/include/boost/geometry/algorithms/detail/disjoint
+#usr/include/boost/geometry/algorithms/detail/disjoint/areal_areal.hpp
+#usr/include/boost/geometry/algorithms/detail/disjoint/box_box.hpp
+#usr/include/boost/geometry/algorithms/detail/disjoint/implementation.hpp
+#usr/include/boost/geometry/algorithms/detail/disjoint/interface.hpp
+#usr/include/boost/geometry/algorithms/detail/disjoint/linear_areal.hpp
+#usr/include/boost/geometry/algorithms/detail/disjoint/linear_linear.hpp
+#usr/include/boost/geometry/algorithms/detail/disjoint/linear_segment_or_box.hpp
+#usr/include/boost/geometry/algorithms/detail/disjoint/multipoint_geometry.hpp
+#usr/include/boost/geometry/algorithms/detail/disjoint/multirange_geometry.hpp
+#usr/include/boost/geometry/algorithms/detail/disjoint/point_box.hpp
+#usr/include/boost/geometry/algorithms/detail/disjoint/point_geometry.hpp
+#usr/include/boost/geometry/algorithms/detail/disjoint/point_point.hpp
+#usr/include/boost/geometry/algorithms/detail/disjoint/segment_box.hpp
+#usr/include/boost/geometry/algorithms/detail/distance
+#usr/include/boost/geometry/algorithms/detail/distance/backward_compatibility.hpp
+#usr/include/boost/geometry/algorithms/detail/distance/box_to_box.hpp
+#usr/include/boost/geometry/algorithms/detail/distance/default_strategies.hpp
+#usr/include/boost/geometry/algorithms/detail/distance/geometry_to_segment_or_box.hpp
+#usr/include/boost/geometry/algorithms/detail/distance/implementation.hpp
+#usr/include/boost/geometry/algorithms/detail/distance/interface.hpp
+#usr/include/boost/geometry/algorithms/detail/distance/is_comparable.hpp
+#usr/include/boost/geometry/algorithms/detail/distance/iterator_selector.hpp
+#usr/include/boost/geometry/algorithms/detail/distance/linear_or_areal_to_areal.hpp
+#usr/include/boost/geometry/algorithms/detail/distance/linear_to_linear.hpp
+#usr/include/boost/geometry/algorithms/detail/distance/multipoint_to_geometry.hpp
+#usr/include/boost/geometry/algorithms/detail/distance/point_to_geometry.hpp
+#usr/include/boost/geometry/algorithms/detail/distance/range_to_geometry_rtree.hpp
+#usr/include/boost/geometry/algorithms/detail/distance/segment_to_box.hpp
+#usr/include/boost/geometry/algorithms/detail/distance/segment_to_segment.hpp
+#usr/include/boost/geometry/algorithms/detail/envelope
+#usr/include/boost/geometry/algorithms/detail/envelope/box.hpp
+#usr/include/boost/geometry/algorithms/detail/envelope/implementation.hpp
+#usr/include/boost/geometry/algorithms/detail/envelope/initialize.hpp
+#usr/include/boost/geometry/algorithms/detail/envelope/interface.hpp
+#usr/include/boost/geometry/algorithms/detail/envelope/intersects_antimeridian.hpp
+#usr/include/boost/geometry/algorithms/detail/envelope/linear.hpp
+#usr/include/boost/geometry/algorithms/detail/envelope/multipoint.hpp
+#usr/include/boost/geometry/algorithms/detail/envelope/point.hpp
+#usr/include/boost/geometry/algorithms/detail/envelope/range.hpp
+#usr/include/boost/geometry/algorithms/detail/envelope/range_of_boxes.hpp
+#usr/include/boost/geometry/algorithms/detail/envelope/segment.hpp
+#usr/include/boost/geometry/algorithms/detail/envelope/transform_units.hpp
 #usr/include/boost/geometry/algorithms/detail/equals
 #usr/include/boost/geometry/algorithms/detail/equals/collect_vectors.hpp
+#usr/include/boost/geometry/algorithms/detail/equals/point_point.hpp
+#usr/include/boost/geometry/algorithms/detail/expand
+#usr/include/boost/geometry/algorithms/detail/expand/box.hpp
+#usr/include/boost/geometry/algorithms/detail/expand/implementation.hpp
+#usr/include/boost/geometry/algorithms/detail/expand/indexed.hpp
+#usr/include/boost/geometry/algorithms/detail/expand/interface.hpp
+#usr/include/boost/geometry/algorithms/detail/expand/point.hpp
+#usr/include/boost/geometry/algorithms/detail/expand/segment.hpp
+#usr/include/boost/geometry/algorithms/detail/expand_by_epsilon.hpp
+#usr/include/boost/geometry/algorithms/detail/extreme_points.hpp
 #usr/include/boost/geometry/algorithms/detail/for_each_range.hpp
 #usr/include/boost/geometry/algorithms/detail/get_left_turns.hpp
+#usr/include/boost/geometry/algorithms/detail/get_max_size.hpp
 #usr/include/boost/geometry/algorithms/detail/has_self_intersections.hpp
+#usr/include/boost/geometry/algorithms/detail/interior_iterator.hpp
+#usr/include/boost/geometry/algorithms/detail/intersection
+#usr/include/boost/geometry/algorithms/detail/intersection/box_box.hpp
+#usr/include/boost/geometry/algorithms/detail/intersection/implementation.hpp
+#usr/include/boost/geometry/algorithms/detail/intersection/interface.hpp
+#usr/include/boost/geometry/algorithms/detail/intersection/multi.hpp
+#usr/include/boost/geometry/algorithms/detail/is_simple
+#usr/include/boost/geometry/algorithms/detail/is_simple/always_simple.hpp
+#usr/include/boost/geometry/algorithms/detail/is_simple/areal.hpp
+#usr/include/boost/geometry/algorithms/detail/is_simple/debug_print_boundary_points.hpp
+#usr/include/boost/geometry/algorithms/detail/is_simple/failure_policy.hpp
+#usr/include/boost/geometry/algorithms/detail/is_simple/implementation.hpp
+#usr/include/boost/geometry/algorithms/detail/is_simple/interface.hpp
+#usr/include/boost/geometry/algorithms/detail/is_simple/linear.hpp
+#usr/include/boost/geometry/algorithms/detail/is_simple/multipoint.hpp
+#usr/include/boost/geometry/algorithms/detail/is_valid
+#usr/include/boost/geometry/algorithms/detail/is_valid/box.hpp
+#usr/include/boost/geometry/algorithms/detail/is_valid/complement_graph.hpp
+#usr/include/boost/geometry/algorithms/detail/is_valid/debug_complement_graph.hpp
+#usr/include/boost/geometry/algorithms/detail/is_valid/debug_print_turns.hpp
+#usr/include/boost/geometry/algorithms/detail/is_valid/debug_validity_phase.hpp
+#usr/include/boost/geometry/algorithms/detail/is_valid/has_duplicates.hpp
+#usr/include/boost/geometry/algorithms/detail/is_valid/has_invalid_coordinate.hpp
+#usr/include/boost/geometry/algorithms/detail/is_valid/has_spikes.hpp
+#usr/include/boost/geometry/algorithms/detail/is_valid/has_valid_self_turns.hpp
+#usr/include/boost/geometry/algorithms/detail/is_valid/implementation.hpp
+#usr/include/boost/geometry/algorithms/detail/is_valid/interface.hpp
+#usr/include/boost/geometry/algorithms/detail/is_valid/is_acceptable_turn.hpp
+#usr/include/boost/geometry/algorithms/detail/is_valid/linear.hpp
+#usr/include/boost/geometry/algorithms/detail/is_valid/multipolygon.hpp
+#usr/include/boost/geometry/algorithms/detail/is_valid/pointlike.hpp
+#usr/include/boost/geometry/algorithms/detail/is_valid/polygon.hpp
+#usr/include/boost/geometry/algorithms/detail/is_valid/ring.hpp
+#usr/include/boost/geometry/algorithms/detail/is_valid/segment.hpp
+#usr/include/boost/geometry/algorithms/detail/max_interval_gap.hpp
+#usr/include/boost/geometry/algorithms/detail/multi_modify.hpp
+#usr/include/boost/geometry/algorithms/detail/multi_modify_with_predicate.hpp
+#usr/include/boost/geometry/algorithms/detail/multi_sum.hpp
+#usr/include/boost/geometry/algorithms/detail/normalize.hpp
 #usr/include/boost/geometry/algorithms/detail/not.hpp
+#usr/include/boost/geometry/algorithms/detail/num_distinct_consecutive_points.hpp
 #usr/include/boost/geometry/algorithms/detail/occupation_info.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay
 #usr/include/boost/geometry/algorithms/detail/overlay/add_rings.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/aggregate_operations.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/append_no_duplicates.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/append_no_dups_or_spikes.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/assign_parents.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/backtrack_check_si.hpp
-#usr/include/boost/geometry/algorithms/detail/overlay/calculate_distance_policy.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/check_enrich.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/clip_linestring.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/cluster_info.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/convert_ring.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/copy_segment_point.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/copy_segments.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/debug_turn_info.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/do_reverse.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/enrich_intersection_points.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/enrichment_info.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/follow.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/follow_linear_linear.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/get_intersection_points.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/get_relative_order.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/get_ring.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/get_turn_info.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/get_turn_info_for_endpoint.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/get_turn_info_helpers.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/get_turn_info_la.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/get_turn_info_ll.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/get_turns.hpp
-#usr/include/boost/geometry/algorithms/detail/overlay/handle_tangencies.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/handle_colocations.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/inconsistent_turns_exception.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/intersection_box_box.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/less_by_segment_ratio.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/linear_linear.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/overlay.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/overlay_type.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/pointlike_linear.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/pointlike_pointlike.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/ring_properties.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/segment_identifier.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/select_rings.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/self_turn_points.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/sort_by_side.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/stream_info.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/traversal.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/traversal_info.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/traversal_ring_creator.hpp
+#usr/include/boost/geometry/algorithms/detail/overlay/traversal_switch_detector.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/traverse.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/turn_info.hpp
 #usr/include/boost/geometry/algorithms/detail/overlay/visit_info.hpp
 #usr/include/boost/geometry/algorithms/detail/partition.hpp
 #usr/include/boost/geometry/algorithms/detail/point_is_spike_or_equal.hpp
 #usr/include/boost/geometry/algorithms/detail/point_on_border.hpp
+#usr/include/boost/geometry/algorithms/detail/recalculate.hpp
+#usr/include/boost/geometry/algorithms/detail/relate
+#usr/include/boost/geometry/algorithms/detail/relate/areal_areal.hpp
+#usr/include/boost/geometry/algorithms/detail/relate/boundary_checker.hpp
+#usr/include/boost/geometry/algorithms/detail/relate/de9im.hpp
+#usr/include/boost/geometry/algorithms/detail/relate/follow_helpers.hpp
+#usr/include/boost/geometry/algorithms/detail/relate/implementation.hpp
+#usr/include/boost/geometry/algorithms/detail/relate/interface.hpp
+#usr/include/boost/geometry/algorithms/detail/relate/less.hpp
+#usr/include/boost/geometry/algorithms/detail/relate/linear_areal.hpp
+#usr/include/boost/geometry/algorithms/detail/relate/linear_linear.hpp
+#usr/include/boost/geometry/algorithms/detail/relate/point_geometry.hpp
+#usr/include/boost/geometry/algorithms/detail/relate/point_point.hpp
+#usr/include/boost/geometry/algorithms/detail/relate/relate_impl.hpp
+#usr/include/boost/geometry/algorithms/detail/relate/result.hpp
+#usr/include/boost/geometry/algorithms/detail/relate/topology_check.hpp
+#usr/include/boost/geometry/algorithms/detail/relate/turns.hpp
+#usr/include/boost/geometry/algorithms/detail/relation
+#usr/include/boost/geometry/algorithms/detail/relation/implementation.hpp
+#usr/include/boost/geometry/algorithms/detail/relation/interface.hpp
 #usr/include/boost/geometry/algorithms/detail/ring_identifier.hpp
 #usr/include/boost/geometry/algorithms/detail/sections
 #usr/include/boost/geometry/algorithms/detail/sections/range_by_section.hpp
+#usr/include/boost/geometry/algorithms/detail/sections/section_box_policies.hpp
+#usr/include/boost/geometry/algorithms/detail/sections/section_functions.hpp
 #usr/include/boost/geometry/algorithms/detail/sections/sectionalize.hpp
+#usr/include/boost/geometry/algorithms/detail/signed_size_type.hpp
+#usr/include/boost/geometry/algorithms/detail/single_geometry.hpp
+#usr/include/boost/geometry/algorithms/detail/sub_range.hpp
+#usr/include/boost/geometry/algorithms/detail/sweep.hpp
 #usr/include/boost/geometry/algorithms/detail/throw_on_empty_input.hpp
+#usr/include/boost/geometry/algorithms/detail/turns
+#usr/include/boost/geometry/algorithms/detail/turns/compare_turns.hpp
+#usr/include/boost/geometry/algorithms/detail/turns/debug_turn.hpp
+#usr/include/boost/geometry/algorithms/detail/turns/filter_continue_turns.hpp
+#usr/include/boost/geometry/algorithms/detail/turns/print_turns.hpp
+#usr/include/boost/geometry/algorithms/detail/turns/remove_duplicate_turns.hpp
+#usr/include/boost/geometry/algorithms/detail/within
+#usr/include/boost/geometry/algorithms/detail/within/point_in_geometry.hpp
+#usr/include/boost/geometry/algorithms/detail/within/within_no_turns.hpp
 #usr/include/boost/geometry/algorithms/difference.hpp
 #usr/include/boost/geometry/algorithms/disjoint.hpp
+#usr/include/boost/geometry/algorithms/dispatch
+#usr/include/boost/geometry/algorithms/dispatch/disjoint.hpp
+#usr/include/boost/geometry/algorithms/dispatch/distance.hpp
+#usr/include/boost/geometry/algorithms/dispatch/envelope.hpp
+#usr/include/boost/geometry/algorithms/dispatch/expand.hpp
+#usr/include/boost/geometry/algorithms/dispatch/is_simple.hpp
+#usr/include/boost/geometry/algorithms/dispatch/is_valid.hpp
 #usr/include/boost/geometry/algorithms/distance.hpp
 #usr/include/boost/geometry/algorithms/envelope.hpp
 #usr/include/boost/geometry/algorithms/equals.hpp
 #usr/include/boost/geometry/algorithms/for_each.hpp
 #usr/include/boost/geometry/algorithms/intersection.hpp
 #usr/include/boost/geometry/algorithms/intersects.hpp
+#usr/include/boost/geometry/algorithms/is_convex.hpp
+#usr/include/boost/geometry/algorithms/is_empty.hpp
+#usr/include/boost/geometry/algorithms/is_simple.hpp
+#usr/include/boost/geometry/algorithms/is_valid.hpp
 #usr/include/boost/geometry/algorithms/length.hpp
 #usr/include/boost/geometry/algorithms/make.hpp
 #usr/include/boost/geometry/algorithms/not_implemented.hpp
 #usr/include/boost/geometry/algorithms/num_geometries.hpp
 #usr/include/boost/geometry/algorithms/num_interior_rings.hpp
 #usr/include/boost/geometry/algorithms/num_points.hpp
+#usr/include/boost/geometry/algorithms/num_segments.hpp
 #usr/include/boost/geometry/algorithms/overlaps.hpp
 #usr/include/boost/geometry/algorithms/perimeter.hpp
+#usr/include/boost/geometry/algorithms/point_on_surface.hpp
+#usr/include/boost/geometry/algorithms/relate.hpp
+#usr/include/boost/geometry/algorithms/relation.hpp
+#usr/include/boost/geometry/algorithms/remove_spikes.hpp
 #usr/include/boost/geometry/algorithms/reverse.hpp
 #usr/include/boost/geometry/algorithms/simplify.hpp
 #usr/include/boost/geometry/algorithms/sym_difference.hpp
 #usr/include/boost/geometry/algorithms/transform.hpp
 #usr/include/boost/geometry/algorithms/union.hpp
 #usr/include/boost/geometry/algorithms/unique.hpp
+#usr/include/boost/geometry/algorithms/validity_failure_type.hpp
 #usr/include/boost/geometry/algorithms/within.hpp
 #usr/include/boost/geometry/arithmetic
 #usr/include/boost/geometry/arithmetic/arithmetic.hpp
+#usr/include/boost/geometry/arithmetic/cross_product.hpp
 #usr/include/boost/geometry/arithmetic/determinant.hpp
 #usr/include/boost/geometry/arithmetic/dot_product.hpp
+#usr/include/boost/geometry/arithmetic/normalize.hpp
 #usr/include/boost/geometry/core
 #usr/include/boost/geometry/core/access.hpp
+#usr/include/boost/geometry/core/assert.hpp
 #usr/include/boost/geometry/core/closure.hpp
 #usr/include/boost/geometry/core/coordinate_dimension.hpp
 #usr/include/boost/geometry/core/coordinate_system.hpp
 #usr/include/boost/geometry/core/point_order.hpp
 #usr/include/boost/geometry/core/point_type.hpp
 #usr/include/boost/geometry/core/radian_access.hpp
+#usr/include/boost/geometry/core/radius.hpp
 #usr/include/boost/geometry/core/reverse_dispatch.hpp
 #usr/include/boost/geometry/core/ring_type.hpp
+#usr/include/boost/geometry/core/srs.hpp
 #usr/include/boost/geometry/core/tag.hpp
 #usr/include/boost/geometry/core/tag_cast.hpp
 #usr/include/boost/geometry/core/tags.hpp
 #usr/include/boost/geometry/core/topological_dimension.hpp
+#usr/include/boost/geometry/formulas
+#usr/include/boost/geometry/formulas/andoyer_inverse.hpp
+#usr/include/boost/geometry/formulas/area_formulas.hpp
+#usr/include/boost/geometry/formulas/differential_quantities.hpp
+#usr/include/boost/geometry/formulas/eccentricity_sqr.hpp
+#usr/include/boost/geometry/formulas/flattening.hpp
+#usr/include/boost/geometry/formulas/geographic.hpp
+#usr/include/boost/geometry/formulas/gnomonic_intersection.hpp
+#usr/include/boost/geometry/formulas/gnomonic_spheroid.hpp
+#usr/include/boost/geometry/formulas/result_direct.hpp
+#usr/include/boost/geometry/formulas/result_inverse.hpp
+#usr/include/boost/geometry/formulas/sjoberg_intersection.hpp
+#usr/include/boost/geometry/formulas/spherical.hpp
+#usr/include/boost/geometry/formulas/thomas_direct.hpp
+#usr/include/boost/geometry/formulas/thomas_inverse.hpp
+#usr/include/boost/geometry/formulas/vertex_latitude.hpp
+#usr/include/boost/geometry/formulas/vincenty_direct.hpp
+#usr/include/boost/geometry/formulas/vincenty_inverse.hpp
 #usr/include/boost/geometry/geometries
 #usr/include/boost/geometry/geometries/adapted
 #usr/include/boost/geometry/geometries/adapted/boost_array.hpp
 #usr/include/boost/geometry/geometries/adapted/boost_range/uniqued.hpp
 #usr/include/boost/geometry/geometries/adapted/boost_tuple.hpp
 #usr/include/boost/geometry/geometries/adapted/c_array.hpp
+#usr/include/boost/geometry/geometries/adapted/std_array.hpp
 #usr/include/boost/geometry/geometries/adapted/std_pair_as_segment.hpp
 #usr/include/boost/geometry/geometries/box.hpp
 #usr/include/boost/geometry/geometries/concepts
 #usr/include/boost/geometry/geometries/concepts/box_concept.hpp
 #usr/include/boost/geometry/geometries/concepts/check.hpp
 #usr/include/boost/geometry/geometries/concepts/linestring_concept.hpp
+#usr/include/boost/geometry/geometries/concepts/multi_linestring_concept.hpp
+#usr/include/boost/geometry/geometries/concepts/multi_point_concept.hpp
+#usr/include/boost/geometry/geometries/concepts/multi_polygon_concept.hpp
 #usr/include/boost/geometry/geometries/concepts/point_concept.hpp
 #usr/include/boost/geometry/geometries/concepts/polygon_concept.hpp
 #usr/include/boost/geometry/geometries/concepts/ring_concept.hpp
 #usr/include/boost/geometry/geometries/concepts/segment_concept.hpp
 #usr/include/boost/geometry/geometries/geometries.hpp
+#usr/include/boost/geometry/geometries/helper_geometry.hpp
 #usr/include/boost/geometry/geometries/linestring.hpp
+#usr/include/boost/geometry/geometries/multi_linestring.hpp
+#usr/include/boost/geometry/geometries/multi_point.hpp
+#usr/include/boost/geometry/geometries/multi_polygon.hpp
 #usr/include/boost/geometry/geometries/point.hpp
 #usr/include/boost/geometry/geometries/point_xy.hpp
+#usr/include/boost/geometry/geometries/pointing_segment.hpp
 #usr/include/boost/geometry/geometries/polygon.hpp
 #usr/include/boost/geometry/geometries/register
 #usr/include/boost/geometry/geometries/register/box.hpp
 #usr/include/boost/geometry/geometries/register/linestring.hpp
+#usr/include/boost/geometry/geometries/register/multi_linestring.hpp
+#usr/include/boost/geometry/geometries/register/multi_point.hpp
+#usr/include/boost/geometry/geometries/register/multi_polygon.hpp
 #usr/include/boost/geometry/geometries/register/point.hpp
 #usr/include/boost/geometry/geometries/register/ring.hpp
 #usr/include/boost/geometry/geometries/register/segment.hpp
 #usr/include/boost/geometry/index/detail/algorithms/is_valid.hpp
 #usr/include/boost/geometry/index/detail/algorithms/margin.hpp
 #usr/include/boost/geometry/index/detail/algorithms/minmaxdist.hpp
+#usr/include/boost/geometry/index/detail/algorithms/nth_element.hpp
 #usr/include/boost/geometry/index/detail/algorithms/path_intersection.hpp
 #usr/include/boost/geometry/index/detail/algorithms/segment_intersection.hpp
 #usr/include/boost/geometry/index/detail/algorithms/smallest_for_indexable.hpp
 #usr/include/boost/geometry/index/detail/algorithms/sum_for_indexable.hpp
 #usr/include/boost/geometry/index/detail/algorithms/union_content.hpp
 #usr/include/boost/geometry/index/detail/assert.hpp
+#usr/include/boost/geometry/index/detail/bounded_view.hpp
 #usr/include/boost/geometry/index/detail/config_begin.hpp
 #usr/include/boost/geometry/index/detail/config_end.hpp
 #usr/include/boost/geometry/index/detail/distance_predicates.hpp
 #usr/include/boost/geometry/index/detail/exception.hpp
+#usr/include/boost/geometry/index/detail/is_bounding_geometry.hpp
+#usr/include/boost/geometry/index/detail/is_indexable.hpp
 #usr/include/boost/geometry/index/detail/meta.hpp
 #usr/include/boost/geometry/index/detail/predicates.hpp
-#usr/include/boost/geometry/index/detail/pushable_array.hpp
 #usr/include/boost/geometry/index/detail/rtree
 #usr/include/boost/geometry/index/detail/rtree/adaptors.hpp
+#usr/include/boost/geometry/index/detail/rtree/iterators.hpp
 #usr/include/boost/geometry/index/detail/rtree/kmeans
 #usr/include/boost/geometry/index/detail/rtree/kmeans/kmeans.hpp
 #usr/include/boost/geometry/index/detail/rtree/kmeans/split.hpp
 #usr/include/boost/geometry/index/detail/rtree/linear/linear.hpp
 #usr/include/boost/geometry/index/detail/rtree/linear/redistribute_elements.hpp
 #usr/include/boost/geometry/index/detail/rtree/node
-#usr/include/boost/geometry/index/detail/rtree/node/auto_deallocator.hpp
 #usr/include/boost/geometry/index/detail/rtree/node/concept.hpp
-#usr/include/boost/geometry/index/detail/rtree/node/dynamic_visitor.hpp
 #usr/include/boost/geometry/index/detail/rtree/node/node.hpp
-#usr/include/boost/geometry/index/detail/rtree/node/node_auto_ptr.hpp
-#usr/include/boost/geometry/index/detail/rtree/node/node_d_mem_dynamic.hpp
-#usr/include/boost/geometry/index/detail/rtree/node/node_d_mem_static.hpp
-#usr/include/boost/geometry/index/detail/rtree/node/node_s_mem_dynamic.hpp
-#usr/include/boost/geometry/index/detail/rtree/node/node_s_mem_static.hpp
+#usr/include/boost/geometry/index/detail/rtree/node/node_elements.hpp
 #usr/include/boost/geometry/index/detail/rtree/node/pairs.hpp
-#usr/include/boost/geometry/index/detail/rtree/node/static_visitor.hpp
+#usr/include/boost/geometry/index/detail/rtree/node/scoped_deallocator.hpp
+#usr/include/boost/geometry/index/detail/rtree/node/subtree_destroyer.hpp
+#usr/include/boost/geometry/index/detail/rtree/node/variant_dynamic.hpp
+#usr/include/boost/geometry/index/detail/rtree/node/variant_static.hpp
+#usr/include/boost/geometry/index/detail/rtree/node/variant_visitor.hpp
+#usr/include/boost/geometry/index/detail/rtree/node/weak_dynamic.hpp
+#usr/include/boost/geometry/index/detail/rtree/node/weak_static.hpp
+#usr/include/boost/geometry/index/detail/rtree/node/weak_visitor.hpp
 #usr/include/boost/geometry/index/detail/rtree/options.hpp
 #usr/include/boost/geometry/index/detail/rtree/pack_create.hpp
 #usr/include/boost/geometry/index/detail/rtree/quadratic
 #usr/include/boost/geometry/index/detail/rtree/rstar/rstar.hpp
 #usr/include/boost/geometry/index/detail/rtree/utilities
 #usr/include/boost/geometry/index/detail/rtree/utilities/are_boxes_ok.hpp
+#usr/include/boost/geometry/index/detail/rtree/utilities/are_counts_ok.hpp
 #usr/include/boost/geometry/index/detail/rtree/utilities/are_levels_ok.hpp
 #usr/include/boost/geometry/index/detail/rtree/utilities/gl_draw.hpp
 #usr/include/boost/geometry/index/detail/rtree/utilities/print.hpp
 #usr/include/boost/geometry/index/detail/rtree/visitors/distance_query.hpp
 #usr/include/boost/geometry/index/detail/rtree/visitors/insert.hpp
 #usr/include/boost/geometry/index/detail/rtree/visitors/is_leaf.hpp
+#usr/include/boost/geometry/index/detail/rtree/visitors/iterator.hpp
 #usr/include/boost/geometry/index/detail/rtree/visitors/remove.hpp
 #usr/include/boost/geometry/index/detail/rtree/visitors/spatial_query.hpp
 #usr/include/boost/geometry/index/detail/serialization.hpp
 #usr/include/boost/geometry/io/io.hpp
 #usr/include/boost/geometry/io/svg
 #usr/include/boost/geometry/io/svg/svg_mapper.hpp
+#usr/include/boost/geometry/io/svg/write.hpp
 #usr/include/boost/geometry/io/svg/write_svg.hpp
 #usr/include/boost/geometry/io/svg/write_svg_multi.hpp
 #usr/include/boost/geometry/io/wkt
 #usr/include/boost/geometry/iterators
 #usr/include/boost/geometry/iterators/base.hpp
 #usr/include/boost/geometry/iterators/closing_iterator.hpp
+#usr/include/boost/geometry/iterators/concatenate_iterator.hpp
+#usr/include/boost/geometry/iterators/detail
+#usr/include/boost/geometry/iterators/detail/point_iterator
+#usr/include/boost/geometry/iterators/detail/point_iterator/inner_range_type.hpp
+#usr/include/boost/geometry/iterators/detail/point_iterator/iterator_type.hpp
+#usr/include/boost/geometry/iterators/detail/point_iterator/value_type.hpp
+#usr/include/boost/geometry/iterators/detail/segment_iterator
+#usr/include/boost/geometry/iterators/detail/segment_iterator/iterator_type.hpp
+#usr/include/boost/geometry/iterators/detail/segment_iterator/range_segment_iterator.hpp
+#usr/include/boost/geometry/iterators/detail/segment_iterator/value_type.hpp
+#usr/include/boost/geometry/iterators/dispatch
+#usr/include/boost/geometry/iterators/dispatch/point_iterator.hpp
+#usr/include/boost/geometry/iterators/dispatch/segment_iterator.hpp
 #usr/include/boost/geometry/iterators/ever_circling_iterator.hpp
+#usr/include/boost/geometry/iterators/flatten_iterator.hpp
+#usr/include/boost/geometry/iterators/has_one_element.hpp
+#usr/include/boost/geometry/iterators/point_iterator.hpp
+#usr/include/boost/geometry/iterators/point_reverse_iterator.hpp
+#usr/include/boost/geometry/iterators/segment_iterator.hpp
 #usr/include/boost/geometry/multi
 #usr/include/boost/geometry/multi/algorithms
 #usr/include/boost/geometry/multi/algorithms/append.hpp
 #usr/include/boost/geometry/multi/algorithms/correct.hpp
 #usr/include/boost/geometry/multi/algorithms/covered_by.hpp
 #usr/include/boost/geometry/multi/algorithms/detail
+#usr/include/boost/geometry/multi/algorithms/detail/extreme_points.hpp
 #usr/include/boost/geometry/multi/algorithms/detail/for_each_range.hpp
 #usr/include/boost/geometry/multi/algorithms/detail/modify.hpp
 #usr/include/boost/geometry/multi/algorithms/detail/modify_with_predicate.hpp
 #usr/include/boost/geometry/multi/algorithms/detail/overlay/copy_segments.hpp
 #usr/include/boost/geometry/multi/algorithms/detail/overlay/get_ring.hpp
 #usr/include/boost/geometry/multi/algorithms/detail/overlay/get_turns.hpp
-#usr/include/boost/geometry/multi/algorithms/detail/overlay/select_rings.hpp
 #usr/include/boost/geometry/multi/algorithms/detail/overlay/self_turn_points.hpp
 #usr/include/boost/geometry/multi/algorithms/detail/point_on_border.hpp
 #usr/include/boost/geometry/multi/algorithms/detail/sections
 #usr/include/boost/geometry/multi/algorithms/num_interior_rings.hpp
 #usr/include/boost/geometry/multi/algorithms/num_points.hpp
 #usr/include/boost/geometry/multi/algorithms/perimeter.hpp
+#usr/include/boost/geometry/multi/algorithms/remove_spikes.hpp
 #usr/include/boost/geometry/multi/algorithms/reverse.hpp
 #usr/include/boost/geometry/multi/algorithms/simplify.hpp
 #usr/include/boost/geometry/multi/algorithms/transform.hpp
 #usr/include/boost/geometry/multi/views/detail/range_type.hpp
 #usr/include/boost/geometry/policies
 #usr/include/boost/geometry/policies/compare.hpp
+#usr/include/boost/geometry/policies/disjoint_interrupt_policy.hpp
+#usr/include/boost/geometry/policies/is_valid
+#usr/include/boost/geometry/policies/is_valid/default_policy.hpp
+#usr/include/boost/geometry/policies/is_valid/failing_reason_policy.hpp
+#usr/include/boost/geometry/policies/is_valid/failure_type_policy.hpp
+#usr/include/boost/geometry/policies/predicate_based_interrupt_policy.hpp
 #usr/include/boost/geometry/policies/relate
-#usr/include/boost/geometry/policies/relate/de9im.hpp
 #usr/include/boost/geometry/policies/relate/direction.hpp
 #usr/include/boost/geometry/policies/relate/intersection_points.hpp
+#usr/include/boost/geometry/policies/relate/intersection_ratios.hpp
 #usr/include/boost/geometry/policies/relate/tupled.hpp
+#usr/include/boost/geometry/policies/robustness
+#usr/include/boost/geometry/policies/robustness/get_rescale_policy.hpp
+#usr/include/boost/geometry/policies/robustness/no_rescale_policy.hpp
+#usr/include/boost/geometry/policies/robustness/rescale_policy.hpp
+#usr/include/boost/geometry/policies/robustness/robust_point_type.hpp
+#usr/include/boost/geometry/policies/robustness/robust_type.hpp
+#usr/include/boost/geometry/policies/robustness/segment_ratio.hpp
+#usr/include/boost/geometry/policies/robustness/segment_ratio_type.hpp
 #usr/include/boost/geometry/strategies
 #usr/include/boost/geometry/strategies/agnostic
+#usr/include/boost/geometry/strategies/agnostic/buffer_distance_asymmetric.hpp
+#usr/include/boost/geometry/strategies/agnostic/buffer_distance_symmetric.hpp
 #usr/include/boost/geometry/strategies/agnostic/hull_graham_andrew.hpp
 #usr/include/boost/geometry/strategies/agnostic/point_in_box_by_side.hpp
+#usr/include/boost/geometry/strategies/agnostic/point_in_point.hpp
 #usr/include/boost/geometry/strategies/agnostic/point_in_poly_oriented_winding.hpp
 #usr/include/boost/geometry/strategies/agnostic/point_in_poly_winding.hpp
 #usr/include/boost/geometry/strategies/agnostic/simplify_douglas_peucker.hpp
 #usr/include/boost/geometry/strategies/area.hpp
+#usr/include/boost/geometry/strategies/azimuth.hpp
+#usr/include/boost/geometry/strategies/buffer.hpp
 #usr/include/boost/geometry/strategies/cartesian
 #usr/include/boost/geometry/strategies/cartesian/area_surveyor.hpp
+#usr/include/boost/geometry/strategies/cartesian/azimuth.hpp
 #usr/include/boost/geometry/strategies/cartesian/box_in_box.hpp
-#usr/include/boost/geometry/strategies/cartesian/cart_intersect.hpp
+#usr/include/boost/geometry/strategies/cartesian/buffer_end_flat.hpp
+#usr/include/boost/geometry/strategies/cartesian/buffer_end_round.hpp
+#usr/include/boost/geometry/strategies/cartesian/buffer_join_miter.hpp
+#usr/include/boost/geometry/strategies/cartesian/buffer_join_round.hpp
+#usr/include/boost/geometry/strategies/cartesian/buffer_join_round_by_divide.hpp
+#usr/include/boost/geometry/strategies/cartesian/buffer_point_circle.hpp
+#usr/include/boost/geometry/strategies/cartesian/buffer_point_square.hpp
+#usr/include/boost/geometry/strategies/cartesian/buffer_side_straight.hpp
+#usr/include/boost/geometry/strategies/cartesian/centroid_average.hpp
 #usr/include/boost/geometry/strategies/cartesian/centroid_bashein_detmer.hpp
 #usr/include/boost/geometry/strategies/cartesian/centroid_weighted_length.hpp
+#usr/include/boost/geometry/strategies/cartesian/disjoint_segment_box.hpp
 #usr/include/boost/geometry/strategies/cartesian/distance_projected_point.hpp
+#usr/include/boost/geometry/strategies/cartesian/distance_projected_point_ax.hpp
 #usr/include/boost/geometry/strategies/cartesian/distance_pythagoras.hpp
+#usr/include/boost/geometry/strategies/cartesian/distance_pythagoras_box_box.hpp
+#usr/include/boost/geometry/strategies/cartesian/distance_pythagoras_point_box.hpp
+#usr/include/boost/geometry/strategies/cartesian/envelope_segment.hpp
+#usr/include/boost/geometry/strategies/cartesian/intersection.hpp
 #usr/include/boost/geometry/strategies/cartesian/point_in_box.hpp
 #usr/include/boost/geometry/strategies/cartesian/point_in_poly_crossings_multiply.hpp
 #usr/include/boost/geometry/strategies/cartesian/point_in_poly_franklin.hpp
 #usr/include/boost/geometry/strategies/cartesian/side_by_triangle.hpp
+#usr/include/boost/geometry/strategies/cartesian/side_of_intersection.hpp
 #usr/include/boost/geometry/strategies/centroid.hpp
+#usr/include/boost/geometry/strategies/comparable_distance_result.hpp
 #usr/include/boost/geometry/strategies/compare.hpp
 #usr/include/boost/geometry/strategies/concepts
 #usr/include/boost/geometry/strategies/concepts/area_concept.hpp
 #usr/include/boost/geometry/strategies/convex_hull.hpp
 #usr/include/boost/geometry/strategies/covered_by.hpp
 #usr/include/boost/geometry/strategies/default_area_result.hpp
+#usr/include/boost/geometry/strategies/default_comparable_distance_result.hpp
 #usr/include/boost/geometry/strategies/default_distance_result.hpp
 #usr/include/boost/geometry/strategies/default_length_result.hpp
+#usr/include/boost/geometry/strategies/default_strategy.hpp
+#usr/include/boost/geometry/strategies/disjoint.hpp
 #usr/include/boost/geometry/strategies/distance.hpp
+#usr/include/boost/geometry/strategies/distance_result.hpp
+#usr/include/boost/geometry/strategies/envelope.hpp
+#usr/include/boost/geometry/strategies/geographic
+#usr/include/boost/geometry/strategies/geographic/area.hpp
+#usr/include/boost/geometry/strategies/geographic/azimuth.hpp
+#usr/include/boost/geometry/strategies/geographic/distance.hpp
+#usr/include/boost/geometry/strategies/geographic/distance_andoyer.hpp
+#usr/include/boost/geometry/strategies/geographic/distance_thomas.hpp
+#usr/include/boost/geometry/strategies/geographic/distance_vincenty.hpp
+#usr/include/boost/geometry/strategies/geographic/envelope_segment.hpp
+#usr/include/boost/geometry/strategies/geographic/intersection.hpp
+#usr/include/boost/geometry/strategies/geographic/intersection_elliptic.hpp
+#usr/include/boost/geometry/strategies/geographic/mapping_ssf.hpp
+#usr/include/boost/geometry/strategies/geographic/parameters.hpp
+#usr/include/boost/geometry/strategies/geographic/side.hpp
+#usr/include/boost/geometry/strategies/geographic/side_andoyer.hpp
+#usr/include/boost/geometry/strategies/geographic/side_thomas.hpp
+#usr/include/boost/geometry/strategies/geographic/side_vincenty.hpp
 #usr/include/boost/geometry/strategies/intersection.hpp
 #usr/include/boost/geometry/strategies/intersection_result.hpp
+#usr/include/boost/geometry/strategies/intersection_strategies.hpp
+#usr/include/boost/geometry/strategies/relate.hpp
 #usr/include/boost/geometry/strategies/side.hpp
 #usr/include/boost/geometry/strategies/side_info.hpp
 #usr/include/boost/geometry/strategies/spherical
-#usr/include/boost/geometry/strategies/spherical/area_huiller.hpp
+#usr/include/boost/geometry/strategies/spherical/area.hpp
+#usr/include/boost/geometry/strategies/spherical/azimuth.hpp
 #usr/include/boost/geometry/strategies/spherical/compare_circular.hpp
 #usr/include/boost/geometry/strategies/spherical/distance_cross_track.hpp
+#usr/include/boost/geometry/strategies/spherical/distance_cross_track_point_box.hpp
 #usr/include/boost/geometry/strategies/spherical/distance_haversine.hpp
+#usr/include/boost/geometry/strategies/spherical/envelope_segment.hpp
+#usr/include/boost/geometry/strategies/spherical/intersection.hpp
 #usr/include/boost/geometry/strategies/spherical/side_by_cross_track.hpp
 #usr/include/boost/geometry/strategies/spherical/ssf.hpp
 #usr/include/boost/geometry/strategies/strategies.hpp
 #usr/include/boost/geometry/util/bare_type.hpp
 #usr/include/boost/geometry/util/calculation_type.hpp
 #usr/include/boost/geometry/util/closure_as_bool.hpp
+#usr/include/boost/geometry/util/combine_if.hpp
+#usr/include/boost/geometry/util/compress_variant.hpp
+#usr/include/boost/geometry/util/condition.hpp
 #usr/include/boost/geometry/util/coordinate_cast.hpp
 #usr/include/boost/geometry/util/for_each_coordinate.hpp
+#usr/include/boost/geometry/util/has_infinite_coordinate.hpp
+#usr/include/boost/geometry/util/has_nan_coordinate.hpp
+#usr/include/boost/geometry/util/has_non_finite_coordinate.hpp
 #usr/include/boost/geometry/util/math.hpp
+#usr/include/boost/geometry/util/normalize_spheroidal_box_coordinates.hpp
+#usr/include/boost/geometry/util/normalize_spheroidal_coordinates.hpp
 #usr/include/boost/geometry/util/order_as_direction.hpp
 #usr/include/boost/geometry/util/parameter_type_of.hpp
 #usr/include/boost/geometry/util/promote_floating_point.hpp
+#usr/include/boost/geometry/util/promote_integral.hpp
+#usr/include/boost/geometry/util/range.hpp
 #usr/include/boost/geometry/util/rational.hpp
 #usr/include/boost/geometry/util/select_calculation_type.hpp
 #usr/include/boost/geometry/util/select_coordinate_type.hpp
 #usr/include/boost/geometry/util/select_most_precise.hpp
+#usr/include/boost/geometry/util/transform_variant.hpp
 #usr/include/boost/geometry/views
 #usr/include/boost/geometry/views/box_view.hpp
 #usr/include/boost/geometry/views/closeable_view.hpp
 #usr/include/boost/geometry/views/detail
+#usr/include/boost/geometry/views/detail/boundary_view
+#usr/include/boost/geometry/views/detail/boundary_view.hpp
+#usr/include/boost/geometry/views/detail/boundary_view/implementation.hpp
+#usr/include/boost/geometry/views/detail/boundary_view/interface.hpp
+#usr/include/boost/geometry/views/detail/indexed_point_view.hpp
+#usr/include/boost/geometry/views/detail/normalized_view.hpp
 #usr/include/boost/geometry/views/detail/points_view.hpp
 #usr/include/boost/geometry/views/detail/range_type.hpp
+#usr/include/boost/geometry/views/detail/two_dimensional_view.hpp
 #usr/include/boost/geometry/views/identity_view.hpp
 #usr/include/boost/geometry/views/reversible_view.hpp
 #usr/include/boost/geometry/views/segment_view.hpp
 #usr/include/boost/graph/visitors.hpp
 #usr/include/boost/graph/wavefront.hpp
 #usr/include/boost/graph/write_dimacs.hpp
+#usr/include/boost/hana
+#usr/include/boost/hana.hpp
+#usr/include/boost/hana/accessors.hpp
+#usr/include/boost/hana/adapt_adt.hpp
+#usr/include/boost/hana/adapt_struct.hpp
+#usr/include/boost/hana/adjust.hpp
+#usr/include/boost/hana/adjust_if.hpp
+#usr/include/boost/hana/all.hpp
+#usr/include/boost/hana/all_of.hpp
+#usr/include/boost/hana/and.hpp
+#usr/include/boost/hana/any.hpp
+#usr/include/boost/hana/any_of.hpp
+#usr/include/boost/hana/ap.hpp
+#usr/include/boost/hana/append.hpp
+#usr/include/boost/hana/assert.hpp
+#usr/include/boost/hana/at.hpp
+#usr/include/boost/hana/at_key.hpp
+#usr/include/boost/hana/back.hpp
+#usr/include/boost/hana/basic_tuple.hpp
+#usr/include/boost/hana/bool.hpp
+#usr/include/boost/hana/cartesian_product.hpp
+#usr/include/boost/hana/chain.hpp
+#usr/include/boost/hana/comparing.hpp
+#usr/include/boost/hana/concat.hpp
+#usr/include/boost/hana/concept
+#usr/include/boost/hana/concept.hpp
+#usr/include/boost/hana/concept/applicative.hpp
+#usr/include/boost/hana/concept/comonad.hpp
+#usr/include/boost/hana/concept/comparable.hpp
+#usr/include/boost/hana/concept/constant.hpp
+#usr/include/boost/hana/concept/euclidean_ring.hpp
+#usr/include/boost/hana/concept/foldable.hpp
+#usr/include/boost/hana/concept/functor.hpp
+#usr/include/boost/hana/concept/group.hpp
+#usr/include/boost/hana/concept/hashable.hpp
+#usr/include/boost/hana/concept/integral_constant.hpp
+#usr/include/boost/hana/concept/iterable.hpp
+#usr/include/boost/hana/concept/logical.hpp
+#usr/include/boost/hana/concept/metafunction.hpp
+#usr/include/boost/hana/concept/monad.hpp
+#usr/include/boost/hana/concept/monad_plus.hpp
+#usr/include/boost/hana/concept/monoid.hpp
+#usr/include/boost/hana/concept/orderable.hpp
+#usr/include/boost/hana/concept/product.hpp
+#usr/include/boost/hana/concept/ring.hpp
+#usr/include/boost/hana/concept/searchable.hpp
+#usr/include/boost/hana/concept/sequence.hpp
+#usr/include/boost/hana/concept/struct.hpp
+#usr/include/boost/hana/config.hpp
+#usr/include/boost/hana/contains.hpp
+#usr/include/boost/hana/core
+#usr/include/boost/hana/core.hpp
+#usr/include/boost/hana/core/common.hpp
+#usr/include/boost/hana/core/default.hpp
+#usr/include/boost/hana/core/dispatch.hpp
+#usr/include/boost/hana/core/is_a.hpp
+#usr/include/boost/hana/core/make.hpp
+#usr/include/boost/hana/core/tag_of.hpp
+#usr/include/boost/hana/core/to.hpp
+#usr/include/boost/hana/core/when.hpp
+#usr/include/boost/hana/count.hpp
+#usr/include/boost/hana/count_if.hpp
+#usr/include/boost/hana/cycle.hpp
+#usr/include/boost/hana/define_struct.hpp
+#usr/include/boost/hana/detail
+#usr/include/boost/hana/detail/algorithm.hpp
+#usr/include/boost/hana/detail/any_of.hpp
+#usr/include/boost/hana/detail/array.hpp
+#usr/include/boost/hana/detail/canonical_constant.hpp
+#usr/include/boost/hana/detail/concepts.hpp
+#usr/include/boost/hana/detail/create.hpp
+#usr/include/boost/hana/detail/decay.hpp
+#usr/include/boost/hana/detail/dispatch_if.hpp
+#usr/include/boost/hana/detail/ebo.hpp
+#usr/include/boost/hana/detail/fast_and.hpp
+#usr/include/boost/hana/detail/first_unsatisfied_index.hpp
+#usr/include/boost/hana/detail/has_common_embedding.hpp
+#usr/include/boost/hana/detail/has_duplicates.hpp
+#usr/include/boost/hana/detail/hash_table.hpp
+#usr/include/boost/hana/detail/index_if.hpp
+#usr/include/boost/hana/detail/integral_constant.hpp
+#usr/include/boost/hana/detail/intrinsics.hpp
+#usr/include/boost/hana/detail/nested_by.hpp
+#usr/include/boost/hana/detail/nested_by_fwd.hpp
+#usr/include/boost/hana/detail/nested_than.hpp
+#usr/include/boost/hana/detail/nested_than_fwd.hpp
+#usr/include/boost/hana/detail/nested_to.hpp
+#usr/include/boost/hana/detail/nested_to_fwd.hpp
+#usr/include/boost/hana/detail/operators
+#usr/include/boost/hana/detail/operators/adl.hpp
+#usr/include/boost/hana/detail/operators/arithmetic.hpp
+#usr/include/boost/hana/detail/operators/comparable.hpp
+#usr/include/boost/hana/detail/operators/iterable.hpp
+#usr/include/boost/hana/detail/operators/logical.hpp
+#usr/include/boost/hana/detail/operators/monad.hpp
+#usr/include/boost/hana/detail/operators/orderable.hpp
+#usr/include/boost/hana/detail/operators/searchable.hpp
+#usr/include/boost/hana/detail/preprocessor.hpp
+#usr/include/boost/hana/detail/std_common_type.hpp
+#usr/include/boost/hana/detail/struct_macros.erb.hpp
+#usr/include/boost/hana/detail/struct_macros.hpp
+#usr/include/boost/hana/detail/type_at.hpp
+#usr/include/boost/hana/detail/type_foldl1.hpp
+#usr/include/boost/hana/detail/type_foldr1.hpp
+#usr/include/boost/hana/detail/unpack_flatten.hpp
+#usr/include/boost/hana/detail/variadic
+#usr/include/boost/hana/detail/variadic/at.hpp
+#usr/include/boost/hana/detail/variadic/drop_into.hpp
+#usr/include/boost/hana/detail/variadic/foldl1.hpp
+#usr/include/boost/hana/detail/variadic/foldr1.hpp
+#usr/include/boost/hana/detail/variadic/reverse_apply
+#usr/include/boost/hana/detail/variadic/reverse_apply.hpp
+#usr/include/boost/hana/detail/variadic/reverse_apply/flat.hpp
+#usr/include/boost/hana/detail/variadic/reverse_apply/unrolled.hpp
+#usr/include/boost/hana/detail/variadic/split_at.hpp
+#usr/include/boost/hana/detail/variadic/take.hpp
+#usr/include/boost/hana/detail/void_t.hpp
+#usr/include/boost/hana/detail/wrong.hpp
+#usr/include/boost/hana/difference.hpp
+#usr/include/boost/hana/div.hpp
+#usr/include/boost/hana/drop_back.hpp
+#usr/include/boost/hana/drop_front.hpp
+#usr/include/boost/hana/drop_front_exactly.hpp
+#usr/include/boost/hana/drop_while.hpp
+#usr/include/boost/hana/duplicate.hpp
+#usr/include/boost/hana/empty.hpp
+#usr/include/boost/hana/equal.hpp
+#usr/include/boost/hana/erase_key.hpp
+#usr/include/boost/hana/eval.hpp
+#usr/include/boost/hana/eval_if.hpp
+#usr/include/boost/hana/experimental
+#usr/include/boost/hana/experimental/printable.hpp
+#usr/include/boost/hana/experimental/type_name.hpp
+#usr/include/boost/hana/experimental/types.hpp
+#usr/include/boost/hana/experimental/view.hpp
+#usr/include/boost/hana/ext
+#usr/include/boost/hana/ext/boost
+#usr/include/boost/hana/ext/boost.hpp
+#usr/include/boost/hana/ext/boost/fusion
+#usr/include/boost/hana/ext/boost/fusion.hpp
+#usr/include/boost/hana/ext/boost/fusion/deque.hpp
+#usr/include/boost/hana/ext/boost/fusion/detail
+#usr/include/boost/hana/ext/boost/fusion/detail/common.hpp
+#usr/include/boost/hana/ext/boost/fusion/list.hpp
+#usr/include/boost/hana/ext/boost/fusion/tuple.hpp
+#usr/include/boost/hana/ext/boost/fusion/vector.hpp
+#usr/include/boost/hana/ext/boost/mpl
+#usr/include/boost/hana/ext/boost/mpl.hpp
+#usr/include/boost/hana/ext/boost/mpl/integral_c.hpp
+#usr/include/boost/hana/ext/boost/mpl/list.hpp
+#usr/include/boost/hana/ext/boost/mpl/vector.hpp
+#usr/include/boost/hana/ext/boost/tuple.hpp
+#usr/include/boost/hana/ext/std
+#usr/include/boost/hana/ext/std.hpp
+#usr/include/boost/hana/ext/std/array.hpp
+#usr/include/boost/hana/ext/std/integer_sequence.hpp
+#usr/include/boost/hana/ext/std/integral_constant.hpp
+#usr/include/boost/hana/ext/std/pair.hpp
+#usr/include/boost/hana/ext/std/ratio.hpp
+#usr/include/boost/hana/ext/std/tuple.hpp
+#usr/include/boost/hana/ext/std/vector.hpp
+#usr/include/boost/hana/extend.hpp
+#usr/include/boost/hana/extract.hpp
+#usr/include/boost/hana/fill.hpp
+#usr/include/boost/hana/filter.hpp
+#usr/include/boost/hana/find.hpp
+#usr/include/boost/hana/find_if.hpp
+#usr/include/boost/hana/first.hpp
+#usr/include/boost/hana/flatten.hpp
+#usr/include/boost/hana/fold.hpp
+#usr/include/boost/hana/fold_left.hpp
+#usr/include/boost/hana/fold_right.hpp
+#usr/include/boost/hana/for_each.hpp
+#usr/include/boost/hana/front.hpp
+#usr/include/boost/hana/functional
+#usr/include/boost/hana/functional.hpp
+#usr/include/boost/hana/functional/always.hpp
+#usr/include/boost/hana/functional/apply.hpp
+#usr/include/boost/hana/functional/arg.hpp
+#usr/include/boost/hana/functional/capture.hpp
+#usr/include/boost/hana/functional/compose.hpp
+#usr/include/boost/hana/functional/curry.hpp
+#usr/include/boost/hana/functional/demux.hpp
+#usr/include/boost/hana/functional/fix.hpp
+#usr/include/boost/hana/functional/flip.hpp
+#usr/include/boost/hana/functional/id.hpp
+#usr/include/boost/hana/functional/infix.hpp
+#usr/include/boost/hana/functional/iterate.hpp
+#usr/include/boost/hana/functional/lockstep.hpp
+#usr/include/boost/hana/functional/on.hpp
+#usr/include/boost/hana/functional/overload.hpp
+#usr/include/boost/hana/functional/overload_linearly.hpp
+#usr/include/boost/hana/functional/partial.hpp
+#usr/include/boost/hana/functional/placeholder.hpp
+#usr/include/boost/hana/functional/reverse_partial.hpp
+#usr/include/boost/hana/fuse.hpp
+#usr/include/boost/hana/fwd
+#usr/include/boost/hana/fwd/accessors.hpp
+#usr/include/boost/hana/fwd/adapt_adt.hpp
+#usr/include/boost/hana/fwd/adapt_struct.hpp
+#usr/include/boost/hana/fwd/adjust.hpp
+#usr/include/boost/hana/fwd/adjust_if.hpp
+#usr/include/boost/hana/fwd/all.hpp
+#usr/include/boost/hana/fwd/all_of.hpp
+#usr/include/boost/hana/fwd/and.hpp
+#usr/include/boost/hana/fwd/any.hpp
+#usr/include/boost/hana/fwd/any_of.hpp
+#usr/include/boost/hana/fwd/ap.hpp
+#usr/include/boost/hana/fwd/append.hpp
+#usr/include/boost/hana/fwd/at.hpp
+#usr/include/boost/hana/fwd/at_key.hpp
+#usr/include/boost/hana/fwd/back.hpp
+#usr/include/boost/hana/fwd/basic_tuple.hpp
+#usr/include/boost/hana/fwd/bool.hpp
+#usr/include/boost/hana/fwd/cartesian_product.hpp
+#usr/include/boost/hana/fwd/chain.hpp
+#usr/include/boost/hana/fwd/comparing.hpp
+#usr/include/boost/hana/fwd/concat.hpp
+#usr/include/boost/hana/fwd/concept
+#usr/include/boost/hana/fwd/concept/applicative.hpp
+#usr/include/boost/hana/fwd/concept/comonad.hpp
+#usr/include/boost/hana/fwd/concept/comparable.hpp
+#usr/include/boost/hana/fwd/concept/constant.hpp
+#usr/include/boost/hana/fwd/concept/euclidean_ring.hpp
+#usr/include/boost/hana/fwd/concept/foldable.hpp
+#usr/include/boost/hana/fwd/concept/functor.hpp
+#usr/include/boost/hana/fwd/concept/group.hpp
+#usr/include/boost/hana/fwd/concept/hashable.hpp
+#usr/include/boost/hana/fwd/concept/integral_constant.hpp
+#usr/include/boost/hana/fwd/concept/iterable.hpp
+#usr/include/boost/hana/fwd/concept/logical.hpp
+#usr/include/boost/hana/fwd/concept/metafunction.hpp
+#usr/include/boost/hana/fwd/concept/monad.hpp
+#usr/include/boost/hana/fwd/concept/monad_plus.hpp
+#usr/include/boost/hana/fwd/concept/monoid.hpp
+#usr/include/boost/hana/fwd/concept/orderable.hpp
+#usr/include/boost/hana/fwd/concept/product.hpp
+#usr/include/boost/hana/fwd/concept/ring.hpp
+#usr/include/boost/hana/fwd/concept/searchable.hpp
+#usr/include/boost/hana/fwd/concept/sequence.hpp
+#usr/include/boost/hana/fwd/concept/struct.hpp
+#usr/include/boost/hana/fwd/contains.hpp
+#usr/include/boost/hana/fwd/core
+#usr/include/boost/hana/fwd/core.hpp
+#usr/include/boost/hana/fwd/core/common.hpp
+#usr/include/boost/hana/fwd/core/default.hpp
+#usr/include/boost/hana/fwd/core/is_a.hpp
+#usr/include/boost/hana/fwd/core/make.hpp
+#usr/include/boost/hana/fwd/core/tag_of.hpp
+#usr/include/boost/hana/fwd/core/to.hpp
+#usr/include/boost/hana/fwd/core/when.hpp
+#usr/include/boost/hana/fwd/count.hpp
+#usr/include/boost/hana/fwd/count_if.hpp
+#usr/include/boost/hana/fwd/cycle.hpp
+#usr/include/boost/hana/fwd/define_struct.hpp
+#usr/include/boost/hana/fwd/difference.hpp
+#usr/include/boost/hana/fwd/div.hpp
+#usr/include/boost/hana/fwd/drop_back.hpp
+#usr/include/boost/hana/fwd/drop_front.hpp
+#usr/include/boost/hana/fwd/drop_front_exactly.hpp
+#usr/include/boost/hana/fwd/drop_while.hpp
+#usr/include/boost/hana/fwd/duplicate.hpp
+#usr/include/boost/hana/fwd/empty.hpp
+#usr/include/boost/hana/fwd/equal.hpp
+#usr/include/boost/hana/fwd/erase_key.hpp
+#usr/include/boost/hana/fwd/eval.hpp
+#usr/include/boost/hana/fwd/eval_if.hpp
+#usr/include/boost/hana/fwd/extend.hpp
+#usr/include/boost/hana/fwd/extract.hpp
+#usr/include/boost/hana/fwd/fill.hpp
+#usr/include/boost/hana/fwd/filter.hpp
+#usr/include/boost/hana/fwd/find.hpp
+#usr/include/boost/hana/fwd/find_if.hpp
+#usr/include/boost/hana/fwd/first.hpp
+#usr/include/boost/hana/fwd/flatten.hpp
+#usr/include/boost/hana/fwd/fold.hpp
+#usr/include/boost/hana/fwd/fold_left.hpp
+#usr/include/boost/hana/fwd/fold_right.hpp
+#usr/include/boost/hana/fwd/for_each.hpp
+#usr/include/boost/hana/fwd/front.hpp
+#usr/include/boost/hana/fwd/fuse.hpp
+#usr/include/boost/hana/fwd/greater.hpp
+#usr/include/boost/hana/fwd/greater_equal.hpp
+#usr/include/boost/hana/fwd/group.hpp
+#usr/include/boost/hana/fwd/hash.hpp
+#usr/include/boost/hana/fwd/if.hpp
+#usr/include/boost/hana/fwd/insert.hpp
+#usr/include/boost/hana/fwd/insert_range.hpp
+#usr/include/boost/hana/fwd/integral_constant.hpp
+#usr/include/boost/hana/fwd/intersection.hpp
+#usr/include/boost/hana/fwd/intersperse.hpp
+#usr/include/boost/hana/fwd/is_disjoint.hpp
+#usr/include/boost/hana/fwd/is_empty.hpp
+#usr/include/boost/hana/fwd/is_subset.hpp
+#usr/include/boost/hana/fwd/keys.hpp
+#usr/include/boost/hana/fwd/lazy.hpp
+#usr/include/boost/hana/fwd/length.hpp
+#usr/include/boost/hana/fwd/less.hpp
+#usr/include/boost/hana/fwd/less_equal.hpp
+#usr/include/boost/hana/fwd/lexicographical_compare.hpp
+#usr/include/boost/hana/fwd/lift.hpp
+#usr/include/boost/hana/fwd/map.hpp
+#usr/include/boost/hana/fwd/max.hpp
+#usr/include/boost/hana/fwd/maximum.hpp
+#usr/include/boost/hana/fwd/members.hpp
+#usr/include/boost/hana/fwd/min.hpp
+#usr/include/boost/hana/fwd/minimum.hpp
+#usr/include/boost/hana/fwd/minus.hpp
+#usr/include/boost/hana/fwd/mod.hpp
+#usr/include/boost/hana/fwd/monadic_compose.hpp
+#usr/include/boost/hana/fwd/monadic_fold_left.hpp
+#usr/include/boost/hana/fwd/monadic_fold_right.hpp
+#usr/include/boost/hana/fwd/mult.hpp
+#usr/include/boost/hana/fwd/negate.hpp
+#usr/include/boost/hana/fwd/none.hpp
+#usr/include/boost/hana/fwd/none_of.hpp
+#usr/include/boost/hana/fwd/not.hpp
+#usr/include/boost/hana/fwd/not_equal.hpp
+#usr/include/boost/hana/fwd/one.hpp
+#usr/include/boost/hana/fwd/optional.hpp
+#usr/include/boost/hana/fwd/or.hpp
+#usr/include/boost/hana/fwd/ordering.hpp
+#usr/include/boost/hana/fwd/pair.hpp
+#usr/include/boost/hana/fwd/partition.hpp
+#usr/include/boost/hana/fwd/permutations.hpp
+#usr/include/boost/hana/fwd/plus.hpp
+#usr/include/boost/hana/fwd/power.hpp
+#usr/include/boost/hana/fwd/prefix.hpp
+#usr/include/boost/hana/fwd/prepend.hpp
+#usr/include/boost/hana/fwd/product.hpp
+#usr/include/boost/hana/fwd/range.hpp
+#usr/include/boost/hana/fwd/remove.hpp
+#usr/include/boost/hana/fwd/remove_at.hpp
+#usr/include/boost/hana/fwd/remove_if.hpp
+#usr/include/boost/hana/fwd/remove_range.hpp
+#usr/include/boost/hana/fwd/repeat.hpp
+#usr/include/boost/hana/fwd/replace.hpp
+#usr/include/boost/hana/fwd/replace_if.hpp
+#usr/include/boost/hana/fwd/replicate.hpp
+#usr/include/boost/hana/fwd/reverse.hpp
+#usr/include/boost/hana/fwd/reverse_fold.hpp
+#usr/include/boost/hana/fwd/scan_left.hpp
+#usr/include/boost/hana/fwd/scan_right.hpp
+#usr/include/boost/hana/fwd/second.hpp
+#usr/include/boost/hana/fwd/set.hpp
+#usr/include/boost/hana/fwd/size.hpp
+#usr/include/boost/hana/fwd/slice.hpp
+#usr/include/boost/hana/fwd/sort.hpp
+#usr/include/boost/hana/fwd/span.hpp
+#usr/include/boost/hana/fwd/string.hpp
+#usr/include/boost/hana/fwd/suffix.hpp
+#usr/include/boost/hana/fwd/sum.hpp
+#usr/include/boost/hana/fwd/symmetric_difference.hpp
+#usr/include/boost/hana/fwd/take_back.hpp
+#usr/include/boost/hana/fwd/take_front.hpp
+#usr/include/boost/hana/fwd/take_while.hpp
+#usr/include/boost/hana/fwd/tap.hpp
+#usr/include/boost/hana/fwd/then.hpp
+#usr/include/boost/hana/fwd/transform.hpp
+#usr/include/boost/hana/fwd/tuple.hpp
+#usr/include/boost/hana/fwd/type.hpp
+#usr/include/boost/hana/fwd/unfold_left.hpp
+#usr/include/boost/hana/fwd/unfold_right.hpp
+#usr/include/boost/hana/fwd/union.hpp
+#usr/include/boost/hana/fwd/unique.hpp
+#usr/include/boost/hana/fwd/unpack.hpp
+#usr/include/boost/hana/fwd/value.hpp
+#usr/include/boost/hana/fwd/while.hpp
+#usr/include/boost/hana/fwd/zero.hpp
+#usr/include/boost/hana/fwd/zip.hpp
+#usr/include/boost/hana/fwd/zip_shortest.hpp
+#usr/include/boost/hana/fwd/zip_shortest_with.hpp
+#usr/include/boost/hana/fwd/zip_with.hpp
+#usr/include/boost/hana/greater.hpp
+#usr/include/boost/hana/greater_equal.hpp
+#usr/include/boost/hana/group.hpp
+#usr/include/boost/hana/hash.hpp
+#usr/include/boost/hana/if.hpp
+#usr/include/boost/hana/insert.hpp
+#usr/include/boost/hana/insert_range.hpp
+#usr/include/boost/hana/integral_constant.hpp
+#usr/include/boost/hana/intersection.hpp
+#usr/include/boost/hana/intersperse.hpp
+#usr/include/boost/hana/is_disjoint.hpp
+#usr/include/boost/hana/is_empty.hpp
+#usr/include/boost/hana/is_subset.hpp
+#usr/include/boost/hana/keys.hpp
+#usr/include/boost/hana/lazy.hpp
+#usr/include/boost/hana/length.hpp
+#usr/include/boost/hana/less.hpp
+#usr/include/boost/hana/less_equal.hpp
+#usr/include/boost/hana/lexicographical_compare.hpp
+#usr/include/boost/hana/lift.hpp
+#usr/include/boost/hana/map.hpp
+#usr/include/boost/hana/max.hpp
+#usr/include/boost/hana/maximum.hpp
+#usr/include/boost/hana/members.hpp
+#usr/include/boost/hana/min.hpp
+#usr/include/boost/hana/minimum.hpp
+#usr/include/boost/hana/minus.hpp
+#usr/include/boost/hana/mod.hpp
+#usr/include/boost/hana/monadic_compose.hpp
+#usr/include/boost/hana/monadic_fold_left.hpp
+#usr/include/boost/hana/monadic_fold_right.hpp
+#usr/include/boost/hana/mult.hpp
+#usr/include/boost/hana/negate.hpp
+#usr/include/boost/hana/none.hpp
+#usr/include/boost/hana/none_of.hpp
+#usr/include/boost/hana/not.hpp
+#usr/include/boost/hana/not_equal.hpp
+#usr/include/boost/hana/one.hpp
+#usr/include/boost/hana/optional.hpp
+#usr/include/boost/hana/or.hpp
+#usr/include/boost/hana/ordering.hpp
+#usr/include/boost/hana/pair.hpp
+#usr/include/boost/hana/partition.hpp
+#usr/include/boost/hana/permutations.hpp
+#usr/include/boost/hana/plus.hpp
+#usr/include/boost/hana/power.hpp
+#usr/include/boost/hana/prefix.hpp
+#usr/include/boost/hana/prepend.hpp
+#usr/include/boost/hana/product.hpp
+#usr/include/boost/hana/range.hpp
+#usr/include/boost/hana/remove.hpp
+#usr/include/boost/hana/remove_at.hpp
+#usr/include/boost/hana/remove_if.hpp
+#usr/include/boost/hana/remove_range.hpp
+#usr/include/boost/hana/repeat.hpp
+#usr/include/boost/hana/replace.hpp
+#usr/include/boost/hana/replace_if.hpp
+#usr/include/boost/hana/replicate.hpp
+#usr/include/boost/hana/reverse.hpp
+#usr/include/boost/hana/reverse_fold.hpp
+#usr/include/boost/hana/scan_left.hpp
+#usr/include/boost/hana/scan_right.hpp
+#usr/include/boost/hana/second.hpp
+#usr/include/boost/hana/set.hpp
+#usr/include/boost/hana/size.hpp
+#usr/include/boost/hana/slice.hpp
+#usr/include/boost/hana/sort.hpp
+#usr/include/boost/hana/span.hpp
+#usr/include/boost/hana/string.hpp
+#usr/include/boost/hana/suffix.hpp
+#usr/include/boost/hana/sum.hpp
+#usr/include/boost/hana/symmetric_difference.hpp
+#usr/include/boost/hana/take_back.hpp
+#usr/include/boost/hana/take_front.hpp
+#usr/include/boost/hana/take_while.hpp
+#usr/include/boost/hana/tap.hpp
+#usr/include/boost/hana/then.hpp
+#usr/include/boost/hana/traits.hpp
+#usr/include/boost/hana/transform.hpp
+#usr/include/boost/hana/tuple.hpp
+#usr/include/boost/hana/type.hpp
+#usr/include/boost/hana/unfold_left.hpp
+#usr/include/boost/hana/unfold_right.hpp
+#usr/include/boost/hana/union.hpp
+#usr/include/boost/hana/unique.hpp
+#usr/include/boost/hana/unpack.hpp
+#usr/include/boost/hana/value.hpp
+#usr/include/boost/hana/version.hpp
+#usr/include/boost/hana/while.hpp
+#usr/include/boost/hana/zero.hpp
+#usr/include/boost/hana/zip.hpp
+#usr/include/boost/hana/zip_shortest.hpp
+#usr/include/boost/hana/zip_shortest_with.hpp
+#usr/include/boost/hana/zip_with.hpp
 #usr/include/boost/heap
 #usr/include/boost/heap/binomial_heap.hpp
 #usr/include/boost/heap/d_ary_heap.hpp
 #usr/include/boost/indirect_reference.hpp
 #usr/include/boost/integer
 #usr/include/boost/integer.hpp
+#usr/include/boost/integer/common_factor.hpp
+#usr/include/boost/integer/common_factor_ct.hpp
+#usr/include/boost/integer/common_factor_rt.hpp
+#usr/include/boost/integer/integer_log2.hpp
 #usr/include/boost/integer/integer_mask.hpp
 #usr/include/boost/integer/static_log2.hpp
 #usr/include/boost/integer/static_min_max.hpp
 #usr/include/boost/interprocess/detail/min_max.hpp
 #usr/include/boost/interprocess/detail/move.hpp
 #usr/include/boost/interprocess/detail/mpl.hpp
-#usr/include/boost/interprocess/detail/multi_segment_services.hpp
 #usr/include/boost/interprocess/detail/named_proxy.hpp
+#usr/include/boost/interprocess/detail/nothrow.hpp
 #usr/include/boost/interprocess/detail/os_file_functions.hpp
 #usr/include/boost/interprocess/detail/os_thread_functions.hpp
 #usr/include/boost/interprocess/detail/pointer_type.hpp
 #usr/include/boost/interprocess/detail/portable_intermodule_singleton.hpp
 #usr/include/boost/interprocess/detail/posix_time_types_wrk.hpp
-#usr/include/boost/interprocess/detail/preprocessor.hpp
 #usr/include/boost/interprocess/detail/ptime_wrk.hpp
 #usr/include/boost/interprocess/detail/robust_emulation.hpp
 #usr/include/boost/interprocess/detail/segment_manager_helper.hpp
-#usr/include/boost/interprocess/detail/tmp_dir_helpers.hpp
+#usr/include/boost/interprocess/detail/shared_dir_helpers.hpp
+#usr/include/boost/interprocess/detail/simple_swap.hpp
+#usr/include/boost/interprocess/detail/std_fwd.hpp
 #usr/include/boost/interprocess/detail/transform_iterator.hpp
 #usr/include/boost/interprocess/detail/type_traits.hpp
 #usr/include/boost/interprocess/detail/utilities.hpp
 #usr/include/boost/interprocess/detail/win32_api.hpp
 #usr/include/boost/interprocess/detail/windows_intermodule_singleton.hpp
 #usr/include/boost/interprocess/detail/workaround.hpp
-#usr/include/boost/interprocess/detail/xsi_shared_memory_device.hpp
 #usr/include/boost/interprocess/detail/xsi_shared_memory_file_wrapper.hpp
 #usr/include/boost/interprocess/errors.hpp
 #usr/include/boost/interprocess/exceptions.hpp
 #usr/include/boost/interprocess/mem_algo
 #usr/include/boost/interprocess/mem_algo/detail
 #usr/include/boost/interprocess/mem_algo/detail/mem_algo_common.hpp
-#usr/include/boost/interprocess/mem_algo/detail/multi_simple_seq_fit.hpp
-#usr/include/boost/interprocess/mem_algo/detail/multi_simple_seq_fit_impl.hpp
 #usr/include/boost/interprocess/mem_algo/detail/simple_seq_fit_impl.hpp
 #usr/include/boost/interprocess/mem_algo/rbtree_best_fit.hpp
 #usr/include/boost/interprocess/mem_algo/simple_seq_fit.hpp
 #usr/include/boost/interprocess/streams/vectorstream.hpp
 #usr/include/boost/interprocess/sync
 #usr/include/boost/interprocess/sync/detail
+#usr/include/boost/interprocess/sync/detail/common_algorithms.hpp
 #usr/include/boost/interprocess/sync/detail/condition_algorithm_8a.hpp
 #usr/include/boost/interprocess/sync/detail/condition_any_algorithm.hpp
 #usr/include/boost/interprocess/sync/detail/locks.hpp
 #usr/include/boost/interprocess/sync/windows/sync_utils.hpp
 #usr/include/boost/interprocess/sync/windows/winapi_mutex_wrapper.hpp
 #usr/include/boost/interprocess/sync/windows/winapi_semaphore_wrapper.hpp
-#usr/include/boost/interprocess/sync/xsi
-#usr/include/boost/interprocess/sync/xsi/advanced_xsi_semaphore.hpp
-#usr/include/boost/interprocess/sync/xsi/simple_xsi_semaphore.hpp
-#usr/include/boost/interprocess/sync/xsi/xsi_named_mutex.hpp
+#usr/include/boost/interprocess/sync/windows/winapi_wrapper_common.hpp
 #usr/include/boost/interprocess/windows_shared_memory.hpp
 #usr/include/boost/interprocess/xsi_key.hpp
 #usr/include/boost/interprocess/xsi_shared_memory.hpp
 #usr/include/boost/intrusive/circular_slist_algorithms.hpp
 #usr/include/boost/intrusive/derivation_value_traits.hpp
 #usr/include/boost/intrusive/detail
+#usr/include/boost/intrusive/detail/algo_type.hpp
+#usr/include/boost/intrusive/detail/algorithm.hpp
 #usr/include/boost/intrusive/detail/any_node_and_algorithms.hpp
+#usr/include/boost/intrusive/detail/array_initializer.hpp
 #usr/include/boost/intrusive/detail/assert.hpp
 #usr/include/boost/intrusive/detail/avltree_node.hpp
-#usr/include/boost/intrusive/detail/clear_on_destructor_base.hpp
+#usr/include/boost/intrusive/detail/bstree_algorithms_base.hpp
 #usr/include/boost/intrusive/detail/common_slist_algorithms.hpp
 #usr/include/boost/intrusive/detail/config_begin.hpp
 #usr/include/boost/intrusive/detail/config_end.hpp
+#usr/include/boost/intrusive/detail/default_header_holder.hpp
 #usr/include/boost/intrusive/detail/ebo_functor_holder.hpp
+#usr/include/boost/intrusive/detail/empty_node_checker.hpp
+#usr/include/boost/intrusive/detail/equal_to_value.hpp
+#usr/include/boost/intrusive/detail/exception_disposer.hpp
 #usr/include/boost/intrusive/detail/function_detector.hpp
 #usr/include/boost/intrusive/detail/generic_hook.hpp
+#usr/include/boost/intrusive/detail/get_value_traits.hpp
 #usr/include/boost/intrusive/detail/has_member_function_callable_with.hpp
 #usr/include/boost/intrusive/detail/hashtable_node.hpp
+#usr/include/boost/intrusive/detail/hook_traits.hpp
+#usr/include/boost/intrusive/detail/iiterator.hpp
 #usr/include/boost/intrusive/detail/is_stateful_value_traits.hpp
+#usr/include/boost/intrusive/detail/iterator.hpp
+#usr/include/boost/intrusive/detail/key_nodeptr_comp.hpp
+#usr/include/boost/intrusive/detail/list_iterator.hpp
 #usr/include/boost/intrusive/detail/list_node.hpp
-#usr/include/boost/intrusive/detail/memory_util.hpp
+#usr/include/boost/intrusive/detail/math.hpp
+#usr/include/boost/intrusive/detail/minimal_less_equal_header.hpp
+#usr/include/boost/intrusive/detail/minimal_pair_header.hpp
 #usr/include/boost/intrusive/detail/mpl.hpp
+#usr/include/boost/intrusive/detail/node_cloner_disposer.hpp
+#usr/include/boost/intrusive/detail/node_holder.hpp
+#usr/include/boost/intrusive/detail/node_to_value.hpp
 #usr/include/boost/intrusive/detail/parent_from_member.hpp
-#usr/include/boost/intrusive/detail/preprocessor.hpp
+#usr/include/boost/intrusive/detail/pointer_element.hpp
 #usr/include/boost/intrusive/detail/rbtree_node.hpp
+#usr/include/boost/intrusive/detail/reverse_iterator.hpp
+#usr/include/boost/intrusive/detail/simple_disposers.hpp
+#usr/include/boost/intrusive/detail/size_holder.hpp
+#usr/include/boost/intrusive/detail/slist_iterator.hpp
 #usr/include/boost/intrusive/detail/slist_node.hpp
+#usr/include/boost/intrusive/detail/std_fwd.hpp
+#usr/include/boost/intrusive/detail/to_raw_pointer.hpp
 #usr/include/boost/intrusive/detail/transform_iterator.hpp
+#usr/include/boost/intrusive/detail/tree_iterator.hpp
 #usr/include/boost/intrusive/detail/tree_node.hpp
-#usr/include/boost/intrusive/detail/utilities.hpp
+#usr/include/boost/intrusive/detail/tree_value_compare.hpp
+#usr/include/boost/intrusive/detail/uncast.hpp
 #usr/include/boost/intrusive/detail/workaround.hpp
 #usr/include/boost/intrusive/hashtable.hpp
 #usr/include/boost/intrusive/intrusive_fwd.hpp
 #usr/include/boost/intrusive/list_hook.hpp
 #usr/include/boost/intrusive/member_value_traits.hpp
 #usr/include/boost/intrusive/options.hpp
+#usr/include/boost/intrusive/pack_options.hpp
 #usr/include/boost/intrusive/parent_from_member.hpp
 #usr/include/boost/intrusive/pointer_plus_bits.hpp
+#usr/include/boost/intrusive/pointer_rebind.hpp
 #usr/include/boost/intrusive/pointer_traits.hpp
 #usr/include/boost/intrusive/priority_compare.hpp
 #usr/include/boost/intrusive/rbtree.hpp
 #usr/include/boost/intrusive/slist.hpp
 #usr/include/boost/intrusive/slist_hook.hpp
 #usr/include/boost/intrusive/splay_set.hpp
-#usr/include/boost/intrusive/splay_set_hook.hpp
 #usr/include/boost/intrusive/splaytree.hpp
 #usr/include/boost/intrusive/splaytree_algorithms.hpp
 #usr/include/boost/intrusive/treap.hpp
 #usr/include/boost/iostreams/detail/system_failure.hpp
 #usr/include/boost/iostreams/detail/template_params.hpp
 #usr/include/boost/iostreams/detail/translate_int_type.hpp
-#usr/include/boost/iostreams/detail/vc6
-#usr/include/boost/iostreams/detail/vc6/close.hpp
-#usr/include/boost/iostreams/detail/vc6/read.hpp
-#usr/include/boost/iostreams/detail/vc6/write.hpp
 #usr/include/boost/iostreams/detail/wrap_unwrap.hpp
 #usr/include/boost/iostreams/device
 #usr/include/boost/iostreams/device/array.hpp
 #usr/include/boost/iterator/iterator_concepts.hpp
 #usr/include/boost/iterator/iterator_facade.hpp
 #usr/include/boost/iterator/iterator_traits.hpp
+#usr/include/boost/iterator/minimum_category.hpp
 #usr/include/boost/iterator/new_iterator_tests.hpp
 #usr/include/boost/iterator/permutation_iterator.hpp
 #usr/include/boost/iterator/reverse_iterator.hpp
 #usr/include/boost/lambda/numeric.hpp
 #usr/include/boost/lambda/switch.hpp
 #usr/include/boost/last_value.hpp
+#usr/include/boost/lexical_cast
 #usr/include/boost/lexical_cast.hpp
+#usr/include/boost/lexical_cast/bad_lexical_cast.hpp
+#usr/include/boost/lexical_cast/detail
+#usr/include/boost/lexical_cast/detail/converter_lexical.hpp
+#usr/include/boost/lexical_cast/detail/converter_lexical_streams.hpp
+#usr/include/boost/lexical_cast/detail/converter_numeric.hpp
+#usr/include/boost/lexical_cast/detail/inf_nan.hpp
+#usr/include/boost/lexical_cast/detail/is_character.hpp
+#usr/include/boost/lexical_cast/detail/lcast_char_constants.hpp
+#usr/include/boost/lexical_cast/detail/lcast_unsigned_converters.hpp
+#usr/include/boost/lexical_cast/detail/widest_char.hpp
+#usr/include/boost/lexical_cast/lexical_cast_old.hpp
+#usr/include/boost/lexical_cast/try_lexical_convert.hpp
 #usr/include/boost/limits.hpp
 #usr/include/boost/local_function
 #usr/include/boost/local_function.hpp
 #usr/include/boost/locale/format.hpp
 #usr/include/boost/locale/formatting.hpp
 #usr/include/boost/locale/generator.hpp
+#usr/include/boost/locale/generic_codecvt.hpp
 #usr/include/boost/locale/gnu_gettext.hpp
 #usr/include/boost/locale/hold_ptr.hpp
 #usr/include/boost/locale/info.hpp
 #usr/include/boost/locale/message.hpp
 #usr/include/boost/locale/time_zone.hpp
 #usr/include/boost/locale/utf.hpp
+#usr/include/boost/locale/utf8_codecvt.hpp
 #usr/include/boost/locale/util.hpp
 #usr/include/boost/lockfree
 #usr/include/boost/lockfree/detail
 #usr/include/boost/lockfree/detail/atomic.hpp
-#usr/include/boost/lockfree/detail/branch_hints.hpp
 #usr/include/boost/lockfree/detail/copy_payload.hpp
 #usr/include/boost/lockfree/detail/freelist.hpp
 #usr/include/boost/lockfree/detail/parameter.hpp
 #usr/include/boost/lockfree/detail/tagged_ptr.hpp
 #usr/include/boost/lockfree/detail/tagged_ptr_dcas.hpp
 #usr/include/boost/lockfree/detail/tagged_ptr_ptrcompression.hpp
+#usr/include/boost/lockfree/lockfree_forward.hpp
 #usr/include/boost/lockfree/policies.hpp
 #usr/include/boost/lockfree/queue.hpp
 #usr/include/boost/lockfree/spsc_queue.hpp
 #usr/include/boost/log/core/record.hpp
 #usr/include/boost/log/core/record_view.hpp
 #usr/include/boost/log/detail
+#usr/include/boost/log/detail/adaptive_mutex.hpp
 #usr/include/boost/log/detail/asio_fwd.hpp
 #usr/include/boost/log/detail/attachable_sstream_buf.hpp
 #usr/include/boost/log/detail/attr_output_impl.hpp
 #usr/include/boost/log/detail/attr_output_terminal.hpp
 #usr/include/boost/log/detail/attribute_get_value_impl.hpp
 #usr/include/boost/log/detail/attribute_predicate.hpp
+#usr/include/boost/log/detail/c_str.hpp
 #usr/include/boost/log/detail/cleanup_scope_guard.hpp
 #usr/include/boost/log/detail/code_conversion.hpp
 #usr/include/boost/log/detail/config.hpp
+#usr/include/boost/log/detail/copy_cv.hpp
 #usr/include/boost/log/detail/custom_terminal_spec.hpp
 #usr/include/boost/log/detail/date_time_fmt_gen_traits_fwd.hpp
 #usr/include/boost/log/detail/date_time_format_parser.hpp
 #usr/include/boost/log/detail/deduce_char_type.hpp
 #usr/include/boost/log/detail/default_attribute_names.hpp
 #usr/include/boost/log/detail/embedded_string_type.hpp
+#usr/include/boost/log/detail/enqueued_record.hpp
 #usr/include/boost/log/detail/event.hpp
 #usr/include/boost/log/detail/fake_mutex.hpp
 #usr/include/boost/log/detail/footer.hpp
 #usr/include/boost/log/detail/generate_overloads.hpp
 #usr/include/boost/log/detail/header.hpp
 #usr/include/boost/log/detail/id.hpp
+#usr/include/boost/log/detail/is_character_type.hpp
+#usr/include/boost/log/detail/is_ostream.hpp
 #usr/include/boost/log/detail/light_function.hpp
 #usr/include/boost/log/detail/light_function_pp.hpp
 #usr/include/boost/log/detail/light_rw_mutex.hpp
 #usr/include/boost/log/detail/locking_ptr.hpp
 #usr/include/boost/log/detail/locks.hpp
-#usr/include/boost/log/detail/malloc_aligned.hpp
 #usr/include/boost/log/detail/named_scope_fmt_pp.hpp
 #usr/include/boost/log/detail/native_typeof.hpp
 #usr/include/boost/log/detail/parameter_tools.hpp
+#usr/include/boost/log/detail/pause.hpp
 #usr/include/boost/log/detail/pp_identity.hpp
 #usr/include/boost/log/detail/process_id.hpp
 #usr/include/boost/log/detail/setup_config.hpp
+#usr/include/boost/log/detail/sfinae_tools.hpp
 #usr/include/boost/log/detail/singleton.hpp
 #usr/include/boost/log/detail/sink_init_helpers.hpp
 #usr/include/boost/log/detail/snprintf.hpp
-#usr/include/boost/log/detail/spin_mutex.hpp
 #usr/include/boost/log/detail/tagged_integer.hpp
 #usr/include/boost/log/detail/thread_id.hpp
 #usr/include/boost/log/detail/thread_specific.hpp
 #usr/include/boost/log/detail/unary_function_terminal.hpp
 #usr/include/boost/log/detail/unhandled_exception_count.hpp
 #usr/include/boost/log/detail/value_ref_visitation.hpp
-#usr/include/boost/log/detail/visible_type.hpp
 #usr/include/boost/log/exceptions.hpp
 #usr/include/boost/log/expressions
 #usr/include/boost/log/expressions.hpp
 #usr/include/boost/log/expressions/formatters/date_time.hpp
 #usr/include/boost/log/expressions/formatters/format.hpp
 #usr/include/boost/log/expressions/formatters/if.hpp
+#usr/include/boost/log/expressions/formatters/max_size_decorator.hpp
 #usr/include/boost/log/expressions/formatters/named_scope.hpp
 #usr/include/boost/log/expressions/formatters/stream.hpp
 #usr/include/boost/log/expressions/formatters/wrap_formatter.hpp
 #usr/include/boost/log/expressions/record.hpp
 #usr/include/boost/log/keywords
 #usr/include/boost/log/keywords/auto_flush.hpp
+#usr/include/boost/log/keywords/block_size.hpp
+#usr/include/boost/log/keywords/capacity.hpp
 #usr/include/boost/log/keywords/channel.hpp
 #usr/include/boost/log/keywords/delimiter.hpp
 #usr/include/boost/log/keywords/depth.hpp
+#usr/include/boost/log/keywords/empty_marker.hpp
+#usr/include/boost/log/keywords/enable_final_rotation.hpp
 #usr/include/boost/log/keywords/facility.hpp
 #usr/include/boost/log/keywords/file_name.hpp
 #usr/include/boost/log/keywords/filter.hpp
 #usr/include/boost/log/keywords/format.hpp
 #usr/include/boost/log/keywords/ident.hpp
+#usr/include/boost/log/keywords/incomplete_marker.hpp
 #usr/include/boost/log/keywords/ip_version.hpp
 #usr/include/boost/log/keywords/iteration.hpp
 #usr/include/boost/log/keywords/log_name.hpp
 #usr/include/boost/log/keywords/log_source.hpp
+#usr/include/boost/log/keywords/max_files.hpp
 #usr/include/boost/log/keywords/max_size.hpp
 #usr/include/boost/log/keywords/message_file.hpp
 #usr/include/boost/log/keywords/min_free_space.hpp
+#usr/include/boost/log/keywords/name.hpp
 #usr/include/boost/log/keywords/open_mode.hpp
 #usr/include/boost/log/keywords/order.hpp
 #usr/include/boost/log/keywords/ordering_window.hpp
+#usr/include/boost/log/keywords/overflow_policy.hpp
+#usr/include/boost/log/keywords/permissions.hpp
 #usr/include/boost/log/keywords/registration.hpp
 #usr/include/boost/log/keywords/rotation_size.hpp
 #usr/include/boost/log/keywords/scan_method.hpp
 #usr/include/boost/log/sinks/syslog_backend.hpp
 #usr/include/boost/log/sinks/syslog_constants.hpp
 #usr/include/boost/log/sinks/text_file_backend.hpp
+#usr/include/boost/log/sinks/text_ipc_message_queue_backend.hpp
 #usr/include/boost/log/sinks/text_multifile_backend.hpp
 #usr/include/boost/log/sinks/text_ostream_backend.hpp
 #usr/include/boost/log/sinks/unbounded_fifo_queue.hpp
 #usr/include/boost/log/support/regex.hpp
 #usr/include/boost/log/support/spirit_classic.hpp
 #usr/include/boost/log/support/spirit_qi.hpp
+#usr/include/boost/log/support/std_regex.hpp
 #usr/include/boost/log/support/xpressive.hpp
 #usr/include/boost/log/trivial.hpp
 #usr/include/boost/log/utility
-#usr/include/boost/log/utility/empty_deleter.hpp
 #usr/include/boost/log/utility/exception_handler.hpp
-#usr/include/boost/log/utility/explicit_operator_bool.hpp
 #usr/include/boost/log/utility/formatting_ostream.hpp
 #usr/include/boost/log/utility/formatting_ostream_fwd.hpp
 #usr/include/boost/log/utility/functional
 #usr/include/boost/log/utility/functional/matches.hpp
 #usr/include/boost/log/utility/functional/nop.hpp
 #usr/include/boost/log/utility/functional/save_result.hpp
-#usr/include/boost/log/utility/intrusive_ref_counter.hpp
+#usr/include/boost/log/utility/ipc
+#usr/include/boost/log/utility/ipc/object_name.hpp
+#usr/include/boost/log/utility/ipc/reliable_message_queue.hpp
 #usr/include/boost/log/utility/manipulators
 #usr/include/boost/log/utility/manipulators.hpp
 #usr/include/boost/log/utility/manipulators/add_value.hpp
 #usr/include/boost/log/utility/manipulators/dump.hpp
 #usr/include/boost/log/utility/manipulators/to_log.hpp
 #usr/include/boost/log/utility/once_block.hpp
+#usr/include/boost/log/utility/open_mode.hpp
+#usr/include/boost/log/utility/permissions.hpp
 #usr/include/boost/log/utility/record_ordering.hpp
 #usr/include/boost/log/utility/setup
 #usr/include/boost/log/utility/setup.hpp
 #usr/include/boost/log/utility/type_dispatch/standard_types.hpp
 #usr/include/boost/log/utility/type_dispatch/static_type_dispatcher.hpp
 #usr/include/boost/log/utility/type_dispatch/type_dispatcher.hpp
-#usr/include/boost/log/utility/type_info_wrapper.hpp
 #usr/include/boost/log/utility/unique_identifier_name.hpp
 #usr/include/boost/log/utility/unused_variable.hpp
 #usr/include/boost/log/utility/value_ref.hpp
 #usr/include/boost/logic/tribool.hpp
 #usr/include/boost/logic/tribool_fwd.hpp
 #usr/include/boost/logic/tribool_io.hpp
+#usr/include/boost/make_default.hpp
 #usr/include/boost/make_shared.hpp
+#usr/include/boost/make_unique.hpp
 #usr/include/boost/math
 #usr/include/boost/math/bindings
 #usr/include/boost/math/bindings/detail
 #usr/include/boost/math/constants
 #usr/include/boost/math/constants/calculate_constants.hpp
 #usr/include/boost/math/constants/constants.hpp
-#usr/include/boost/math/constants/generate.hpp
 #usr/include/boost/math/constants/info.hpp
+#usr/include/boost/math/cstdfloat
+#usr/include/boost/math/cstdfloat/cstdfloat_cmath.hpp
+#usr/include/boost/math/cstdfloat/cstdfloat_complex.hpp
+#usr/include/boost/math/cstdfloat/cstdfloat_complex_std.hpp
+#usr/include/boost/math/cstdfloat/cstdfloat_iostream.hpp
+#usr/include/boost/math/cstdfloat/cstdfloat_limits.hpp
+#usr/include/boost/math/cstdfloat/cstdfloat_types.hpp
 #usr/include/boost/math/distributions
 #usr/include/boost/math/distributions.hpp
+#usr/include/boost/math/distributions/arcsine.hpp
 #usr/include/boost/math/distributions/bernoulli.hpp
 #usr/include/boost/math/distributions/beta.hpp
 #usr/include/boost/math/distributions/binomial.hpp
 #usr/include/boost/math/distributions/fwd.hpp
 #usr/include/boost/math/distributions/gamma.hpp
 #usr/include/boost/math/distributions/geometric.hpp
+#usr/include/boost/math/distributions/hyperexponential.hpp
 #usr/include/boost/math/distributions/hypergeometric.hpp
 #usr/include/boost/math/distributions/inverse_chi_squared.hpp
 #usr/include/boost/math/distributions/inverse_gamma.hpp
 #usr/include/boost/math/special_functions/airy.hpp
 #usr/include/boost/math/special_functions/asinh.hpp
 #usr/include/boost/math/special_functions/atanh.hpp
+#usr/include/boost/math/special_functions/bernoulli.hpp
 #usr/include/boost/math/special_functions/bessel.hpp
+#usr/include/boost/math/special_functions/bessel_prime.hpp
 #usr/include/boost/math/special_functions/beta.hpp
 #usr/include/boost/math/special_functions/binomial.hpp
 #usr/include/boost/math/special_functions/cbrt.hpp
 #usr/include/boost/math/special_functions/cos_pi.hpp
 #usr/include/boost/math/special_functions/detail
 #usr/include/boost/math/special_functions/detail/airy_ai_bi_zero.hpp
+#usr/include/boost/math/special_functions/detail/bernoulli_details.hpp
+#usr/include/boost/math/special_functions/detail/bessel_derivatives_linear.hpp
 #usr/include/boost/math/special_functions/detail/bessel_i0.hpp
 #usr/include/boost/math/special_functions/detail/bessel_i1.hpp
 #usr/include/boost/math/special_functions/detail/bessel_ik.hpp
 #usr/include/boost/math/special_functions/detail/bessel_jn.hpp
 #usr/include/boost/math/special_functions/detail/bessel_jy.hpp
 #usr/include/boost/math/special_functions/detail/bessel_jy_asym.hpp
+#usr/include/boost/math/special_functions/detail/bessel_jy_derivatives_asym.hpp
+#usr/include/boost/math/special_functions/detail/bessel_jy_derivatives_series.hpp
 #usr/include/boost/math/special_functions/detail/bessel_jy_series.hpp
 #usr/include/boost/math/special_functions/detail/bessel_jy_zero.hpp
 #usr/include/boost/math/special_functions/detail/bessel_k0.hpp
 #usr/include/boost/math/special_functions/detail/igamma_large.hpp
 #usr/include/boost/math/special_functions/detail/lanczos_sse2.hpp
 #usr/include/boost/math/special_functions/detail/lgamma_small.hpp
+#usr/include/boost/math/special_functions/detail/polygamma.hpp
 #usr/include/boost/math/special_functions/detail/round_fwd.hpp
 #usr/include/boost/math/special_functions/detail/t_distribution_inv.hpp
+#usr/include/boost/math/special_functions/detail/unchecked_bernoulli.hpp
 #usr/include/boost/math/special_functions/detail/unchecked_factorial.hpp
 #usr/include/boost/math/special_functions/digamma.hpp
 #usr/include/boost/math/special_functions/ellint_1.hpp
 #usr/include/boost/math/special_functions/ellint_2.hpp
 #usr/include/boost/math/special_functions/ellint_3.hpp
+#usr/include/boost/math/special_functions/ellint_d.hpp
 #usr/include/boost/math/special_functions/ellint_rc.hpp
 #usr/include/boost/math/special_functions/ellint_rd.hpp
 #usr/include/boost/math/special_functions/ellint_rf.hpp
+#usr/include/boost/math/special_functions/ellint_rg.hpp
 #usr/include/boost/math/special_functions/ellint_rj.hpp
 #usr/include/boost/math/special_functions/erf.hpp
 #usr/include/boost/math/special_functions/expint.hpp
 #usr/include/boost/math/special_functions/gamma.hpp
 #usr/include/boost/math/special_functions/hankel.hpp
 #usr/include/boost/math/special_functions/hermite.hpp
+#usr/include/boost/math/special_functions/heuman_lambda.hpp
 #usr/include/boost/math/special_functions/hypot.hpp
 #usr/include/boost/math/special_functions/jacobi_elliptic.hpp
+#usr/include/boost/math/special_functions/jacobi_zeta.hpp
 #usr/include/boost/math/special_functions/laguerre.hpp
 #usr/include/boost/math/special_functions/lanczos.hpp
 #usr/include/boost/math/special_functions/legendre.hpp
 #usr/include/boost/math/special_functions/next.hpp
 #usr/include/boost/math/special_functions/nonfinite_num_facets.hpp
 #usr/include/boost/math/special_functions/owens_t.hpp
+#usr/include/boost/math/special_functions/polygamma.hpp
 #usr/include/boost/math/special_functions/pow.hpp
 #usr/include/boost/math/special_functions/powm1.hpp
 #usr/include/boost/math/special_functions/prime.hpp
+#usr/include/boost/math/special_functions/relative_difference.hpp
 #usr/include/boost/math/special_functions/round.hpp
 #usr/include/boost/math/special_functions/sign.hpp
 #usr/include/boost/math/special_functions/sin_pi.hpp
 #usr/include/boost/math/special_functions/sinhc.hpp
 #usr/include/boost/math/special_functions/spherical_harmonic.hpp
 #usr/include/boost/math/special_functions/sqrt1pm1.hpp
+#usr/include/boost/math/special_functions/trigamma.hpp
 #usr/include/boost/math/special_functions/trunc.hpp
+#usr/include/boost/math/special_functions/ulp.hpp
 #usr/include/boost/math/special_functions/zeta.hpp
 #usr/include/boost/math/tools
 #usr/include/boost/math/tools/big_constant.hpp
 #usr/include/boost/math/tools/config.hpp
+#usr/include/boost/math/tools/convert_from_string.hpp
 #usr/include/boost/math/tools/detail
 #usr/include/boost/math/tools/detail/polynomial_horner1_10.hpp
 #usr/include/boost/math/tools/detail/polynomial_horner1_11.hpp
 #usr/include/boost/math/tools/promotion.hpp
 #usr/include/boost/math/tools/rational.hpp
 #usr/include/boost/math/tools/real_cast.hpp
-#usr/include/boost/math/tools/remez.hpp
 #usr/include/boost/math/tools/roots.hpp
 #usr/include/boost/math/tools/series.hpp
-#usr/include/boost/math/tools/solve.hpp
 #usr/include/boost/math/tools/stats.hpp
-#usr/include/boost/math/tools/test.hpp
-#usr/include/boost/math/tools/test_data.hpp
 #usr/include/boost/math/tools/toms748_solve.hpp
 #usr/include/boost/math/tools/traits.hpp
 #usr/include/boost/math/tools/tuple.hpp
 #usr/include/boost/math_fwd.hpp
 #usr/include/boost/mem_fn.hpp
 #usr/include/boost/memory_order.hpp
+#usr/include/boost/metaparse
+#usr/include/boost/metaparse.hpp
+#usr/include/boost/metaparse/accept.hpp
+#usr/include/boost/metaparse/accept_tag.hpp
+#usr/include/boost/metaparse/accept_when.hpp
+#usr/include/boost/metaparse/alphanum.hpp
+#usr/include/boost/metaparse/always.hpp
+#usr/include/boost/metaparse/always_c.hpp
+#usr/include/boost/metaparse/build_parser.hpp
+#usr/include/boost/metaparse/change_error_message.hpp
+#usr/include/boost/metaparse/config.hpp
+#usr/include/boost/metaparse/debug_parsing_error.hpp
+#usr/include/boost/metaparse/define_error.hpp
+#usr/include/boost/metaparse/digit.hpp
+#usr/include/boost/metaparse/digit_val.hpp
+#usr/include/boost/metaparse/empty.hpp
+#usr/include/boost/metaparse/entire_input.hpp
+#usr/include/boost/metaparse/error
+#usr/include/boost/metaparse/error/digit_expected.hpp
+#usr/include/boost/metaparse/error/end_of_input_expected.hpp
+#usr/include/boost/metaparse/error/index_out_of_range.hpp
+#usr/include/boost/metaparse/error/letter_expected.hpp
+#usr/include/boost/metaparse/error/literal_expected.hpp
+#usr/include/boost/metaparse/error/none_of_the_expected_cases_found.hpp
+#usr/include/boost/metaparse/error/unexpected_character.hpp
+#usr/include/boost/metaparse/error/unexpected_end_of_input.hpp
+#usr/include/boost/metaparse/error/unpaired.hpp
+#usr/include/boost/metaparse/error/whitespace_expected.hpp
+#usr/include/boost/metaparse/except.hpp
+#usr/include/boost/metaparse/fail.hpp
+#usr/include/boost/metaparse/fail_at_first_char_expected.hpp
+#usr/include/boost/metaparse/fail_tag.hpp
+#usr/include/boost/metaparse/first_of.hpp
+#usr/include/boost/metaparse/foldl.hpp
+#usr/include/boost/metaparse/foldl1.hpp
+#usr/include/boost/metaparse/foldl_reject_incomplete.hpp
+#usr/include/boost/metaparse/foldl_reject_incomplete1.hpp
+#usr/include/boost/metaparse/foldl_reject_incomplete_start_with_parser.hpp
+#usr/include/boost/metaparse/foldl_start_with_parser.hpp
+#usr/include/boost/metaparse/foldr.hpp
+#usr/include/boost/metaparse/foldr1.hpp
+#usr/include/boost/metaparse/foldr_reject_incomplete.hpp
+#usr/include/boost/metaparse/foldr_reject_incomplete1.hpp
+#usr/include/boost/metaparse/foldr_start_with_parser.hpp
+#usr/include/boost/metaparse/get_col.hpp
+#usr/include/boost/metaparse/get_line.hpp
+#usr/include/boost/metaparse/get_message.hpp
+#usr/include/boost/metaparse/get_position.hpp
+#usr/include/boost/metaparse/get_prev_char.hpp
+#usr/include/boost/metaparse/get_remaining.hpp
+#usr/include/boost/metaparse/get_result.hpp
+#usr/include/boost/metaparse/grammar.hpp
+#usr/include/boost/metaparse/if_.hpp
+#usr/include/boost/metaparse/int_.hpp
+#usr/include/boost/metaparse/is_error.hpp
+#usr/include/boost/metaparse/iterate.hpp
+#usr/include/boost/metaparse/iterate_c.hpp
+#usr/include/boost/metaparse/keyword.hpp
+#usr/include/boost/metaparse/last_of.hpp
+#usr/include/boost/metaparse/letter.hpp
+#usr/include/boost/metaparse/limit_one_char_except_size.hpp
+#usr/include/boost/metaparse/limit_one_of_size.hpp
+#usr/include/boost/metaparse/limit_sequence_size.hpp
+#usr/include/boost/metaparse/limit_string_size.hpp
+#usr/include/boost/metaparse/lit.hpp
+#usr/include/boost/metaparse/lit_c.hpp
+#usr/include/boost/metaparse/look_ahead.hpp
+#usr/include/boost/metaparse/middle_of.hpp
+#usr/include/boost/metaparse/next_char.hpp
+#usr/include/boost/metaparse/next_line.hpp
+#usr/include/boost/metaparse/nth_of.hpp
+#usr/include/boost/metaparse/nth_of_c.hpp
+#usr/include/boost/metaparse/one_char.hpp
+#usr/include/boost/metaparse/one_char_except.hpp
+#usr/include/boost/metaparse/one_char_except_c.hpp
+#usr/include/boost/metaparse/one_of.hpp
+#usr/include/boost/metaparse/one_of_c.hpp
+#usr/include/boost/metaparse/optional.hpp
+#usr/include/boost/metaparse/range.hpp
+#usr/include/boost/metaparse/range_c.hpp
+#usr/include/boost/metaparse/reject.hpp
+#usr/include/boost/metaparse/repeated.hpp
+#usr/include/boost/metaparse/repeated1.hpp
+#usr/include/boost/metaparse/repeated_one_of.hpp
+#usr/include/boost/metaparse/repeated_one_of1.hpp
+#usr/include/boost/metaparse/repeated_reject_incomplete.hpp
+#usr/include/boost/metaparse/repeated_reject_incomplete1.hpp
+#usr/include/boost/metaparse/return_.hpp
+#usr/include/boost/metaparse/sequence.hpp
+#usr/include/boost/metaparse/sequence_apply.hpp
+#usr/include/boost/metaparse/source_position.hpp
+#usr/include/boost/metaparse/source_position_tag.hpp
+#usr/include/boost/metaparse/space.hpp
+#usr/include/boost/metaparse/spaces.hpp
+#usr/include/boost/metaparse/start.hpp
+#usr/include/boost/metaparse/string.hpp
+#usr/include/boost/metaparse/string_tag.hpp
+#usr/include/boost/metaparse/token.hpp
+#usr/include/boost/metaparse/transform.hpp
+#usr/include/boost/metaparse/transform_error.hpp
+#usr/include/boost/metaparse/transform_error_message.hpp
+#usr/include/boost/metaparse/unless_error.hpp
+#usr/include/boost/metaparse/util
+#usr/include/boost/metaparse/util/digit_to_int.hpp
+#usr/include/boost/metaparse/util/digit_to_int_c.hpp
+#usr/include/boost/metaparse/util/in_range.hpp
+#usr/include/boost/metaparse/util/in_range_c.hpp
+#usr/include/boost/metaparse/util/int_to_digit.hpp
+#usr/include/boost/metaparse/util/int_to_digit_c.hpp
+#usr/include/boost/metaparse/util/is_digit.hpp
+#usr/include/boost/metaparse/util/is_lcase_letter.hpp
+#usr/include/boost/metaparse/util/is_letter.hpp
+#usr/include/boost/metaparse/util/is_ucase_letter.hpp
+#usr/include/boost/metaparse/util/is_whitespace.hpp
+#usr/include/boost/metaparse/util/is_whitespace_c.hpp
+#usr/include/boost/metaparse/v1
+#usr/include/boost/metaparse/v1/accept.hpp
+#usr/include/boost/metaparse/v1/accept_tag.hpp
+#usr/include/boost/metaparse/v1/accept_when.hpp
+#usr/include/boost/metaparse/v1/alphanum.hpp
+#usr/include/boost/metaparse/v1/always.hpp
+#usr/include/boost/metaparse/v1/always_c.hpp
+#usr/include/boost/metaparse/v1/build_parser.hpp
+#usr/include/boost/metaparse/v1/change_error_message.hpp
+#usr/include/boost/metaparse/v1/debug_parsing_error.hpp
+#usr/include/boost/metaparse/v1/define_error.hpp
+#usr/include/boost/metaparse/v1/digit.hpp
+#usr/include/boost/metaparse/v1/digit_val.hpp
+#usr/include/boost/metaparse/v1/empty.hpp
+#usr/include/boost/metaparse/v1/entire_input.hpp
+#usr/include/boost/metaparse/v1/error
+#usr/include/boost/metaparse/v1/error/digit_expected.hpp
+#usr/include/boost/metaparse/v1/error/end_of_input_expected.hpp
+#usr/include/boost/metaparse/v1/error/expected_to_fail.hpp
+#usr/include/boost/metaparse/v1/error/index_out_of_range.hpp
+#usr/include/boost/metaparse/v1/error/letter_expected.hpp
+#usr/include/boost/metaparse/v1/error/literal_expected.hpp
+#usr/include/boost/metaparse/v1/error/none_of_the_expected_cases_found.hpp
+#usr/include/boost/metaparse/v1/error/unexpected_character.hpp
+#usr/include/boost/metaparse/v1/error/unexpected_end_of_input.hpp
+#usr/include/boost/metaparse/v1/error/unpaired.hpp
+#usr/include/boost/metaparse/v1/error/whitespace_expected.hpp
+#usr/include/boost/metaparse/v1/except.hpp
+#usr/include/boost/metaparse/v1/fail.hpp
+#usr/include/boost/metaparse/v1/fail_at_first_char_expected.hpp
+#usr/include/boost/metaparse/v1/fail_tag.hpp
+#usr/include/boost/metaparse/v1/first_of.hpp
+#usr/include/boost/metaparse/v1/foldl.hpp
+#usr/include/boost/metaparse/v1/foldl1.hpp
+#usr/include/boost/metaparse/v1/foldl_reject_incomplete.hpp
+#usr/include/boost/metaparse/v1/foldl_reject_incomplete1.hpp
+#usr/include/boost/metaparse/v1/foldl_reject_incomplete_start_with_parser.hpp
+#usr/include/boost/metaparse/v1/foldl_start_with_parser.hpp
+#usr/include/boost/metaparse/v1/foldr.hpp
+#usr/include/boost/metaparse/v1/foldr1.hpp
+#usr/include/boost/metaparse/v1/foldr_reject_incomplete.hpp
+#usr/include/boost/metaparse/v1/foldr_reject_incomplete1.hpp
+#usr/include/boost/metaparse/v1/foldr_start_with_parser.hpp
+#usr/include/boost/metaparse/v1/fwd
+#usr/include/boost/metaparse/v1/fwd/accept.hpp
+#usr/include/boost/metaparse/v1/fwd/build_parser.hpp
+#usr/include/boost/metaparse/v1/fwd/get_col.hpp
+#usr/include/boost/metaparse/v1/fwd/get_line.hpp
+#usr/include/boost/metaparse/v1/fwd/get_message.hpp
+#usr/include/boost/metaparse/v1/fwd/get_position.hpp
+#usr/include/boost/metaparse/v1/fwd/get_prev_char.hpp
+#usr/include/boost/metaparse/v1/fwd/get_remaining.hpp
+#usr/include/boost/metaparse/v1/fwd/get_result.hpp
+#usr/include/boost/metaparse/v1/fwd/next_char.hpp
+#usr/include/boost/metaparse/v1/fwd/next_line.hpp
+#usr/include/boost/metaparse/v1/fwd/reject.hpp
+#usr/include/boost/metaparse/v1/fwd/source_position.hpp
+#usr/include/boost/metaparse/v1/fwd/string.hpp
+#usr/include/boost/metaparse/v1/get_col.hpp
+#usr/include/boost/metaparse/v1/get_line.hpp
+#usr/include/boost/metaparse/v1/get_message.hpp
+#usr/include/boost/metaparse/v1/get_position.hpp
+#usr/include/boost/metaparse/v1/get_prev_char.hpp
+#usr/include/boost/metaparse/v1/get_remaining.hpp
+#usr/include/boost/metaparse/v1/get_result.hpp
+#usr/include/boost/metaparse/v1/grammar.hpp
+#usr/include/boost/metaparse/v1/if_.hpp
+#usr/include/boost/metaparse/v1/impl
+#usr/include/boost/metaparse/v1/impl/apply_parser.hpp
+#usr/include/boost/metaparse/v1/impl/assert_string_length.hpp
+#usr/include/boost/metaparse/v1/impl/at_c.hpp
+#usr/include/boost/metaparse/v1/impl/back_inserter.hpp
+#usr/include/boost/metaparse/v1/impl/concat.hpp
+#usr/include/boost/metaparse/v1/impl/empty_string.hpp
+#usr/include/boost/metaparse/v1/impl/front_inserter.hpp
+#usr/include/boost/metaparse/v1/impl/fwd
+#usr/include/boost/metaparse/v1/impl/fwd/iterate_impl.hpp
+#usr/include/boost/metaparse/v1/impl/has_type.hpp
+#usr/include/boost/metaparse/v1/impl/is_any.hpp
+#usr/include/boost/metaparse/v1/impl/is_char_c.hpp
+#usr/include/boost/metaparse/v1/impl/iterate_impl.hpp
+#usr/include/boost/metaparse/v1/impl/iterate_impl_unchecked.hpp
+#usr/include/boost/metaparse/v1/impl/later_result.hpp
+#usr/include/boost/metaparse/v1/impl/next_digit.hpp
+#usr/include/boost/metaparse/v1/impl/no_char.hpp
+#usr/include/boost/metaparse/v1/impl/nth_of_c.hpp
+#usr/include/boost/metaparse/v1/impl/nth_of_c_impl.hpp
+#usr/include/boost/metaparse/v1/impl/one_char_except_not_used.hpp
+#usr/include/boost/metaparse/v1/impl/one_of.hpp
+#usr/include/boost/metaparse/v1/impl/one_of_fwd_op.hpp
+#usr/include/boost/metaparse/v1/impl/pop_back.hpp
+#usr/include/boost/metaparse/v1/impl/pop_front.hpp
+#usr/include/boost/metaparse/v1/impl/push_back_c.hpp
+#usr/include/boost/metaparse/v1/impl/push_front_c.hpp
+#usr/include/boost/metaparse/v1/impl/remove_trailing_no_chars.hpp
+#usr/include/boost/metaparse/v1/impl/returns.hpp
+#usr/include/boost/metaparse/v1/impl/sequence.hpp
+#usr/include/boost/metaparse/v1/impl/sequence_impl.hpp
+#usr/include/boost/metaparse/v1/impl/size.hpp
+#usr/include/boost/metaparse/v1/impl/skip_seq.hpp
+#usr/include/boost/metaparse/v1/impl/split_at_c.hpp
+#usr/include/boost/metaparse/v1/impl/string.hpp
+#usr/include/boost/metaparse/v1/impl/string_at.hpp
+#usr/include/boost/metaparse/v1/impl/string_iterator.hpp
+#usr/include/boost/metaparse/v1/impl/string_iterator_tag.hpp
+#usr/include/boost/metaparse/v1/impl/update_c.hpp
+#usr/include/boost/metaparse/v1/impl/void_.hpp
+#usr/include/boost/metaparse/v1/int_.hpp
+#usr/include/boost/metaparse/v1/is_error.hpp
+#usr/include/boost/metaparse/v1/iterate.hpp
+#usr/include/boost/metaparse/v1/iterate_c.hpp
+#usr/include/boost/metaparse/v1/keyword.hpp
+#usr/include/boost/metaparse/v1/last_of.hpp
+#usr/include/boost/metaparse/v1/letter.hpp
+#usr/include/boost/metaparse/v1/lit.hpp
+#usr/include/boost/metaparse/v1/lit_c.hpp
+#usr/include/boost/metaparse/v1/look_ahead.hpp
+#usr/include/boost/metaparse/v1/middle_of.hpp
+#usr/include/boost/metaparse/v1/next_char.hpp
+#usr/include/boost/metaparse/v1/next_line.hpp
+#usr/include/boost/metaparse/v1/nth_of.hpp
+#usr/include/boost/metaparse/v1/nth_of_c.hpp
+#usr/include/boost/metaparse/v1/one_char.hpp
+#usr/include/boost/metaparse/v1/one_char_except.hpp
+#usr/include/boost/metaparse/v1/one_char_except_c.hpp
+#usr/include/boost/metaparse/v1/one_of.hpp
+#usr/include/boost/metaparse/v1/one_of_c.hpp
+#usr/include/boost/metaparse/v1/optional.hpp
+#usr/include/boost/metaparse/v1/range.hpp
+#usr/include/boost/metaparse/v1/range_c.hpp
+#usr/include/boost/metaparse/v1/reject.hpp
+#usr/include/boost/metaparse/v1/repeated.hpp
+#usr/include/boost/metaparse/v1/repeated1.hpp
+#usr/include/boost/metaparse/v1/repeated_one_of.hpp
+#usr/include/boost/metaparse/v1/repeated_one_of1.hpp
+#usr/include/boost/metaparse/v1/repeated_reject_incomplete.hpp
+#usr/include/boost/metaparse/v1/repeated_reject_incomplete1.hpp
+#usr/include/boost/metaparse/v1/return_.hpp
+#usr/include/boost/metaparse/v1/sequence.hpp
+#usr/include/boost/metaparse/v1/sequence_apply.hpp
+#usr/include/boost/metaparse/v1/source_position.hpp
+#usr/include/boost/metaparse/v1/source_position_tag.hpp
+#usr/include/boost/metaparse/v1/space.hpp
+#usr/include/boost/metaparse/v1/spaces.hpp
+#usr/include/boost/metaparse/v1/start.hpp
+#usr/include/boost/metaparse/v1/string.hpp
+#usr/include/boost/metaparse/v1/string_tag.hpp
+#usr/include/boost/metaparse/v1/swap.hpp
+#usr/include/boost/metaparse/v1/token.hpp
+#usr/include/boost/metaparse/v1/transform.hpp
+#usr/include/boost/metaparse/v1/transform_error.hpp
+#usr/include/boost/metaparse/v1/transform_error_message.hpp
+#usr/include/boost/metaparse/v1/unless_error.hpp
+#usr/include/boost/metaparse/v1/util
+#usr/include/boost/metaparse/v1/util/digit_to_int.hpp
+#usr/include/boost/metaparse/v1/util/digit_to_int_c.hpp
+#usr/include/boost/metaparse/v1/util/in_range.hpp
+#usr/include/boost/metaparse/v1/util/in_range_c.hpp
+#usr/include/boost/metaparse/v1/util/int_to_digit.hpp
+#usr/include/boost/metaparse/v1/util/int_to_digit_c.hpp
+#usr/include/boost/metaparse/v1/util/is_digit.hpp
+#usr/include/boost/metaparse/v1/util/is_lcase_letter.hpp
+#usr/include/boost/metaparse/v1/util/is_letter.hpp
+#usr/include/boost/metaparse/v1/util/is_ucase_letter.hpp
+#usr/include/boost/metaparse/v1/util/is_whitespace.hpp
+#usr/include/boost/metaparse/v1/util/is_whitespace_c.hpp
+#usr/include/boost/metaparse/version.hpp
 #usr/include/boost/move
+#usr/include/boost/move/adl_move_swap.hpp
+#usr/include/boost/move/algo
+#usr/include/boost/move/algo/adaptive_merge.hpp
+#usr/include/boost/move/algo/adaptive_sort.hpp
+#usr/include/boost/move/algo/detail
+#usr/include/boost/move/algo/detail/adaptive_sort_merge.hpp
+#usr/include/boost/move/algo/detail/basic_op.hpp
+#usr/include/boost/move/algo/detail/insertion_sort.hpp
+#usr/include/boost/move/algo/detail/merge.hpp
+#usr/include/boost/move/algo/detail/merge_sort.hpp
+#usr/include/boost/move/algo/move.hpp
 #usr/include/boost/move/algorithm.hpp
 #usr/include/boost/move/core.hpp
+#usr/include/boost/move/default_delete.hpp
 #usr/include/boost/move/detail
 #usr/include/boost/move/detail/config_begin.hpp
 #usr/include/boost/move/detail/config_end.hpp
+#usr/include/boost/move/detail/destruct_n.hpp
+#usr/include/boost/move/detail/fwd_macros.hpp
+#usr/include/boost/move/detail/iterator_traits.hpp
 #usr/include/boost/move/detail/meta_utils.hpp
+#usr/include/boost/move/detail/meta_utils_core.hpp
 #usr/include/boost/move/detail/move_helpers.hpp
+#usr/include/boost/move/detail/placement_new.hpp
+#usr/include/boost/move/detail/reverse_iterator.hpp
+#usr/include/boost/move/detail/std_ns_begin.hpp
+#usr/include/boost/move/detail/std_ns_end.hpp
+#usr/include/boost/move/detail/type_traits.hpp
+#usr/include/boost/move/detail/unique_ptr_meta_utils.hpp
+#usr/include/boost/move/detail/workaround.hpp
 #usr/include/boost/move/iterator.hpp
+#usr/include/boost/move/make_unique.hpp
 #usr/include/boost/move/move.hpp
 #usr/include/boost/move/traits.hpp
+#usr/include/boost/move/unique_ptr.hpp
 #usr/include/boost/move/utility.hpp
+#usr/include/boost/move/utility_core.hpp
 #usr/include/boost/mpi
 #usr/include/boost/mpi.hpp
 #usr/include/boost/mpi/allocator.hpp
 #usr/include/boost/mpi/collectives/all_to_all.hpp
 #usr/include/boost/mpi/collectives/broadcast.hpp
 #usr/include/boost/mpi/collectives/gather.hpp
+#usr/include/boost/mpi/collectives/gatherv.hpp
 #usr/include/boost/mpi/collectives/reduce.hpp
 #usr/include/boost/mpi/collectives/scan.hpp
 #usr/include/boost/mpi/collectives/scatter.hpp
+#usr/include/boost/mpi/collectives/scatterv.hpp
 #usr/include/boost/mpi/collectives_fwd.hpp
 #usr/include/boost/mpi/communicator.hpp
 #usr/include/boost/mpi/config.hpp
 #usr/include/boost/mpl/aux_/config/eti.hpp
 #usr/include/boost/mpl/aux_/config/forwarding.hpp
 #usr/include/boost/mpl/aux_/config/gcc.hpp
+#usr/include/boost/mpl/aux_/config/gpu.hpp
 #usr/include/boost/mpl/aux_/config/has_apply.hpp
 #usr/include/boost/mpl/aux_/config/has_xxx.hpp
 #usr/include/boost/mpl/aux_/config/integral.hpp
 #usr/include/boost/mpl/map/aux_/has_key_impl.hpp
 #usr/include/boost/mpl/map/aux_/include_preprocessed.hpp
 #usr/include/boost/mpl/map/aux_/insert_impl.hpp
+#usr/include/boost/mpl/map/aux_/insert_range_impl.hpp
 #usr/include/boost/mpl/map/aux_/item.hpp
 #usr/include/boost/mpl/map/aux_/iterator.hpp
 #usr/include/boost/mpl/map/aux_/key_type_impl.hpp
 #usr/include/boost/mpl/set/aux_/has_key_impl.hpp
 #usr/include/boost/mpl/set/aux_/include_preprocessed.hpp
 #usr/include/boost/mpl/set/aux_/insert_impl.hpp
+#usr/include/boost/mpl/set/aux_/insert_range_impl.hpp
 #usr/include/boost/mpl/set/aux_/item.hpp
 #usr/include/boost/mpl/set/aux_/iterator.hpp
 #usr/include/boost/mpl/set/aux_/key_type_impl.hpp
 #usr/include/boost/multi_index/detail/base_type.hpp
 #usr/include/boost/multi_index/detail/bidir_node_iterator.hpp
 #usr/include/boost/multi_index/detail/bucket_array.hpp
+#usr/include/boost/multi_index/detail/cons_stdtuple.hpp
 #usr/include/boost/multi_index/detail/converter.hpp
 #usr/include/boost/multi_index/detail/copy_map.hpp
 #usr/include/boost/multi_index/detail/do_not_copy_elements_tag.hpp
 #usr/include/boost/multi_index/detail/hash_index_iterator.hpp
 #usr/include/boost/multi_index/detail/hash_index_node.hpp
 #usr/include/boost/multi_index/detail/header_holder.hpp
+#usr/include/boost/multi_index/detail/ignore_wstrict_aliasing.hpp
 #usr/include/boost/multi_index/detail/index_base.hpp
 #usr/include/boost/multi_index/detail/index_loader.hpp
 #usr/include/boost/multi_index/detail/index_matcher.hpp
 #usr/include/boost/multi_index/detail/index_saver.hpp
 #usr/include/boost/multi_index/detail/invariant_assert.hpp
 #usr/include/boost/multi_index/detail/is_index_list.hpp
+#usr/include/boost/multi_index/detail/is_transparent.hpp
 #usr/include/boost/multi_index/detail/iter_adaptor.hpp
 #usr/include/boost/multi_index/detail/modify_key_adaptor.hpp
-#usr/include/boost/multi_index/detail/msvc_index_specifier.hpp
 #usr/include/boost/multi_index/detail/no_duplicate_tags.hpp
 #usr/include/boost/multi_index/detail/node_type.hpp
 #usr/include/boost/multi_index/detail/ord_index_args.hpp
+#usr/include/boost/multi_index/detail/ord_index_impl.hpp
+#usr/include/boost/multi_index/detail/ord_index_impl_fwd.hpp
 #usr/include/boost/multi_index/detail/ord_index_node.hpp
 #usr/include/boost/multi_index/detail/ord_index_ops.hpp
-#usr/include/boost/multi_index/detail/prevent_eti.hpp
+#usr/include/boost/multi_index/detail/promotes_arg.hpp
+#usr/include/boost/multi_index/detail/raw_ptr.hpp
+#usr/include/boost/multi_index/detail/restore_wstrict_aliasing.hpp
 #usr/include/boost/multi_index/detail/rnd_index_loader.hpp
 #usr/include/boost/multi_index/detail/rnd_index_node.hpp
 #usr/include/boost/multi_index/detail/rnd_index_ops.hpp
 #usr/include/boost/multi_index/detail/rnd_index_ptr_array.hpp
 #usr/include/boost/multi_index/detail/rnd_node_iterator.hpp
-#usr/include/boost/multi_index/detail/safe_ctr_proxy.hpp
+#usr/include/boost/multi_index/detail/rnk_index_ops.hpp
 #usr/include/boost/multi_index/detail/safe_mode.hpp
 #usr/include/boost/multi_index/detail/scope_guard.hpp
 #usr/include/boost/multi_index/detail/seq_index_node.hpp
 #usr/include/boost/multi_index/ordered_index_fwd.hpp
 #usr/include/boost/multi_index/random_access_index.hpp
 #usr/include/boost/multi_index/random_access_index_fwd.hpp
+#usr/include/boost/multi_index/ranked_index.hpp
+#usr/include/boost/multi_index/ranked_index_fwd.hpp
 #usr/include/boost/multi_index/safe_mode_errors.hpp
 #usr/include/boost/multi_index/sequenced_index.hpp
 #usr/include/boost/multi_index/sequenced_index_fwd.hpp
 #usr/include/boost/multiprecision
 #usr/include/boost/multiprecision/concepts
 #usr/include/boost/multiprecision/concepts/mp_number_archetypes.hpp
+#usr/include/boost/multiprecision/cpp_bin_float
+#usr/include/boost/multiprecision/cpp_bin_float.hpp
+#usr/include/boost/multiprecision/cpp_bin_float/io.hpp
+#usr/include/boost/multiprecision/cpp_bin_float/transcendental.hpp
 #usr/include/boost/multiprecision/cpp_dec_float.hpp
 #usr/include/boost/multiprecision/cpp_int
 #usr/include/boost/multiprecision/cpp_int.hpp
 #usr/include/boost/multiprecision/cpp_int/comparison.hpp
 #usr/include/boost/multiprecision/cpp_int/cpp_int_config.hpp
 #usr/include/boost/multiprecision/cpp_int/divide.hpp
+#usr/include/boost/multiprecision/cpp_int/import_export.hpp
 #usr/include/boost/multiprecision/cpp_int/limits.hpp
 #usr/include/boost/multiprecision/cpp_int/literals.hpp
 #usr/include/boost/multiprecision/cpp_int/misc.hpp
 #usr/include/boost/multiprecision/detail/functions/trig.hpp
 #usr/include/boost/multiprecision/detail/generic_interconvert.hpp
 #usr/include/boost/multiprecision/detail/integer_ops.hpp
+#usr/include/boost/multiprecision/detail/min_max.hpp
 #usr/include/boost/multiprecision/detail/no_et_ops.hpp
 #usr/include/boost/multiprecision/detail/number_base.hpp
 #usr/include/boost/multiprecision/detail/number_compare.hpp
 #usr/include/boost/multiprecision/traits
 #usr/include/boost/multiprecision/traits/explicit_conversion.hpp
 #usr/include/boost/multiprecision/traits/extract_exponent_type.hpp
+#usr/include/boost/multiprecision/traits/is_backend.hpp
+#usr/include/boost/multiprecision/traits/is_byte_container.hpp
 #usr/include/boost/multiprecision/traits/is_restricted_conversion.hpp
 #usr/include/boost/next_prior.hpp
 #usr/include/boost/non_type.hpp
 #usr/include/boost/numeric/odeint
 #usr/include/boost/numeric/odeint.hpp
 #usr/include/boost/numeric/odeint/algebra
+#usr/include/boost/numeric/odeint/algebra/algebra_dispatcher.hpp
 #usr/include/boost/numeric/odeint/algebra/array_algebra.hpp
 #usr/include/boost/numeric/odeint/algebra/default_operations.hpp
 #usr/include/boost/numeric/odeint/algebra/detail
+#usr/include/boost/numeric/odeint/algebra/detail/extract_value_type.hpp
 #usr/include/boost/numeric/odeint/algebra/detail/for_each.hpp
 #usr/include/boost/numeric/odeint/algebra/detail/macros.hpp
-#usr/include/boost/numeric/odeint/algebra/detail/reduce.hpp
+#usr/include/boost/numeric/odeint/algebra/detail/norm_inf.hpp
 #usr/include/boost/numeric/odeint/algebra/fusion_algebra.hpp
+#usr/include/boost/numeric/odeint/algebra/fusion_algebra_dispatcher.hpp
+#usr/include/boost/numeric/odeint/algebra/multi_array_algebra.hpp
+#usr/include/boost/numeric/odeint/algebra/norm_result_type.hpp
+#usr/include/boost/numeric/odeint/algebra/operations_dispatcher.hpp
 #usr/include/boost/numeric/odeint/algebra/range_algebra.hpp
 #usr/include/boost/numeric/odeint/algebra/vector_space_algebra.hpp
 #usr/include/boost/numeric/odeint/config.hpp
 #usr/include/boost/numeric/odeint/external
+#usr/include/boost/numeric/odeint/external/blaze
+#usr/include/boost/numeric/odeint/external/blaze/blaze_algebra_dispatcher.hpp
+#usr/include/boost/numeric/odeint/external/blaze/blaze_resize.hpp
+#usr/include/boost/numeric/odeint/external/compute
+#usr/include/boost/numeric/odeint/external/compute/compute.hpp
+#usr/include/boost/numeric/odeint/external/compute/compute_algebra.hpp
+#usr/include/boost/numeric/odeint/external/compute/compute_algebra_dispatcher.hpp
+#usr/include/boost/numeric/odeint/external/compute/compute_operations.hpp
+#usr/include/boost/numeric/odeint/external/compute/compute_operations_dispatcher.hpp
+#usr/include/boost/numeric/odeint/external/compute/compute_resize.hpp
+#usr/include/boost/numeric/odeint/external/eigen
+#usr/include/boost/numeric/odeint/external/eigen/eigen.hpp
+#usr/include/boost/numeric/odeint/external/eigen/eigen_algebra.hpp
+#usr/include/boost/numeric/odeint/external/eigen/eigen_algebra_dispatcher.hpp
+#usr/include/boost/numeric/odeint/external/eigen/eigen_resize.hpp
 #usr/include/boost/numeric/odeint/external/gsl
 #usr/include/boost/numeric/odeint/external/gsl/gsl_wrapper.hpp
 #usr/include/boost/numeric/odeint/external/mkl
 #usr/include/boost/numeric/odeint/external/mkl/mkl_operations.hpp
+#usr/include/boost/numeric/odeint/external/mpi
+#usr/include/boost/numeric/odeint/external/mpi/mpi.hpp
+#usr/include/boost/numeric/odeint/external/mpi/mpi_nested_algebra.hpp
+#usr/include/boost/numeric/odeint/external/mpi/mpi_state.hpp
+#usr/include/boost/numeric/odeint/external/mpi/mpi_vector_state.hpp
 #usr/include/boost/numeric/odeint/external/mtl4
 #usr/include/boost/numeric/odeint/external/mtl4/implicit_euler_mtl4.hpp
+#usr/include/boost/numeric/odeint/external/mtl4/mtl4.hpp
+#usr/include/boost/numeric/odeint/external/mtl4/mtl4_algebra_dispatcher.hpp
 #usr/include/boost/numeric/odeint/external/mtl4/mtl4_resize.hpp
+#usr/include/boost/numeric/odeint/external/nt2
+#usr/include/boost/numeric/odeint/external/nt2/nt2_algebra_dispatcher.hpp
+#usr/include/boost/numeric/odeint/external/nt2/nt2_copy.hpp
+#usr/include/boost/numeric/odeint/external/nt2/nt2_norm_inf.hpp
+#usr/include/boost/numeric/odeint/external/nt2/nt2_resize.hpp
+#usr/include/boost/numeric/odeint/external/openmp
+#usr/include/boost/numeric/odeint/external/openmp/openmp.hpp
+#usr/include/boost/numeric/odeint/external/openmp/openmp_nested_algebra.hpp
+#usr/include/boost/numeric/odeint/external/openmp/openmp_range_algebra.hpp
+#usr/include/boost/numeric/odeint/external/openmp/openmp_state.hpp
 #usr/include/boost/numeric/odeint/external/thrust
+#usr/include/boost/numeric/odeint/external/thrust/thrust.hpp
 #usr/include/boost/numeric/odeint/external/thrust/thrust_algebra.hpp
+#usr/include/boost/numeric/odeint/external/thrust/thrust_algebra_dispatcher.hpp
 #usr/include/boost/numeric/odeint/external/thrust/thrust_operations.hpp
+#usr/include/boost/numeric/odeint/external/thrust/thrust_operations_dispatcher.hpp
 #usr/include/boost/numeric/odeint/external/thrust/thrust_resize.hpp
 #usr/include/boost/numeric/odeint/external/vexcl
+#usr/include/boost/numeric/odeint/external/vexcl/vexcl.hpp
+#usr/include/boost/numeric/odeint/external/vexcl/vexcl_abs.hpp
+#usr/include/boost/numeric/odeint/external/vexcl/vexcl_algebra_dispatcher.hpp
+#usr/include/boost/numeric/odeint/external/vexcl/vexcl_copy.hpp
+#usr/include/boost/numeric/odeint/external/vexcl/vexcl_norm_inf.hpp
 #usr/include/boost/numeric/odeint/external/vexcl/vexcl_resize.hpp
+#usr/include/boost/numeric/odeint/external/vexcl/vexcl_same_instance.hpp
 #usr/include/boost/numeric/odeint/external/viennacl
 #usr/include/boost/numeric/odeint/external/viennacl/viennacl_operations.hpp
 #usr/include/boost/numeric/odeint/external/viennacl/viennacl_resize.hpp
 #usr/include/boost/numeric/odeint/integrate
+#usr/include/boost/numeric/odeint/integrate/check_adapter.hpp
 #usr/include/boost/numeric/odeint/integrate/detail
+#usr/include/boost/numeric/odeint/integrate/detail/functors.hpp
 #usr/include/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp
 #usr/include/boost/numeric/odeint/integrate/detail/integrate_const.hpp
 #usr/include/boost/numeric/odeint/integrate/detail/integrate_n_steps.hpp
 #usr/include/boost/numeric/odeint/integrate/integrate_const.hpp
 #usr/include/boost/numeric/odeint/integrate/integrate_n_steps.hpp
 #usr/include/boost/numeric/odeint/integrate/integrate_times.hpp
+#usr/include/boost/numeric/odeint/integrate/max_step_checker.hpp
 #usr/include/boost/numeric/odeint/integrate/null_observer.hpp
 #usr/include/boost/numeric/odeint/integrate/observer_collection.hpp
+#usr/include/boost/numeric/odeint/iterator
+#usr/include/boost/numeric/odeint/iterator/adaptive_iterator.hpp
+#usr/include/boost/numeric/odeint/iterator/adaptive_time_iterator.hpp
+#usr/include/boost/numeric/odeint/iterator/const_step_iterator.hpp
+#usr/include/boost/numeric/odeint/iterator/const_step_time_iterator.hpp
+#usr/include/boost/numeric/odeint/iterator/detail
+#usr/include/boost/numeric/odeint/iterator/detail/ode_iterator_base.hpp
+#usr/include/boost/numeric/odeint/iterator/impl
+#usr/include/boost/numeric/odeint/iterator/impl/adaptive_iterator_impl.hpp
+#usr/include/boost/numeric/odeint/iterator/impl/const_step_iterator_impl.hpp
+#usr/include/boost/numeric/odeint/iterator/impl/n_step_iterator_impl.hpp
+#usr/include/boost/numeric/odeint/iterator/impl/times_iterator_impl.hpp
+#usr/include/boost/numeric/odeint/iterator/integrate
+#usr/include/boost/numeric/odeint/iterator/integrate/detail
+#usr/include/boost/numeric/odeint/iterator/integrate/detail/functors.hpp
+#usr/include/boost/numeric/odeint/iterator/integrate/detail/integrate_adaptive.hpp
+#usr/include/boost/numeric/odeint/iterator/integrate/detail/integrate_const.hpp
+#usr/include/boost/numeric/odeint/iterator/integrate/detail/integrate_n_steps.hpp
+#usr/include/boost/numeric/odeint/iterator/integrate/detail/integrate_times.hpp
+#usr/include/boost/numeric/odeint/iterator/integrate/integrate.hpp
+#usr/include/boost/numeric/odeint/iterator/integrate/integrate_adaptive.hpp
+#usr/include/boost/numeric/odeint/iterator/integrate/integrate_const.hpp
+#usr/include/boost/numeric/odeint/iterator/integrate/integrate_n_steps.hpp
+#usr/include/boost/numeric/odeint/iterator/integrate/integrate_times.hpp
+#usr/include/boost/numeric/odeint/iterator/integrate/null_observer.hpp
+#usr/include/boost/numeric/odeint/iterator/integrate/observer_collection.hpp
+#usr/include/boost/numeric/odeint/iterator/n_step_iterator.hpp
+#usr/include/boost/numeric/odeint/iterator/n_step_time_iterator.hpp
+#usr/include/boost/numeric/odeint/iterator/times_iterator.hpp
+#usr/include/boost/numeric/odeint/iterator/times_time_iterator.hpp
 #usr/include/boost/numeric/odeint/stepper
 #usr/include/boost/numeric/odeint/stepper/adams_bashforth.hpp
 #usr/include/boost/numeric/odeint/stepper/adams_bashforth_moulton.hpp
 #usr/include/boost/numeric/odeint/stepper/euler.hpp
 #usr/include/boost/numeric/odeint/stepper/explicit_error_generic_rk.hpp
 #usr/include/boost/numeric/odeint/stepper/explicit_generic_rk.hpp
+#usr/include/boost/numeric/odeint/stepper/extrapolation_stepper.hpp
 #usr/include/boost/numeric/odeint/stepper/generation
 #usr/include/boost/numeric/odeint/stepper/generation.hpp
 #usr/include/boost/numeric/odeint/stepper/generation/generation_controlled_runge_kutta.hpp
 #usr/include/boost/numeric/odeint/stepper/symplectic_euler.hpp
 #usr/include/boost/numeric/odeint/stepper/symplectic_rkn_sb3a_m4_mclachlan.hpp
 #usr/include/boost/numeric/odeint/stepper/symplectic_rkn_sb3a_mclachlan.hpp
+#usr/include/boost/numeric/odeint/stepper/velocity_verlet.hpp
 #usr/include/boost/numeric/odeint/util
 #usr/include/boost/numeric/odeint/util/bind.hpp
 #usr/include/boost/numeric/odeint/util/copy.hpp
 #usr/include/boost/numeric/odeint/util/detail/less_with_sign.hpp
 #usr/include/boost/numeric/odeint/util/is_pair.hpp
 #usr/include/boost/numeric/odeint/util/is_resizeable.hpp
+#usr/include/boost/numeric/odeint/util/multi_array_adaption.hpp
+#usr/include/boost/numeric/odeint/util/n_ary_helper.hpp
+#usr/include/boost/numeric/odeint/util/odeint_error.hpp
 #usr/include/boost/numeric/odeint/util/resize.hpp
 #usr/include/boost/numeric/odeint/util/resizer.hpp
 #usr/include/boost/numeric/odeint/util/same_instance.hpp
 #usr/include/boost/numeric/odeint/util/same_size.hpp
+#usr/include/boost/numeric/odeint/util/split.hpp
+#usr/include/boost/numeric/odeint/util/split_adaptor.hpp
 #usr/include/boost/numeric/odeint/util/state_wrapper.hpp
+#usr/include/boost/numeric/odeint/util/stepper_traits.hpp
 #usr/include/boost/numeric/odeint/util/ublas_wrapper.hpp
 #usr/include/boost/numeric/odeint/util/unit_helper.hpp
 #usr/include/boost/numeric/odeint/util/unwrap_reference.hpp
 #usr/include/boost/numeric/ublas/matrix_expression.hpp
 #usr/include/boost/numeric/ublas/matrix_proxy.hpp
 #usr/include/boost/numeric/ublas/matrix_sparse.hpp
+#usr/include/boost/numeric/ublas/matrix_vector.hpp
 #usr/include/boost/numeric/ublas/operation
 #usr/include/boost/numeric/ublas/operation.hpp
 #usr/include/boost/numeric/ublas/operation/begin.hpp
 #usr/include/boost/numeric/ublas/vector_proxy.hpp
 #usr/include/boost/numeric/ublas/vector_sparse.hpp
 #usr/include/boost/operators.hpp
+#usr/include/boost/operators_v1.hpp
 #usr/include/boost/optional
 #usr/include/boost/optional.hpp
+#usr/include/boost/optional/bad_optional_access.hpp
+#usr/include/boost/optional/detail
+#usr/include/boost/optional/detail/old_optional_implementation.hpp
+#usr/include/boost/optional/detail/optional_aligned_storage.hpp
+#usr/include/boost/optional/detail/optional_config.hpp
+#usr/include/boost/optional/detail/optional_factory_support.hpp
+#usr/include/boost/optional/detail/optional_reference_spec.hpp
+#usr/include/boost/optional/detail/optional_relops.hpp
+#usr/include/boost/optional/detail/optional_swap.hpp
 #usr/include/boost/optional/optional.hpp
 #usr/include/boost/optional/optional_fwd.hpp
 #usr/include/boost/optional/optional_io.hpp
 #usr/include/boost/pending
 #usr/include/boost/pending/bucket_sorter.hpp
 #usr/include/boost/pending/container_traits.hpp
-#usr/include/boost/pending/cstddef.hpp
 #usr/include/boost/pending/detail
 #usr/include/boost/pending/detail/disjoint_sets.hpp
 #usr/include/boost/pending/detail/int_iterator.hpp
 #usr/include/boost/phoenix/bind/bind_member_function.hpp
 #usr/include/boost/phoenix/bind/bind_member_variable.hpp
 #usr/include/boost/phoenix/bind/detail
-#usr/include/boost/phoenix/bind/detail/function_ptr.hpp
-#usr/include/boost/phoenix/bind/detail/member_function_ptr.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03
+#usr/include/boost/phoenix/bind/detail/cpp03/bind_function.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/bind_function_object.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/bind_member_function.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/function_ptr.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/member_function_ptr.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_10.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_20.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_30.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_40.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_50.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_10.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_20.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_30.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_40.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_50.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_member_function.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_member_function_10.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_member_function_20.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_member_function_30.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_member_function_40.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_member_function_50.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/function_ptr.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/function_ptr_10.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/function_ptr_20.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/function_ptr_30.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/function_ptr_40.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/function_ptr_50.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/member_function_ptr.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/member_function_ptr_10.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/member_function_ptr_20.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/member_function_ptr_30.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/member_function_ptr_40.hpp
+#usr/include/boost/phoenix/bind/detail/cpp03/preprocessed/member_function_ptr_50.hpp
 #usr/include/boost/phoenix/bind/detail/member_variable.hpp
-#usr/include/boost/phoenix/bind/detail/preprocessed
-#usr/include/boost/phoenix/bind/detail/preprocessed/function_ptr.hpp
-#usr/include/boost/phoenix/bind/detail/preprocessed/function_ptr_10.hpp
-#usr/include/boost/phoenix/bind/detail/preprocessed/function_ptr_20.hpp
-#usr/include/boost/phoenix/bind/detail/preprocessed/function_ptr_30.hpp
-#usr/include/boost/phoenix/bind/detail/preprocessed/function_ptr_40.hpp
-#usr/include/boost/phoenix/bind/detail/preprocessed/function_ptr_50.hpp
-#usr/include/boost/phoenix/bind/detail/preprocessed/member_function_ptr.hpp
-#usr/include/boost/phoenix/bind/detail/preprocessed/member_function_ptr_10.hpp
-#usr/include/boost/phoenix/bind/detail/preprocessed/member_function_ptr_20.hpp
-#usr/include/boost/phoenix/bind/detail/preprocessed/member_function_ptr_30.hpp
-#usr/include/boost/phoenix/bind/detail/preprocessed/member_function_ptr_40.hpp
-#usr/include/boost/phoenix/bind/detail/preprocessed/member_function_ptr_50.hpp
-#usr/include/boost/phoenix/bind/preprocessed
-#usr/include/boost/phoenix/bind/preprocessed/bind_function.hpp
-#usr/include/boost/phoenix/bind/preprocessed/bind_function_10.hpp
-#usr/include/boost/phoenix/bind/preprocessed/bind_function_20.hpp
-#usr/include/boost/phoenix/bind/preprocessed/bind_function_30.hpp
-#usr/include/boost/phoenix/bind/preprocessed/bind_function_40.hpp
-#usr/include/boost/phoenix/bind/preprocessed/bind_function_50.hpp
-#usr/include/boost/phoenix/bind/preprocessed/bind_function_object.hpp
-#usr/include/boost/phoenix/bind/preprocessed/bind_function_object_10.hpp
-#usr/include/boost/phoenix/bind/preprocessed/bind_function_object_20.hpp
-#usr/include/boost/phoenix/bind/preprocessed/bind_function_object_30.hpp
-#usr/include/boost/phoenix/bind/preprocessed/bind_function_object_40.hpp
-#usr/include/boost/phoenix/bind/preprocessed/bind_function_object_50.hpp
-#usr/include/boost/phoenix/bind/preprocessed/bind_member_function.hpp
-#usr/include/boost/phoenix/bind/preprocessed/bind_member_function_10.hpp
-#usr/include/boost/phoenix/bind/preprocessed/bind_member_function_20.hpp
-#usr/include/boost/phoenix/bind/preprocessed/bind_member_function_30.hpp
-#usr/include/boost/phoenix/bind/preprocessed/bind_member_function_40.hpp
-#usr/include/boost/phoenix/bind/preprocessed/bind_member_function_50.hpp
+#usr/include/boost/phoenix/config.hpp
 #usr/include/boost/phoenix/core
 #usr/include/boost/phoenix/core.hpp
 #usr/include/boost/phoenix/core/actor.hpp
 #usr/include/boost/phoenix/core/arity.hpp
 #usr/include/boost/phoenix/core/as_actor.hpp
 #usr/include/boost/phoenix/core/call.hpp
+#usr/include/boost/phoenix/core/debug.hpp
 #usr/include/boost/phoenix/core/detail
-#usr/include/boost/phoenix/core/detail/actor_operator.hpp
-#usr/include/boost/phoenix/core/detail/actor_result_of.hpp
 #usr/include/boost/phoenix/core/detail/argument.hpp
-#usr/include/boost/phoenix/core/detail/call.hpp
+#usr/include/boost/phoenix/core/detail/cpp03
+#usr/include/boost/phoenix/core/detail/cpp03/actor_operator.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/actor_result_of.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/assign.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/call.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/expression.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/function_equal.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/function_eval.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/function_eval_expr.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/phx2_result.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_10.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_20.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_30.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_40.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_50.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_10.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_20.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_30.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_40.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_50.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/argument.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/argument_no_predefined_10.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/argument_no_predefined_20.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/argument_no_predefined_30.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/argument_no_predefined_40.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/argument_no_predefined_50.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/argument_predefined_10.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/argument_predefined_20.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/argument_predefined_30.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/argument_predefined_40.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/argument_predefined_50.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/assign.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/assign_10.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/assign_20.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/assign_30.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/assign_40.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/assign_50.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/call.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/call_10.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/call_20.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/call_30.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/call_40.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/call_50.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/expression.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/expression_10.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/expression_20.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/expression_30.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/expression_40.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/expression_50.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/function_equal.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/function_equal_10.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/function_equal_20.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/function_equal_30.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/function_equal_40.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/function_equal_50.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_10.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_20.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_30.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_40.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_50.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_10.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_20.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_30.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_40.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_50.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/phx2_result.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/phx2_result_10.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/phx2_result_20.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/phx2_result_30.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/phx2_result_40.hpp
+#usr/include/boost/phoenix/core/detail/cpp03/preprocessed/phx2_result_50.hpp
 #usr/include/boost/phoenix/core/detail/expression.hpp
 #usr/include/boost/phoenix/core/detail/function_eval.hpp
+#usr/include/boost/phoenix/core/detail/index_sequence.hpp
 #usr/include/boost/phoenix/core/detail/phx2_result.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed
-#usr/include/boost/phoenix/core/detail/preprocessed/actor_operator.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/actor_operator_10.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/actor_operator_20.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/actor_operator_30.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/actor_operator_40.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/actor_operator_50.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/actor_result_of.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/actor_result_of_10.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/actor_result_of_20.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/actor_result_of_30.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/actor_result_of_40.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/actor_result_of_50.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/call.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/call_10.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/call_20.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/call_30.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/call_40.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/call_50.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/function_eval.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/function_eval_10.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/function_eval_20.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/function_eval_30.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/function_eval_40.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/function_eval_50.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/phx2_result.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/phx2_result_10.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/phx2_result_20.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/phx2_result_30.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/phx2_result_40.hpp
-#usr/include/boost/phoenix/core/detail/preprocessed/phx2_result_50.hpp
 #usr/include/boost/phoenix/core/domain.hpp
 #usr/include/boost/phoenix/core/environment.hpp
 #usr/include/boost/phoenix/core/expression.hpp
 #usr/include/boost/phoenix/core/function_equal.hpp
 #usr/include/boost/phoenix/core/is_actor.hpp
 #usr/include/boost/phoenix/core/is_nullary.hpp
+#usr/include/boost/phoenix/core/is_value.hpp
 #usr/include/boost/phoenix/core/limits.hpp
 #usr/include/boost/phoenix/core/meta_grammar.hpp
 #usr/include/boost/phoenix/core/nothing.hpp
-#usr/include/boost/phoenix/core/preprocessed
-#usr/include/boost/phoenix/core/preprocessed/actor.hpp
-#usr/include/boost/phoenix/core/preprocessed/actor_10.hpp
-#usr/include/boost/phoenix/core/preprocessed/actor_20.hpp
-#usr/include/boost/phoenix/core/preprocessed/actor_30.hpp
-#usr/include/boost/phoenix/core/preprocessed/actor_40.hpp
-#usr/include/boost/phoenix/core/preprocessed/actor_50.hpp
-#usr/include/boost/phoenix/core/preprocessed/argument.hpp
-#usr/include/boost/phoenix/core/preprocessed/argument_10.hpp
-#usr/include/boost/phoenix/core/preprocessed/argument_no_predefined_10.hpp
-#usr/include/boost/phoenix/core/preprocessed/argument_no_predefined_20.hpp
-#usr/include/boost/phoenix/core/preprocessed/argument_no_predefined_30.hpp
-#usr/include/boost/phoenix/core/preprocessed/argument_no_predefined_40.hpp
-#usr/include/boost/phoenix/core/preprocessed/argument_no_predefined_50.hpp
-#usr/include/boost/phoenix/core/preprocessed/argument_predefined_10.hpp
-#usr/include/boost/phoenix/core/preprocessed/argument_predefined_20.hpp
-#usr/include/boost/phoenix/core/preprocessed/argument_predefined_30.hpp
-#usr/include/boost/phoenix/core/preprocessed/argument_predefined_40.hpp
-#usr/include/boost/phoenix/core/preprocessed/argument_predefined_50.hpp
-#usr/include/boost/phoenix/core/preprocessed/expression.hpp
-#usr/include/boost/phoenix/core/preprocessed/expression_10.hpp
-#usr/include/boost/phoenix/core/preprocessed/expression_20.hpp
-#usr/include/boost/phoenix/core/preprocessed/expression_30.hpp
-#usr/include/boost/phoenix/core/preprocessed/expression_40.hpp
-#usr/include/boost/phoenix/core/preprocessed/expression_50.hpp
-#usr/include/boost/phoenix/core/preprocessed/function_equal.hpp
-#usr/include/boost/phoenix/core/preprocessed/function_equal_10.hpp
-#usr/include/boost/phoenix/core/preprocessed/function_equal_20.hpp
-#usr/include/boost/phoenix/core/preprocessed/function_equal_30.hpp
-#usr/include/boost/phoenix/core/preprocessed/function_equal_40.hpp
-#usr/include/boost/phoenix/core/preprocessed/function_equal_50.hpp
 #usr/include/boost/phoenix/core/reference.hpp
 #usr/include/boost/phoenix/core/terminal.hpp
 #usr/include/boost/phoenix/core/terminal_fwd.hpp
 #usr/include/boost/phoenix/function/adapt_callable.hpp
 #usr/include/boost/phoenix/function/adapt_function.hpp
 #usr/include/boost/phoenix/function/detail
-#usr/include/boost/phoenix/function/detail/function_operator.hpp
-#usr/include/boost/phoenix/function/detail/function_result_of.hpp
-#usr/include/boost/phoenix/function/detail/preprocessed
-#usr/include/boost/phoenix/function/detail/preprocessed/function_operator.hpp
-#usr/include/boost/phoenix/function/detail/preprocessed/function_operator_10.hpp
-#usr/include/boost/phoenix/function/detail/preprocessed/function_operator_20.hpp
-#usr/include/boost/phoenix/function/detail/preprocessed/function_operator_30.hpp
-#usr/include/boost/phoenix/function/detail/preprocessed/function_operator_40.hpp
-#usr/include/boost/phoenix/function/detail/preprocessed/function_operator_50.hpp
-#usr/include/boost/phoenix/function/detail/preprocessed/function_result_of.hpp
-#usr/include/boost/phoenix/function/detail/preprocessed/function_result_of_10.hpp
-#usr/include/boost/phoenix/function/detail/preprocessed/function_result_of_20.hpp
-#usr/include/boost/phoenix/function/detail/preprocessed/function_result_of_30.hpp
-#usr/include/boost/phoenix/function/detail/preprocessed/function_result_of_40.hpp
-#usr/include/boost/phoenix/function/detail/preprocessed/function_result_of_50.hpp
+#usr/include/boost/phoenix/function/detail/cpp03
+#usr/include/boost/phoenix/function/detail/cpp03/function_operator.hpp
+#usr/include/boost/phoenix/function/detail/cpp03/preprocessed
+#usr/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator.hpp
+#usr/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_10.hpp
+#usr/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_20.hpp
+#usr/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_30.hpp
+#usr/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_40.hpp
+#usr/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_50.hpp
 #usr/include/boost/phoenix/function/function.hpp
+#usr/include/boost/phoenix/function/lazy_list.hpp
+#usr/include/boost/phoenix/function/lazy_operator.hpp
+#usr/include/boost/phoenix/function/lazy_prelude.hpp
+#usr/include/boost/phoenix/function/lazy_reuse.hpp
+#usr/include/boost/phoenix/function/lazy_signature.hpp
+#usr/include/boost/phoenix/function/lazy_smart.hpp
 #usr/include/boost/phoenix/fusion
 #usr/include/boost/phoenix/fusion.hpp
 #usr/include/boost/phoenix/fusion/at.hpp
 #usr/include/boost/phoenix/object/construct.hpp
 #usr/include/boost/phoenix/object/delete.hpp
 #usr/include/boost/phoenix/object/detail
-#usr/include/boost/phoenix/object/detail/construct.hpp
-#usr/include/boost/phoenix/object/detail/construct_eval.hpp
-#usr/include/boost/phoenix/object/detail/new.hpp
-#usr/include/boost/phoenix/object/detail/new_eval.hpp
-#usr/include/boost/phoenix/object/detail/preprocessed
-#usr/include/boost/phoenix/object/detail/preprocessed/construct.hpp
-#usr/include/boost/phoenix/object/detail/preprocessed/construct_10.hpp
-#usr/include/boost/phoenix/object/detail/preprocessed/construct_20.hpp
-#usr/include/boost/phoenix/object/detail/preprocessed/construct_30.hpp
-#usr/include/boost/phoenix/object/detail/preprocessed/construct_40.hpp
-#usr/include/boost/phoenix/object/detail/preprocessed/construct_50.hpp
-#usr/include/boost/phoenix/object/detail/preprocessed/construct_eval.hpp
-#usr/include/boost/phoenix/object/detail/preprocessed/construct_eval_10.hpp
-#usr/include/boost/phoenix/object/detail/preprocessed/construct_eval_20.hpp
-#usr/include/boost/phoenix/object/detail/preprocessed/construct_eval_30.hpp
-#usr/include/boost/phoenix/object/detail/preprocessed/construct_eval_40.hpp
-#usr/include/boost/phoenix/object/detail/preprocessed/construct_eval_50.hpp
-#usr/include/boost/phoenix/object/detail/preprocessed/new.hpp
-#usr/include/boost/phoenix/object/detail/preprocessed/new_10.hpp
-#usr/include/boost/phoenix/object/detail/preprocessed/new_20.hpp
-#usr/include/boost/phoenix/object/detail/preprocessed/new_30.hpp
-#usr/include/boost/phoenix/object/detail/preprocessed/new_40.hpp
-#usr/include/boost/phoenix/object/detail/preprocessed/new_50.hpp
-#usr/include/boost/phoenix/object/detail/preprocessed/new_eval.hpp
-#usr/include/boost/phoenix/object/detail/preprocessed/new_eval_10.hpp
-#usr/include/boost/phoenix/object/detail/preprocessed/new_eval_20.hpp
-#usr/include/boost/phoenix/object/detail/preprocessed/new_eval_30.hpp
-#usr/include/boost/phoenix/object/detail/preprocessed/new_eval_40.hpp
-#usr/include/boost/phoenix/object/detail/preprocessed/new_eval_50.hpp
+#usr/include/boost/phoenix/object/detail/cpp03
+#usr/include/boost/phoenix/object/detail/cpp03/construct.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/construct_eval.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/construct_expr.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/new.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/new_eval.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/new_expr.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/construct.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_10.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_20.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_30.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_40.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_50.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_eval.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_eval_10.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_eval_20.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_eval_30.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_eval_40.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_eval_50.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_expr.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_expr_10.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_expr_20.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_expr_30.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_expr_40.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/construct_expr_50.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/new.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/new_10.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/new_20.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/new_30.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/new_40.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/new_50.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/new_eval.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/new_eval_10.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/new_eval_20.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/new_eval_30.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/new_eval_40.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/new_eval_50.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/new_expr.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/new_expr_10.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/new_expr_20.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/new_expr_30.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/new_expr_40.hpp
+#usr/include/boost/phoenix/object/detail/cpp03/preprocessed/new_expr_50.hpp
 #usr/include/boost/phoenix/object/detail/target.hpp
 #usr/include/boost/phoenix/object/dynamic_cast.hpp
 #usr/include/boost/phoenix/object/new.hpp
 #usr/include/boost/phoenix/operator/bitwise.hpp
 #usr/include/boost/phoenix/operator/comparison.hpp
 #usr/include/boost/phoenix/operator/detail
+#usr/include/boost/phoenix/operator/detail/cpp03
+#usr/include/boost/phoenix/operator/detail/cpp03/mem_fun_ptr_eval.hpp
+#usr/include/boost/phoenix/operator/detail/cpp03/mem_fun_ptr_eval_result_of.hpp
+#usr/include/boost/phoenix/operator/detail/cpp03/mem_fun_ptr_expr.hpp
+#usr/include/boost/phoenix/operator/detail/cpp03/mem_fun_ptr_gen.hpp
+#usr/include/boost/phoenix/operator/detail/cpp03/preprocessed
+#usr/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_eval.hpp
+#usr/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_eval_10.hpp
+#usr/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_eval_20.hpp
+#usr/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_eval_30.hpp
+#usr/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_eval_40.hpp
+#usr/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_eval_50.hpp
+#usr/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_eval_result_of.hpp
+#usr/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_expr.hpp
+#usr/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_expr_10.hpp
+#usr/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_expr_20.hpp
+#usr/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_expr_30.hpp
+#usr/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_expr_40.hpp
+#usr/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_expr_50.hpp
+#usr/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_gen.hpp
+#usr/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_gen_10.hpp
+#usr/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_gen_20.hpp
+#usr/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_gen_30.hpp
+#usr/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_gen_40.hpp
+#usr/include/boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_gen_50.hpp
 #usr/include/boost/phoenix/operator/detail/define_operator.hpp
-#usr/include/boost/phoenix/operator/detail/mem_fun_ptr_eval_result_of.hpp
-#usr/include/boost/phoenix/operator/detail/mem_fun_ptr_gen.hpp
-#usr/include/boost/phoenix/operator/detail/preprocessed
-#usr/include/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen.hpp
-#usr/include/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_10.hpp
-#usr/include/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_20.hpp
-#usr/include/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_30.hpp
-#usr/include/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_40.hpp
-#usr/include/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_50.hpp
 #usr/include/boost/phoenix/operator/detail/undef_operator.hpp
 #usr/include/boost/phoenix/operator/if_else.hpp
 #usr/include/boost/phoenix/operator/io.hpp
 #usr/include/boost/phoenix/operator/logical.hpp
 #usr/include/boost/phoenix/operator/member.hpp
-#usr/include/boost/phoenix/operator/preprocessed
-#usr/include/boost/phoenix/operator/preprocessed/member.hpp
-#usr/include/boost/phoenix/operator/preprocessed/member_10.hpp
-#usr/include/boost/phoenix/operator/preprocessed/member_20.hpp
-#usr/include/boost/phoenix/operator/preprocessed/member_30.hpp
-#usr/include/boost/phoenix/operator/preprocessed/member_40.hpp
-#usr/include/boost/phoenix/operator/preprocessed/member_50.hpp
 #usr/include/boost/phoenix/operator/self.hpp
 #usr/include/boost/phoenix/phoenix.hpp
 #usr/include/boost/phoenix/scope
 #usr/include/boost/phoenix/scope.hpp
 #usr/include/boost/phoenix/scope/detail
-#usr/include/boost/phoenix/scope/detail/dynamic.hpp
+#usr/include/boost/phoenix/scope/detail/cpp03
+#usr/include/boost/phoenix/scope/detail/cpp03/dynamic.hpp
+#usr/include/boost/phoenix/scope/detail/cpp03/lambda.hpp
+#usr/include/boost/phoenix/scope/detail/cpp03/local_gen.hpp
+#usr/include/boost/phoenix/scope/detail/cpp03/preprocessed
+#usr/include/boost/phoenix/scope/detail/cpp03/preprocessed/dynamic.hpp
+#usr/include/boost/phoenix/scope/detail/cpp03/preprocessed/dynamic_10.hpp
+#usr/include/boost/phoenix/scope/detail/cpp03/preprocessed/dynamic_20.hpp
+#usr/include/boost/phoenix/scope/detail/cpp03/preprocessed/dynamic_30.hpp
+#usr/include/boost/phoenix/scope/detail/cpp03/preprocessed/dynamic_40.hpp
+#usr/include/boost/phoenix/scope/detail/cpp03/preprocessed/dynamic_50.hpp
+#usr/include/boost/phoenix/scope/detail/cpp03/preprocessed/lambda.hpp
+#usr/include/boost/phoenix/scope/detail/cpp03/preprocessed/lambda_10.hpp
+#usr/include/boost/phoenix/scope/detail/cpp03/preprocessed/lambda_20.hpp
+#usr/include/boost/phoenix/scope/detail/cpp03/preprocessed/lambda_30.hpp
+#usr/include/boost/phoenix/scope/detail/cpp03/preprocessed/lambda_40.hpp
+#usr/include/boost/phoenix/scope/detail/cpp03/preprocessed/lambda_50.hpp
 #usr/include/boost/phoenix/scope/detail/local_gen.hpp
 #usr/include/boost/phoenix/scope/detail/local_variable.hpp
-#usr/include/boost/phoenix/scope/detail/make_locals.hpp
-#usr/include/boost/phoenix/scope/detail/preprocessed
-#usr/include/boost/phoenix/scope/detail/preprocessed/dynamic.hpp
-#usr/include/boost/phoenix/scope/detail/preprocessed/dynamic_10.hpp
-#usr/include/boost/phoenix/scope/detail/preprocessed/dynamic_20.hpp
-#usr/include/boost/phoenix/scope/detail/preprocessed/dynamic_30.hpp
-#usr/include/boost/phoenix/scope/detail/preprocessed/dynamic_40.hpp
-#usr/include/boost/phoenix/scope/detail/preprocessed/dynamic_50.hpp
-#usr/include/boost/phoenix/scope/detail/preprocessed/make_locals.hpp
-#usr/include/boost/phoenix/scope/detail/preprocessed/make_locals_10.hpp
-#usr/include/boost/phoenix/scope/detail/preprocessed/make_locals_20.hpp
-#usr/include/boost/phoenix/scope/detail/preprocessed/make_locals_30.hpp
-#usr/include/boost/phoenix/scope/detail/preprocessed/make_locals_40.hpp
-#usr/include/boost/phoenix/scope/detail/preprocessed/make_locals_50.hpp
 #usr/include/boost/phoenix/scope/dynamic.hpp
 #usr/include/boost/phoenix/scope/lambda.hpp
 #usr/include/boost/phoenix/scope/let.hpp
 #usr/include/boost/phoenix/scope/local_variable.hpp
-#usr/include/boost/phoenix/scope/preprocessed
-#usr/include/boost/phoenix/scope/preprocessed/lambda.hpp
-#usr/include/boost/phoenix/scope/preprocessed/lambda_10.hpp
-#usr/include/boost/phoenix/scope/preprocessed/lambda_20.hpp
-#usr/include/boost/phoenix/scope/preprocessed/lambda_30.hpp
-#usr/include/boost/phoenix/scope/preprocessed/lambda_40.hpp
-#usr/include/boost/phoenix/scope/preprocessed/lambda_50.hpp
 #usr/include/boost/phoenix/scope/scoped_environment.hpp
 #usr/include/boost/phoenix/scope/this.hpp
 #usr/include/boost/phoenix/statement
 #usr/include/boost/phoenix/stl/algorithm/detail/is_std_list.hpp
 #usr/include/boost/phoenix/stl/algorithm/detail/is_std_map.hpp
 #usr/include/boost/phoenix/stl/algorithm/detail/is_std_set.hpp
+#usr/include/boost/phoenix/stl/algorithm/detail/is_unordered_set_or_map.hpp
 #usr/include/boost/phoenix/stl/algorithm/detail/std_hash_map_fwd.hpp
 #usr/include/boost/phoenix/stl/algorithm/detail/std_hash_set_fwd.hpp
+#usr/include/boost/phoenix/stl/algorithm/detail/std_unordered_set_or_map_fwd.hpp
 #usr/include/boost/phoenix/stl/algorithm/iteration.hpp
 #usr/include/boost/phoenix/stl/algorithm/querying.hpp
 #usr/include/boost/phoenix/stl/algorithm/transformation.hpp
 #usr/include/boost/polygon/voronoi_builder.hpp
 #usr/include/boost/polygon/voronoi_diagram.hpp
 #usr/include/boost/polygon/voronoi_geometry_type.hpp
+#usr/include/boost/polymorphic_cast.hpp
+#usr/include/boost/polymorphic_pointer_cast.hpp
 #usr/include/boost/pool
 #usr/include/boost/pool/detail
 #usr/include/boost/pool/detail/guard.hpp
 #usr/include/boost/predef/detail
 #usr/include/boost/predef/detail/_cassert.h
 #usr/include/boost/predef/detail/_exception.h
+#usr/include/boost/predef/detail/comp_detected.h
 #usr/include/boost/predef/detail/endian_compat.h
 #usr/include/boost/predef/detail/os_detected.h
+#usr/include/boost/predef/detail/platform_detected.h
 #usr/include/boost/predef/detail/test.h
+#usr/include/boost/predef/detail/test_def.h
+#usr/include/boost/predef/hardware
+#usr/include/boost/predef/hardware.h
+#usr/include/boost/predef/hardware/simd
+#usr/include/boost/predef/hardware/simd.h
+#usr/include/boost/predef/hardware/simd/arm
+#usr/include/boost/predef/hardware/simd/arm.h
+#usr/include/boost/predef/hardware/simd/arm/versions.h
+#usr/include/boost/predef/hardware/simd/ppc
+#usr/include/boost/predef/hardware/simd/ppc.h
+#usr/include/boost/predef/hardware/simd/ppc/versions.h
+#usr/include/boost/predef/hardware/simd/x86
+#usr/include/boost/predef/hardware/simd/x86.h
+#usr/include/boost/predef/hardware/simd/x86/versions.h
+#usr/include/boost/predef/hardware/simd/x86_amd
+#usr/include/boost/predef/hardware/simd/x86_amd.h
+#usr/include/boost/predef/hardware/simd/x86_amd/versions.h
 #usr/include/boost/predef/language
 #usr/include/boost/predef/language.h
 #usr/include/boost/predef/language/objc.h
 #usr/include/boost/predef/os/bsd/net.h
 #usr/include/boost/predef/os/bsd/open.h
 #usr/include/boost/predef/os/cygwin.h
+#usr/include/boost/predef/os/haiku.h
 #usr/include/boost/predef/os/hpux.h
+#usr/include/boost/predef/os/ios.h
 #usr/include/boost/predef/os/irix.h
 #usr/include/boost/predef/os/linux.h
 #usr/include/boost/predef/os/macos.h
 #usr/include/boost/predef/platform
 #usr/include/boost/predef/platform.h
 #usr/include/boost/predef/platform/mingw.h
+#usr/include/boost/predef/platform/windows_desktop.h
+#usr/include/boost/predef/platform/windows_phone.h
+#usr/include/boost/predef/platform/windows_runtime.h
+#usr/include/boost/predef/platform/windows_store.h
+#usr/include/boost/predef/version.h
 #usr/include/boost/predef/version_number.h
 #usr/include/boost/preprocessor
 #usr/include/boost/preprocessor.hpp
 #usr/include/boost/preprocessor/array
 #usr/include/boost/preprocessor/array.hpp
 #usr/include/boost/preprocessor/array/data.hpp
+#usr/include/boost/preprocessor/array/detail
+#usr/include/boost/preprocessor/array/detail/get_data.hpp
 #usr/include/boost/preprocessor/array/elem.hpp
 #usr/include/boost/preprocessor/array/enum.hpp
 #usr/include/boost/preprocessor/array/insert.hpp
 #usr/include/boost/preprocessor/facilities
 #usr/include/boost/preprocessor/facilities.hpp
 #usr/include/boost/preprocessor/facilities/apply.hpp
+#usr/include/boost/preprocessor/facilities/detail
+#usr/include/boost/preprocessor/facilities/detail/is_empty.hpp
 #usr/include/boost/preprocessor/facilities/empty.hpp
 #usr/include/boost/preprocessor/facilities/expand.hpp
 #usr/include/boost/preprocessor/facilities/identity.hpp
 #usr/include/boost/preprocessor/facilities/is_1.hpp
 #usr/include/boost/preprocessor/facilities/is_empty.hpp
 #usr/include/boost/preprocessor/facilities/is_empty_or_1.hpp
+#usr/include/boost/preprocessor/facilities/is_empty_variadic.hpp
 #usr/include/boost/preprocessor/facilities/overload.hpp
 #usr/include/boost/preprocessor/for.hpp
 #usr/include/boost/preprocessor/identity.hpp
 #usr/include/boost/preprocessor/punctuation.hpp
 #usr/include/boost/preprocessor/punctuation/comma.hpp
 #usr/include/boost/preprocessor/punctuation/comma_if.hpp
+#usr/include/boost/preprocessor/punctuation/detail
+#usr/include/boost/preprocessor/punctuation/detail/is_begin_parens.hpp
+#usr/include/boost/preprocessor/punctuation/is_begin_parens.hpp
 #usr/include/boost/preprocessor/punctuation/paren.hpp
 #usr/include/boost/preprocessor/punctuation/paren_if.hpp
+#usr/include/boost/preprocessor/punctuation/remove_parens.hpp
 #usr/include/boost/preprocessor/repeat.hpp
 #usr/include/boost/preprocessor/repeat_2nd.hpp
 #usr/include/boost/preprocessor/repeat_3rd.hpp
 #usr/include/boost/preprocessor/seq/cat.hpp
 #usr/include/boost/preprocessor/seq/detail
 #usr/include/boost/preprocessor/seq/detail/binary_transform.hpp
+#usr/include/boost/preprocessor/seq/detail/is_empty.hpp
 #usr/include/boost/preprocessor/seq/detail/split.hpp
+#usr/include/boost/preprocessor/seq/detail/to_list_msvc.hpp
 #usr/include/boost/preprocessor/seq/elem.hpp
 #usr/include/boost/preprocessor/seq/enum.hpp
 #usr/include/boost/preprocessor/seq/filter.hpp
 #usr/include/boost/preprocessor/seq/to_list.hpp
 #usr/include/boost/preprocessor/seq/to_tuple.hpp
 #usr/include/boost/preprocessor/seq/transform.hpp
+#usr/include/boost/preprocessor/seq/variadic_seq_to_seq.hpp
 #usr/include/boost/preprocessor/slot
 #usr/include/boost/preprocessor/slot.hpp
 #usr/include/boost/preprocessor/slot/counter.hpp
 #usr/include/boost/preprocessor/stringize.hpp
 #usr/include/boost/preprocessor/tuple
 #usr/include/boost/preprocessor/tuple.hpp
+#usr/include/boost/preprocessor/tuple/detail
+#usr/include/boost/preprocessor/tuple/detail/is_single_return.hpp
 #usr/include/boost/preprocessor/tuple/eat.hpp
 #usr/include/boost/preprocessor/tuple/elem.hpp
 #usr/include/boost/preprocessor/tuple/enum.hpp
+#usr/include/boost/preprocessor/tuple/insert.hpp
+#usr/include/boost/preprocessor/tuple/pop_back.hpp
+#usr/include/boost/preprocessor/tuple/pop_front.hpp
+#usr/include/boost/preprocessor/tuple/push_back.hpp
+#usr/include/boost/preprocessor/tuple/push_front.hpp
 #usr/include/boost/preprocessor/tuple/rem.hpp
+#usr/include/boost/preprocessor/tuple/remove.hpp
+#usr/include/boost/preprocessor/tuple/replace.hpp
 #usr/include/boost/preprocessor/tuple/reverse.hpp
 #usr/include/boost/preprocessor/tuple/size.hpp
 #usr/include/boost/preprocessor/tuple/to_array.hpp
 #usr/include/boost/preprocessor/tuple/to_seq.hpp
 #usr/include/boost/preprocessor/variadic
 #usr/include/boost/preprocessor/variadic.hpp
+#usr/include/boost/preprocessor/variadic/detail
+#usr/include/boost/preprocessor/variadic/detail/is_single_return.hpp
 #usr/include/boost/preprocessor/variadic/elem.hpp
 #usr/include/boost/preprocessor/variadic/size.hpp
 #usr/include/boost/preprocessor/variadic/to_array.hpp
 #usr/include/boost/preprocessor/variadic/to_tuple.hpp
 #usr/include/boost/preprocessor/while.hpp
 #usr/include/boost/preprocessor/wstringize.hpp
+#usr/include/boost/process
+#usr/include/boost/process.hpp
+#usr/include/boost/process/args.hpp
+#usr/include/boost/process/async.hpp
+#usr/include/boost/process/async_pipe.hpp
+#usr/include/boost/process/async_system.hpp
+#usr/include/boost/process/child.hpp
+#usr/include/boost/process/cmd.hpp
+#usr/include/boost/process/detail
+#usr/include/boost/process/detail/async_handler.hpp
+#usr/include/boost/process/detail/basic_cmd.hpp
+#usr/include/boost/process/detail/child_decl.hpp
+#usr/include/boost/process/detail/config.hpp
+#usr/include/boost/process/detail/execute_impl.hpp
+#usr/include/boost/process/detail/handler.hpp
+#usr/include/boost/process/detail/handler_base.hpp
+#usr/include/boost/process/detail/on_exit.hpp
+#usr/include/boost/process/detail/posix
+#usr/include/boost/process/detail/posix/asio_fwd.hpp
+#usr/include/boost/process/detail/posix/async_handler.hpp
+#usr/include/boost/process/detail/posix/async_in.hpp
+#usr/include/boost/process/detail/posix/async_out.hpp
+#usr/include/boost/process/detail/posix/async_pipe.hpp
+#usr/include/boost/process/detail/posix/basic_cmd.hpp
+#usr/include/boost/process/detail/posix/basic_pipe.hpp
+#usr/include/boost/process/detail/posix/child_handle.hpp
+#usr/include/boost/process/detail/posix/close_in.hpp
+#usr/include/boost/process/detail/posix/close_out.hpp
+#usr/include/boost/process/detail/posix/cmd.hpp
+#usr/include/boost/process/detail/posix/compare_handles.hpp
+#usr/include/boost/process/detail/posix/env_init.hpp
+#usr/include/boost/process/detail/posix/environment.hpp
+#usr/include/boost/process/detail/posix/exe.hpp
+#usr/include/boost/process/detail/posix/executor.hpp
+#usr/include/boost/process/detail/posix/fd.hpp
+#usr/include/boost/process/detail/posix/file_descriptor.hpp
+#usr/include/boost/process/detail/posix/file_in.hpp
+#usr/include/boost/process/detail/posix/file_out.hpp
+#usr/include/boost/process/detail/posix/group_handle.hpp
+#usr/include/boost/process/detail/posix/group_ref.hpp
+#usr/include/boost/process/detail/posix/handler.hpp
+#usr/include/boost/process/detail/posix/io_service_ref.hpp
+#usr/include/boost/process/detail/posix/is_running.hpp
+#usr/include/boost/process/detail/posix/null_in.hpp
+#usr/include/boost/process/detail/posix/null_out.hpp
+#usr/include/boost/process/detail/posix/on_exit.hpp
+#usr/include/boost/process/detail/posix/pipe_in.hpp
+#usr/include/boost/process/detail/posix/pipe_out.hpp
+#usr/include/boost/process/detail/posix/search_path.hpp
+#usr/include/boost/process/detail/posix/shell_path.hpp
+#usr/include/boost/process/detail/posix/signal.hpp
+#usr/include/boost/process/detail/posix/start_dir.hpp
+#usr/include/boost/process/detail/posix/terminate.hpp
+#usr/include/boost/process/detail/posix/use_vfork.hpp
+#usr/include/boost/process/detail/posix/wait_for_exit.hpp
+#usr/include/boost/process/detail/posix/wait_group.hpp
+#usr/include/boost/process/detail/throw_on_error.hpp
+#usr/include/boost/process/detail/traits
+#usr/include/boost/process/detail/traits.hpp
+#usr/include/boost/process/detail/traits/async.hpp
+#usr/include/boost/process/detail/traits/cmd_or_exe.hpp
+#usr/include/boost/process/detail/traits/decl.hpp
+#usr/include/boost/process/detail/traits/env.hpp
+#usr/include/boost/process/detail/traits/error.hpp
+#usr/include/boost/process/detail/traits/group.hpp
+#usr/include/boost/process/detail/traits/wchar_t.hpp
+#usr/include/boost/process/detail/windows
+#usr/include/boost/process/detail/windows/asio_fwd.hpp
+#usr/include/boost/process/detail/windows/async_handler.hpp
+#usr/include/boost/process/detail/windows/async_in.hpp
+#usr/include/boost/process/detail/windows/async_out.hpp
+#usr/include/boost/process/detail/windows/async_pipe.hpp
+#usr/include/boost/process/detail/windows/basic_cmd.hpp
+#usr/include/boost/process/detail/windows/basic_pipe.hpp
+#usr/include/boost/process/detail/windows/child_handle.hpp
+#usr/include/boost/process/detail/windows/close_in.hpp
+#usr/include/boost/process/detail/windows/close_out.hpp
+#usr/include/boost/process/detail/windows/cmd.hpp
+#usr/include/boost/process/detail/windows/compare_handles.hpp
+#usr/include/boost/process/detail/windows/env_init.hpp
+#usr/include/boost/process/detail/windows/environment.hpp
+#usr/include/boost/process/detail/windows/executor.hpp
+#usr/include/boost/process/detail/windows/file_descriptor.hpp
+#usr/include/boost/process/detail/windows/file_in.hpp
+#usr/include/boost/process/detail/windows/file_out.hpp
+#usr/include/boost/process/detail/windows/group_handle.hpp
+#usr/include/boost/process/detail/windows/group_ref.hpp
+#usr/include/boost/process/detail/windows/handler.hpp
+#usr/include/boost/process/detail/windows/io_service_ref.hpp
+#usr/include/boost/process/detail/windows/is_running.hpp
+#usr/include/boost/process/detail/windows/job_workaround.hpp
+#usr/include/boost/process/detail/windows/locale.hpp
+#usr/include/boost/process/detail/windows/null_in.hpp
+#usr/include/boost/process/detail/windows/null_out.hpp
+#usr/include/boost/process/detail/windows/on_exit.hpp
+#usr/include/boost/process/detail/windows/pipe_in.hpp
+#usr/include/boost/process/detail/windows/pipe_out.hpp
+#usr/include/boost/process/detail/windows/search_path.hpp
+#usr/include/boost/process/detail/windows/shell_path.hpp
+#usr/include/boost/process/detail/windows/show_window.hpp
+#usr/include/boost/process/detail/windows/start_dir.hpp
+#usr/include/boost/process/detail/windows/terminate.hpp
+#usr/include/boost/process/detail/windows/wait_for_exit.hpp
+#usr/include/boost/process/detail/windows/wait_group.hpp
+#usr/include/boost/process/env.hpp
+#usr/include/boost/process/environment.hpp
+#usr/include/boost/process/error.hpp
+#usr/include/boost/process/exception.hpp
+#usr/include/boost/process/exe.hpp
+#usr/include/boost/process/extend.hpp
+#usr/include/boost/process/group.hpp
+#usr/include/boost/process/io.hpp
+#usr/include/boost/process/locale.hpp
+#usr/include/boost/process/pipe.hpp
+#usr/include/boost/process/posix.hpp
+#usr/include/boost/process/search_path.hpp
+#usr/include/boost/process/shell.hpp
+#usr/include/boost/process/spawn.hpp
+#usr/include/boost/process/start_dir.hpp
+#usr/include/boost/process/system.hpp
+#usr/include/boost/process/windows.hpp
 #usr/include/boost/program_options
 #usr/include/boost/program_options.hpp
 #usr/include/boost/program_options/cmdline.hpp
 #usr/include/boost/property_map/dynamic_property_map.hpp
 #usr/include/boost/property_map/function_property_map.hpp
 #usr/include/boost/property_map/parallel
+#usr/include/boost/property_map/parallel/basic_reduce.hpp
 #usr/include/boost/property_map/parallel/caching_property_map.hpp
+#usr/include/boost/property_map/parallel/detail
+#usr/include/boost/property_map/parallel/detail/untracked_pair.hpp
 #usr/include/boost/property_map/parallel/distributed_property_map.hpp
 #usr/include/boost/property_map/parallel/global_index_map.hpp
 #usr/include/boost/property_map/parallel/impl
 #usr/include/boost/property_map/parallel/impl/distributed_property_map.ipp
 #usr/include/boost/property_map/parallel/local_property_map.hpp
+#usr/include/boost/property_map/parallel/parallel_property_maps.hpp
+#usr/include/boost/property_map/parallel/process_group.hpp
+#usr/include/boost/property_map/parallel/simple_trigger.hpp
+#usr/include/boost/property_map/parallel/unsafe_serialize.hpp
+#usr/include/boost/property_map/parallel/vector_property_map.hpp
 #usr/include/boost/property_map/property_map.hpp
 #usr/include/boost/property_map/property_map_iterator.hpp
 #usr/include/boost/property_map/shared_array_property_map.hpp
 #usr/include/boost/property_tree/detail/info_parser_utils.hpp
 #usr/include/boost/property_tree/detail/info_parser_write.hpp
 #usr/include/boost/property_tree/detail/info_parser_writer_settings.hpp
-#usr/include/boost/property_tree/detail/json_parser_error.hpp
-#usr/include/boost/property_tree/detail/json_parser_read.hpp
-#usr/include/boost/property_tree/detail/json_parser_write.hpp
 #usr/include/boost/property_tree/detail/ptree_implementation.hpp
 #usr/include/boost/property_tree/detail/ptree_utils.hpp
 #usr/include/boost/property_tree/detail/rapidxml.hpp
 #usr/include/boost/property_tree/id_translator.hpp
 #usr/include/boost/property_tree/info_parser.hpp
 #usr/include/boost/property_tree/ini_parser.hpp
+#usr/include/boost/property_tree/json_parser
 #usr/include/boost/property_tree/json_parser.hpp
+#usr/include/boost/property_tree/json_parser/detail
+#usr/include/boost/property_tree/json_parser/detail/narrow_encoding.hpp
+#usr/include/boost/property_tree/json_parser/detail/parser.hpp
+#usr/include/boost/property_tree/json_parser/detail/read.hpp
+#usr/include/boost/property_tree/json_parser/detail/standard_callbacks.hpp
+#usr/include/boost/property_tree/json_parser/detail/wide_encoding.hpp
+#usr/include/boost/property_tree/json_parser/detail/write.hpp
+#usr/include/boost/property_tree/json_parser/error.hpp
 #usr/include/boost/property_tree/ptree.hpp
 #usr/include/boost/property_tree/ptree_fwd.hpp
 #usr/include/boost/property_tree/ptree_serialization.hpp
 #usr/include/boost/python/detail/translate_exception.hpp
 #usr/include/boost/python/detail/type_list.hpp
 #usr/include/boost/python/detail/type_list_impl.hpp
-#usr/include/boost/python/detail/type_list_impl_no_pts.hpp
 #usr/include/boost/python/detail/unwind_type.hpp
 #usr/include/boost/python/detail/unwrap_type_id.hpp
 #usr/include/boost/python/detail/unwrap_wrapper.hpp
 #usr/include/boost/python/module.hpp
 #usr/include/boost/python/module_init.hpp
 #usr/include/boost/python/numeric.hpp
+#usr/include/boost/python/numpy
+#usr/include/boost/python/numpy.hpp
+#usr/include/boost/python/numpy/config.hpp
+#usr/include/boost/python/numpy/dtype.hpp
+#usr/include/boost/python/numpy/internal.hpp
+#usr/include/boost/python/numpy/invoke_matching.hpp
+#usr/include/boost/python/numpy/matrix.hpp
+#usr/include/boost/python/numpy/ndarray.hpp
+#usr/include/boost/python/numpy/numpy_object_mgr_traits.hpp
+#usr/include/boost/python/numpy/scalars.hpp
+#usr/include/boost/python/numpy/ufunc.hpp
 #usr/include/boost/python/object
 #usr/include/boost/python/object.hpp
 #usr/include/boost/python/object/add_to_namespace.hpp
 #usr/include/boost/python/type_id.hpp
 #usr/include/boost/python/with_custodian_and_ward.hpp
 #usr/include/boost/python/wrapper.hpp
+#usr/include/boost/qvm
+#usr/include/boost/qvm/all.hpp
+#usr/include/boost/qvm/assert.hpp
+#usr/include/boost/qvm/deduce_mat.hpp
+#usr/include/boost/qvm/deduce_quat.hpp
+#usr/include/boost/qvm/deduce_scalar.hpp
+#usr/include/boost/qvm/deduce_vec.hpp
+#usr/include/boost/qvm/detail
+#usr/include/boost/qvm/detail/cofactor_impl.hpp
+#usr/include/boost/qvm/detail/determinant_impl.hpp
+#usr/include/boost/qvm/detail/remove_const.hpp
+#usr/include/boost/qvm/detail/swizzle_traits.hpp
+#usr/include/boost/qvm/detail/transp_impl.hpp
+#usr/include/boost/qvm/enable_if.hpp
+#usr/include/boost/qvm/error.hpp
+#usr/include/boost/qvm/gen
+#usr/include/boost/qvm/gen/mat_operations2.hpp
+#usr/include/boost/qvm/gen/mat_operations3.hpp
+#usr/include/boost/qvm/gen/mat_operations4.hpp
+#usr/include/boost/qvm/gen/swizzle2.hpp
+#usr/include/boost/qvm/gen/swizzle3.hpp
+#usr/include/boost/qvm/gen/swizzle4.hpp
+#usr/include/boost/qvm/gen/vec_mat_operations2.hpp
+#usr/include/boost/qvm/gen/vec_mat_operations3.hpp
+#usr/include/boost/qvm/gen/vec_mat_operations4.hpp
+#usr/include/boost/qvm/gen/vec_operations2.hpp
+#usr/include/boost/qvm/gen/vec_operations3.hpp
+#usr/include/boost/qvm/gen/vec_operations4.hpp
+#usr/include/boost/qvm/inline.hpp
+#usr/include/boost/qvm/map.hpp
+#usr/include/boost/qvm/map_mat_mat.hpp
+#usr/include/boost/qvm/map_mat_vec.hpp
+#usr/include/boost/qvm/map_vec_mat.hpp
+#usr/include/boost/qvm/mat.hpp
+#usr/include/boost/qvm/mat_access.hpp
+#usr/include/boost/qvm/mat_operations.hpp
+#usr/include/boost/qvm/mat_operations2.hpp
+#usr/include/boost/qvm/mat_operations3.hpp
+#usr/include/boost/qvm/mat_operations4.hpp
+#usr/include/boost/qvm/mat_traits.hpp
+#usr/include/boost/qvm/mat_traits_array.hpp
+#usr/include/boost/qvm/mat_traits_defaults.hpp
+#usr/include/boost/qvm/math.hpp
+#usr/include/boost/qvm/operations.hpp
+#usr/include/boost/qvm/quat.hpp
+#usr/include/boost/qvm/quat_access.hpp
+#usr/include/boost/qvm/quat_operations.hpp
+#usr/include/boost/qvm/quat_traits.hpp
+#usr/include/boost/qvm/quat_traits_array.hpp
+#usr/include/boost/qvm/quat_traits_defaults.hpp
+#usr/include/boost/qvm/quat_vec_operations.hpp
+#usr/include/boost/qvm/scalar_traits.hpp
+#usr/include/boost/qvm/static_assert.hpp
+#usr/include/boost/qvm/swizzle.hpp
+#usr/include/boost/qvm/swizzle2.hpp
+#usr/include/boost/qvm/swizzle3.hpp
+#usr/include/boost/qvm/swizzle4.hpp
+#usr/include/boost/qvm/throw_exception.hpp
+#usr/include/boost/qvm/to_string.hpp
+#usr/include/boost/qvm/vec.hpp
+#usr/include/boost/qvm/vec_access.hpp
+#usr/include/boost/qvm/vec_mat_operations.hpp
+#usr/include/boost/qvm/vec_mat_operations2.hpp
+#usr/include/boost/qvm/vec_mat_operations3.hpp
+#usr/include/boost/qvm/vec_mat_operations4.hpp
+#usr/include/boost/qvm/vec_operations.hpp
+#usr/include/boost/qvm/vec_operations2.hpp
+#usr/include/boost/qvm/vec_operations3.hpp
+#usr/include/boost/qvm/vec_operations4.hpp
+#usr/include/boost/qvm/vec_traits.hpp
+#usr/include/boost/qvm/vec_traits_array.hpp
+#usr/include/boost/qvm/vec_traits_defaults.hpp
 #usr/include/boost/random
 #usr/include/boost/random.hpp
 #usr/include/boost/random/additive_combine.hpp
 #usr/include/boost/random/bernoulli_distribution.hpp
+#usr/include/boost/random/beta_distribution.hpp
 #usr/include/boost/random/binomial_distribution.hpp
 #usr/include/boost/random/cauchy_distribution.hpp
 #usr/include/boost/random/chi_squared_distribution.hpp
 #usr/include/boost/random/detail/enable_warnings.hpp
 #usr/include/boost/random/detail/generator_bits.hpp
 #usr/include/boost/random/detail/generator_seed_seq.hpp
+#usr/include/boost/random/detail/int_float_pair.hpp
 #usr/include/boost/random/detail/integer_log2.hpp
 #usr/include/boost/random/detail/iterator_mixin.hpp
 #usr/include/boost/random/detail/large_arithmetic.hpp
 #usr/include/boost/random/detail/operators.hpp
+#usr/include/boost/random/detail/polynomial.hpp
 #usr/include/boost/random/detail/ptr_helper.hpp
 #usr/include/boost/random/detail/seed.hpp
 #usr/include/boost/random/detail/seed_impl.hpp
 #usr/include/boost/random/gamma_distribution.hpp
 #usr/include/boost/random/generate_canonical.hpp
 #usr/include/boost/random/geometric_distribution.hpp
+#usr/include/boost/random/hyperexponential_distribution.hpp
 #usr/include/boost/random/independent_bits.hpp
 #usr/include/boost/random/inversive_congruential.hpp
 #usr/include/boost/random/lagged_fibonacci.hpp
+#usr/include/boost/random/laplace_distribution.hpp
 #usr/include/boost/random/linear_congruential.hpp
 #usr/include/boost/random/linear_feedback_shift.hpp
 #usr/include/boost/random/lognormal_distribution.hpp
 #usr/include/boost/random/mersenne_twister.hpp
 #usr/include/boost/random/negative_binomial_distribution.hpp
+#usr/include/boost/random/non_central_chi_squared_distribution.hpp
 #usr/include/boost/random/normal_distribution.hpp
 #usr/include/boost/random/piecewise_constant_distribution.hpp
 #usr/include/boost/random/piecewise_linear_distribution.hpp
 #usr/include/boost/random/student_t_distribution.hpp
 #usr/include/boost/random/subtract_with_carry.hpp
 #usr/include/boost/random/taus88.hpp
+#usr/include/boost/random/traits.hpp
 #usr/include/boost/random/triangle_distribution.hpp
 #usr/include/boost/random/uniform_01.hpp
 #usr/include/boost/random/uniform_int.hpp
 #usr/include/boost/range/adaptor/copied.hpp
 #usr/include/boost/range/adaptor/define_adaptor.hpp
 #usr/include/boost/range/adaptor/filtered.hpp
+#usr/include/boost/range/adaptor/formatted.hpp
 #usr/include/boost/range/adaptor/indexed.hpp
 #usr/include/boost/range/adaptor/indirected.hpp
 #usr/include/boost/range/adaptor/map.hpp
 #usr/include/boost/range/detail/begin.hpp
 #usr/include/boost/range/detail/collection_traits.hpp
 #usr/include/boost/range/detail/collection_traits_detail.hpp
+#usr/include/boost/range/detail/combine_cxx03.hpp
+#usr/include/boost/range/detail/combine_cxx11.hpp
+#usr/include/boost/range/detail/combine_no_rvalue.hpp
+#usr/include/boost/range/detail/combine_rvalue.hpp
 #usr/include/boost/range/detail/common.hpp
-#usr/include/boost/range/detail/const_iterator.hpp
+#usr/include/boost/range/detail/default_constructible_unary_fn.hpp
 #usr/include/boost/range/detail/demote_iterator_traversal_tag.hpp
 #usr/include/boost/range/detail/detail_str.hpp
 #usr/include/boost/range/detail/difference_type.hpp
 #usr/include/boost/range/detail/empty.hpp
 #usr/include/boost/range/detail/end.hpp
 #usr/include/boost/range/detail/extract_optional_type.hpp
+#usr/include/boost/range/detail/has_member_size.hpp
 #usr/include/boost/range/detail/implementation_help.hpp
-#usr/include/boost/range/detail/iterator.hpp
 #usr/include/boost/range/detail/join_iterator.hpp
 #usr/include/boost/range/detail/microsoft.hpp
 #usr/include/boost/range/detail/misc_concept.hpp
+#usr/include/boost/range/detail/msvc_has_iterator_workaround.hpp
 #usr/include/boost/range/detail/range_return.hpp
 #usr/include/boost/range/detail/remove_extent.hpp
 #usr/include/boost/range/detail/safe_bool.hpp
 #usr/include/boost/range/detail/sfinae.hpp
-#usr/include/boost/range/detail/size.hpp
 #usr/include/boost/range/detail/size_type.hpp
 #usr/include/boost/range/detail/sizer.hpp
 #usr/include/boost/range/detail/str_types.hpp
 #usr/include/boost/range/detail/value_type.hpp
-#usr/include/boost/range/detail/vc6
-#usr/include/boost/range/detail/vc6/end.hpp
-#usr/include/boost/range/detail/vc6/size.hpp
 #usr/include/boost/range/difference_type.hpp
 #usr/include/boost/range/distance.hpp
 #usr/include/boost/range/empty.hpp
 #usr/include/boost/range/iterator.hpp
 #usr/include/boost/range/iterator_range.hpp
 #usr/include/boost/range/iterator_range_core.hpp
+#usr/include/boost/range/iterator_range_hash.hpp
 #usr/include/boost/range/iterator_range_io.hpp
 #usr/include/boost/range/join.hpp
 #usr/include/boost/range/metafunctions.hpp
 #usr/include/boost/range/mfc.hpp
+#usr/include/boost/range/mfc_map.hpp
 #usr/include/boost/range/mutable_iterator.hpp
 #usr/include/boost/range/numeric.hpp
 #usr/include/boost/range/pointer.hpp
+#usr/include/boost/range/range_fwd.hpp
 #usr/include/boost/range/rbegin.hpp
 #usr/include/boost/range/reference.hpp
 #usr/include/boost/range/rend.hpp
 #usr/include/boost/range/size.hpp
 #usr/include/boost/range/size_type.hpp
 #usr/include/boost/range/sub_range.hpp
+#usr/include/boost/range/traversal.hpp
 #usr/include/boost/range/value_type.hpp
 #usr/include/boost/ratio
 #usr/include/boost/ratio.hpp
 #usr/include/boost/ratio/ratio.hpp
 #usr/include/boost/ratio/ratio_fwd.hpp
 #usr/include/boost/ratio/ratio_io.hpp
-#usr/include/boost/ratio/ratio_static_string.hpp
 #usr/include/boost/rational.hpp
 #usr/include/boost/ref.hpp
 #usr/include/boost/regex
 #usr/include/boost/scoped_ptr.hpp
 #usr/include/boost/serialization
 #usr/include/boost/serialization/access.hpp
+#usr/include/boost/serialization/archive_input_unordered_map.hpp
+#usr/include/boost/serialization/archive_input_unordered_set.hpp
 #usr/include/boost/serialization/array.hpp
+#usr/include/boost/serialization/array_optimization.hpp
+#usr/include/boost/serialization/array_wrapper.hpp
 #usr/include/boost/serialization/assume_abstract.hpp
 #usr/include/boost/serialization/base_object.hpp
 #usr/include/boost/serialization/binary_object.hpp
 #usr/include/boost/serialization/bitset.hpp
+#usr/include/boost/serialization/boost_array.hpp
+#usr/include/boost/serialization/boost_unordered_map.hpp
+#usr/include/boost/serialization/boost_unordered_set.hpp
 #usr/include/boost/serialization/collection_size_type.hpp
 #usr/include/boost/serialization/collection_traits.hpp
 #usr/include/boost/serialization/collections_load_imp.hpp
 #usr/include/boost/serialization/config.hpp
 #usr/include/boost/serialization/deque.hpp
 #usr/include/boost/serialization/detail
-#usr/include/boost/serialization/detail/get_data.hpp
+#usr/include/boost/serialization/detail/is_default_constructible.hpp
 #usr/include/boost/serialization/detail/shared_count_132.hpp
 #usr/include/boost/serialization/detail/shared_ptr_132.hpp
 #usr/include/boost/serialization/detail/shared_ptr_nmt_132.hpp
 #usr/include/boost/serialization/extended_type_info_typeid.hpp
 #usr/include/boost/serialization/factory.hpp
 #usr/include/boost/serialization/force_include.hpp
+#usr/include/boost/serialization/forward_list.hpp
 #usr/include/boost/serialization/hash_collections_load_imp.hpp
 #usr/include/boost/serialization/hash_collections_save_imp.hpp
 #usr/include/boost/serialization/hash_map.hpp
 #usr/include/boost/serialization/map.hpp
 #usr/include/boost/serialization/nvp.hpp
 #usr/include/boost/serialization/optional.hpp
-#usr/include/boost/serialization/pfto.hpp
+#usr/include/boost/serialization/priority_queue.hpp
+#usr/include/boost/serialization/queue.hpp
 #usr/include/boost/serialization/scoped_ptr.hpp
 #usr/include/boost/serialization/serialization.hpp
 #usr/include/boost/serialization/set.hpp
 #usr/include/boost/serialization/shared_ptr.hpp
 #usr/include/boost/serialization/shared_ptr_132.hpp
+#usr/include/boost/serialization/shared_ptr_helper.hpp
 #usr/include/boost/serialization/singleton.hpp
 #usr/include/boost/serialization/slist.hpp
 #usr/include/boost/serialization/smart_cast.hpp
 #usr/include/boost/serialization/split_free.hpp
 #usr/include/boost/serialization/split_member.hpp
+#usr/include/boost/serialization/stack.hpp
 #usr/include/boost/serialization/state_saver.hpp
 #usr/include/boost/serialization/static_warning.hpp
 #usr/include/boost/serialization/string.hpp
 #usr/include/boost/serialization/tracking_enum.hpp
 #usr/include/boost/serialization/traits.hpp
 #usr/include/boost/serialization/type_info_implementation.hpp
+#usr/include/boost/serialization/unique_ptr.hpp
+#usr/include/boost/serialization/unordered_collections_load_imp.hpp
+#usr/include/boost/serialization/unordered_collections_save_imp.hpp
+#usr/include/boost/serialization/unordered_map.hpp
+#usr/include/boost/serialization/unordered_set.hpp
 #usr/include/boost/serialization/utility.hpp
 #usr/include/boost/serialization/valarray.hpp
 #usr/include/boost/serialization/variant.hpp
 #usr/include/boost/smart_ptr/allocate_shared_array.hpp
 #usr/include/boost/smart_ptr/bad_weak_ptr.hpp
 #usr/include/boost/smart_ptr/detail
-#usr/include/boost/smart_ptr/detail/allocate_array_helper.hpp
-#usr/include/boost/smart_ptr/detail/array_deleter.hpp
-#usr/include/boost/smart_ptr/detail/array_traits.hpp
-#usr/include/boost/smart_ptr/detail/array_utility.hpp
 #usr/include/boost/smart_ptr/detail/atomic_count.hpp
 #usr/include/boost/smart_ptr/detail/atomic_count_gcc.hpp
 #usr/include/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp
-#usr/include/boost/smart_ptr/detail/atomic_count_pthreads.hpp
+#usr/include/boost/smart_ptr/detail/atomic_count_nt.hpp
+#usr/include/boost/smart_ptr/detail/atomic_count_pt.hpp
 #usr/include/boost/smart_ptr/detail/atomic_count_solaris.hpp
+#usr/include/boost/smart_ptr/detail/atomic_count_spin.hpp
+#usr/include/boost/smart_ptr/detail/atomic_count_std_atomic.hpp
 #usr/include/boost/smart_ptr/detail/atomic_count_sync.hpp
 #usr/include/boost/smart_ptr/detail/atomic_count_win32.hpp
 #usr/include/boost/smart_ptr/detail/lightweight_mutex.hpp
 #usr/include/boost/smart_ptr/detail/lwm_nop.hpp
 #usr/include/boost/smart_ptr/detail/lwm_pthreads.hpp
 #usr/include/boost/smart_ptr/detail/lwm_win32_cs.hpp
-#usr/include/boost/smart_ptr/detail/make_array_helper.hpp
 #usr/include/boost/smart_ptr/detail/operator_bool.hpp
 #usr/include/boost/smart_ptr/detail/quick_allocator.hpp
-#usr/include/boost/smart_ptr/detail/shared_array_nmt.hpp
 #usr/include/boost/smart_ptr/detail/shared_count.hpp
-#usr/include/boost/smart_ptr/detail/shared_ptr_nmt.hpp
 #usr/include/boost/smart_ptr/detail/sp_convertible.hpp
 #usr/include/boost/smart_ptr/detail/sp_counted_base.hpp
 #usr/include/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp
 #usr/include/boost/smart_ptr/detail/sp_counted_base_aix.hpp
+#usr/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp
 #usr/include/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp
 #usr/include/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp
 #usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp
 #usr/include/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp
 #usr/include/boost/smart_ptr/detail/sp_counted_base_solaris.hpp
 #usr/include/boost/smart_ptr/detail/sp_counted_base_spin.hpp
+#usr/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp
 #usr/include/boost/smart_ptr/detail/sp_counted_base_sync.hpp
 #usr/include/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp
 #usr/include/boost/smart_ptr/detail/sp_counted_base_w32.hpp
 #usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp
+#usr/include/boost/smart_ptr/detail/sp_disable_deprecated.hpp
 #usr/include/boost/smart_ptr/detail/sp_forward.hpp
 #usr/include/boost/smart_ptr/detail/sp_has_sync.hpp
-#usr/include/boost/smart_ptr/detail/sp_if_array.hpp
+#usr/include/boost/smart_ptr/detail/sp_interlocked.hpp
+#usr/include/boost/smart_ptr/detail/sp_noexcept.hpp
 #usr/include/boost/smart_ptr/detail/sp_nullptr_t.hpp
 #usr/include/boost/smart_ptr/detail/spinlock.hpp
 #usr/include/boost/smart_ptr/detail/spinlock_gcc_arm.hpp
 #usr/include/boost/smart_ptr/detail/spinlock_nt.hpp
 #usr/include/boost/smart_ptr/detail/spinlock_pool.hpp
 #usr/include/boost/smart_ptr/detail/spinlock_pt.hpp
+#usr/include/boost/smart_ptr/detail/spinlock_std_atomic.hpp
 #usr/include/boost/smart_ptr/detail/spinlock_sync.hpp
 #usr/include/boost/smart_ptr/detail/spinlock_w32.hpp
 #usr/include/boost/smart_ptr/detail/yield_k.hpp
 #usr/include/boost/smart_ptr/make_shared.hpp
 #usr/include/boost/smart_ptr/make_shared_array.hpp
 #usr/include/boost/smart_ptr/make_shared_object.hpp
+#usr/include/boost/smart_ptr/make_unique.hpp
 #usr/include/boost/smart_ptr/owner_less.hpp
 #usr/include/boost/smart_ptr/scoped_array.hpp
 #usr/include/boost/smart_ptr/scoped_ptr.hpp
 #usr/include/boost/smart_ptr/shared_array.hpp
 #usr/include/boost/smart_ptr/shared_ptr.hpp
 #usr/include/boost/smart_ptr/weak_ptr.hpp
+#usr/include/boost/sort
+#usr/include/boost/sort/sort.hpp
+#usr/include/boost/sort/spreadsort
+#usr/include/boost/sort/spreadsort/detail
+#usr/include/boost/sort/spreadsort/detail/constants.hpp
+#usr/include/boost/sort/spreadsort/detail/float_sort.hpp
+#usr/include/boost/sort/spreadsort/detail/integer_sort.hpp
+#usr/include/boost/sort/spreadsort/detail/spreadsort_common.hpp
+#usr/include/boost/sort/spreadsort/detail/string_sort.hpp
+#usr/include/boost/sort/spreadsort/float_sort.hpp
+#usr/include/boost/sort/spreadsort/integer_sort.hpp
+#usr/include/boost/sort/spreadsort/spreadsort.hpp
+#usr/include/boost/sort/spreadsort/string_sort.hpp
 #usr/include/boost/spirit
 #usr/include/boost/spirit.hpp
 #usr/include/boost/spirit/home
 #usr/include/boost/spirit/home/lex/reference.hpp
 #usr/include/boost/spirit/home/lex/tokenize_and_parse.hpp
 #usr/include/boost/spirit/home/lex/tokenize_and_parse_attr.hpp
-#usr/include/boost/spirit/home/phoenix
-#usr/include/boost/spirit/home/phoenix.hpp
-#usr/include/boost/spirit/home/phoenix/algorithm.hpp
-#usr/include/boost/spirit/home/phoenix/bind
-#usr/include/boost/spirit/home/phoenix/bind.hpp
-#usr/include/boost/spirit/home/phoenix/bind/bind_function.hpp
-#usr/include/boost/spirit/home/phoenix/bind/bind_function_object.hpp
-#usr/include/boost/spirit/home/phoenix/bind/bind_member_function.hpp
-#usr/include/boost/spirit/home/phoenix/bind/bind_member_variable.hpp
-#usr/include/boost/spirit/home/phoenix/bind/detail
-#usr/include/boost/spirit/home/phoenix/bind/detail/bind_function.hpp
-#usr/include/boost/spirit/home/phoenix/bind/detail/bind_function_object.hpp
-#usr/include/boost/spirit/home/phoenix/bind/detail/bind_member_function.hpp
-#usr/include/boost/spirit/home/phoenix/bind/detail/function_ptr.hpp
-#usr/include/boost/spirit/home/phoenix/bind/detail/member_function_ptr.hpp
-#usr/include/boost/spirit/home/phoenix/container.hpp
-#usr/include/boost/spirit/home/phoenix/core
-#usr/include/boost/spirit/home/phoenix/core.hpp
-#usr/include/boost/spirit/home/phoenix/core/actor.hpp
-#usr/include/boost/spirit/home/phoenix/core/argument.hpp
-#usr/include/boost/spirit/home/phoenix/core/as_actor.hpp
-#usr/include/boost/spirit/home/phoenix/core/basic_environment.hpp
-#usr/include/boost/spirit/home/phoenix/core/compose.hpp
-#usr/include/boost/spirit/home/phoenix/core/composite.hpp
-#usr/include/boost/spirit/home/phoenix/core/detail
-#usr/include/boost/spirit/home/phoenix/core/detail/actor.hpp
-#usr/include/boost/spirit/home/phoenix/core/detail/basic_environment.hpp
-#usr/include/boost/spirit/home/phoenix/core/detail/compose.hpp
-#usr/include/boost/spirit/home/phoenix/core/detail/composite.hpp
-#usr/include/boost/spirit/home/phoenix/core/detail/composite_eval.hpp
-#usr/include/boost/spirit/home/phoenix/core/detail/composite_info.hpp
-#usr/include/boost/spirit/home/phoenix/core/detail/function_eval.hpp
-#usr/include/boost/spirit/home/phoenix/core/is_actor.hpp
-#usr/include/boost/spirit/home/phoenix/core/limits.hpp
-#usr/include/boost/spirit/home/phoenix/core/nothing.hpp
-#usr/include/boost/spirit/home/phoenix/core/reference.hpp
-#usr/include/boost/spirit/home/phoenix/core/value.hpp
-#usr/include/boost/spirit/home/phoenix/detail
-#usr/include/boost/spirit/home/phoenix/detail/local_reference.hpp
-#usr/include/boost/spirit/home/phoenix/detail/type_deduction.hpp
-#usr/include/boost/spirit/home/phoenix/function
-#usr/include/boost/spirit/home/phoenix/function.hpp
-#usr/include/boost/spirit/home/phoenix/function/detail
-#usr/include/boost/spirit/home/phoenix/function/detail/function_call.hpp
-#usr/include/boost/spirit/home/phoenix/function/function.hpp
-#usr/include/boost/spirit/home/phoenix/fusion
-#usr/include/boost/spirit/home/phoenix/fusion.hpp
-#usr/include/boost/spirit/home/phoenix/fusion/at.hpp
-#usr/include/boost/spirit/home/phoenix/object
-#usr/include/boost/spirit/home/phoenix/object.hpp
-#usr/include/boost/spirit/home/phoenix/object/const_cast.hpp
-#usr/include/boost/spirit/home/phoenix/object/construct.hpp
-#usr/include/boost/spirit/home/phoenix/object/delete.hpp
-#usr/include/boost/spirit/home/phoenix/object/detail
-#usr/include/boost/spirit/home/phoenix/object/detail/construct.hpp
-#usr/include/boost/spirit/home/phoenix/object/detail/construct_eval.hpp
-#usr/include/boost/spirit/home/phoenix/object/detail/new.hpp
-#usr/include/boost/spirit/home/phoenix/object/detail/new_eval.hpp
-#usr/include/boost/spirit/home/phoenix/object/dynamic_cast.hpp
-#usr/include/boost/spirit/home/phoenix/object/new.hpp
-#usr/include/boost/spirit/home/phoenix/object/reinterpret_cast.hpp
-#usr/include/boost/spirit/home/phoenix/object/static_cast.hpp
-#usr/include/boost/spirit/home/phoenix/operator
-#usr/include/boost/spirit/home/phoenix/operator.hpp
-#usr/include/boost/spirit/home/phoenix/operator/arithmetic.hpp
-#usr/include/boost/spirit/home/phoenix/operator/bitwise.hpp
-#usr/include/boost/spirit/home/phoenix/operator/comparison.hpp
-#usr/include/boost/spirit/home/phoenix/operator/detail
-#usr/include/boost/spirit/home/phoenix/operator/detail/binary_compose.hpp
-#usr/include/boost/spirit/home/phoenix/operator/detail/binary_eval.hpp
-#usr/include/boost/spirit/home/phoenix/operator/detail/io.hpp
-#usr/include/boost/spirit/home/phoenix/operator/detail/mem_fun_ptr_eval.hpp
-#usr/include/boost/spirit/home/phoenix/operator/detail/mem_fun_ptr_gen.hpp
-#usr/include/boost/spirit/home/phoenix/operator/detail/mem_fun_ptr_return.hpp
-#usr/include/boost/spirit/home/phoenix/operator/detail/unary_compose.hpp
-#usr/include/boost/spirit/home/phoenix/operator/detail/unary_eval.hpp
-#usr/include/boost/spirit/home/phoenix/operator/if_else.hpp
-#usr/include/boost/spirit/home/phoenix/operator/io.hpp
-#usr/include/boost/spirit/home/phoenix/operator/logical.hpp
-#usr/include/boost/spirit/home/phoenix/operator/member.hpp
-#usr/include/boost/spirit/home/phoenix/operator/self.hpp
-#usr/include/boost/spirit/home/phoenix/scope
-#usr/include/boost/spirit/home/phoenix/scope.hpp
-#usr/include/boost/spirit/home/phoenix/scope/detail
-#usr/include/boost/spirit/home/phoenix/scope/detail/local_gen.hpp
-#usr/include/boost/spirit/home/phoenix/scope/detail/local_variable.hpp
-#usr/include/boost/spirit/home/phoenix/scope/dynamic.hpp
-#usr/include/boost/spirit/home/phoenix/scope/lambda.hpp
-#usr/include/boost/spirit/home/phoenix/scope/let.hpp
-#usr/include/boost/spirit/home/phoenix/scope/local_variable.hpp
-#usr/include/boost/spirit/home/phoenix/scope/scoped_environment.hpp
-#usr/include/boost/spirit/home/phoenix/statement
-#usr/include/boost/spirit/home/phoenix/statement.hpp
-#usr/include/boost/spirit/home/phoenix/statement/detail
-#usr/include/boost/spirit/home/phoenix/statement/detail/catch_all_eval.hpp
-#usr/include/boost/spirit/home/phoenix/statement/detail/catch_composite.hpp
-#usr/include/boost/spirit/home/phoenix/statement/detail/catch_eval.hpp
-#usr/include/boost/spirit/home/phoenix/statement/detail/switch.hpp
-#usr/include/boost/spirit/home/phoenix/statement/detail/switch_eval.hpp
-#usr/include/boost/spirit/home/phoenix/statement/detail/switch_eval.ipp
-#usr/include/boost/spirit/home/phoenix/statement/do_while.hpp
-#usr/include/boost/spirit/home/phoenix/statement/for.hpp
-#usr/include/boost/spirit/home/phoenix/statement/if.hpp
-#usr/include/boost/spirit/home/phoenix/statement/sequence.hpp
-#usr/include/boost/spirit/home/phoenix/statement/switch.hpp
-#usr/include/boost/spirit/home/phoenix/statement/throw.hpp
-#usr/include/boost/spirit/home/phoenix/statement/try_catch.hpp
-#usr/include/boost/spirit/home/phoenix/statement/while.hpp
-#usr/include/boost/spirit/home/phoenix/stl
-#usr/include/boost/spirit/home/phoenix/stl.hpp
-#usr/include/boost/spirit/home/phoenix/stl/algorithm
-#usr/include/boost/spirit/home/phoenix/stl/algorithm.hpp
-#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail
-#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/begin.hpp
-#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/decay_array.hpp
-#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/end.hpp
-#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/has_equal_range.hpp
-#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/has_find.hpp
-#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/has_lower_bound.hpp
-#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/has_remove.hpp
-#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/has_remove_if.hpp
-#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/has_reverse.hpp
-#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/has_sort.hpp
-#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/has_unique.hpp
-#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/has_upper_bound.hpp
-#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/is_std_hash_map.hpp
-#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/is_std_hash_set.hpp
-#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/is_std_list.hpp
-#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/is_std_map.hpp
-#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/is_std_set.hpp
-#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/std_hash_map_fwd.hpp
-#usr/include/boost/spirit/home/phoenix/stl/algorithm/detail/std_hash_set_fwd.hpp
-#usr/include/boost/spirit/home/phoenix/stl/algorithm/iteration.hpp
-#usr/include/boost/spirit/home/phoenix/stl/algorithm/querying.hpp
-#usr/include/boost/spirit/home/phoenix/stl/algorithm/transformation.hpp
-#usr/include/boost/spirit/home/phoenix/stl/container
-#usr/include/boost/spirit/home/phoenix/stl/container.hpp
-#usr/include/boost/spirit/home/phoenix/stl/container/container.hpp
-#usr/include/boost/spirit/home/phoenix/stl/container/detail
-#usr/include/boost/spirit/home/phoenix/stl/container/detail/container.hpp
-#usr/include/boost/spirit/home/phoenix/version.hpp
 #usr/include/boost/spirit/home/qi
 #usr/include/boost/spirit/home/qi.hpp
 #usr/include/boost/spirit/home/qi/action
 #usr/include/boost/spirit/home/qi/char/char.hpp
 #usr/include/boost/spirit/home/qi/char/char_class.hpp
 #usr/include/boost/spirit/home/qi/char/char_parser.hpp
+#usr/include/boost/spirit/home/qi/copy.hpp
 #usr/include/boost/spirit/home/qi/detail
 #usr/include/boost/spirit/home/qi/detail/alternative_function.hpp
 #usr/include/boost/spirit/home/qi/detail/assign_to.hpp
 #usr/include/boost/spirit/home/support/attributes.hpp
 #usr/include/boost/spirit/home/support/attributes_fwd.hpp
 #usr/include/boost/spirit/home/support/auto
+#usr/include/boost/spirit/home/support/auto.hpp
 #usr/include/boost/spirit/home/support/auto/meta_create.hpp
 #usr/include/boost/spirit/home/support/auxiliary
 #usr/include/boost/spirit/home/support/auxiliary/attr_cast.hpp
 #usr/include/boost/spirit/home/support/utree/utree.hpp
 #usr/include/boost/spirit/home/support/utree/utree_traits.hpp
 #usr/include/boost/spirit/home/support/utree/utree_traits_fwd.hpp
+#usr/include/boost/spirit/home/x3
+#usr/include/boost/spirit/home/x3.hpp
+#usr/include/boost/spirit/home/x3/auxiliary
+#usr/include/boost/spirit/home/x3/auxiliary.hpp
+#usr/include/boost/spirit/home/x3/auxiliary/any_parser.hpp
+#usr/include/boost/spirit/home/x3/auxiliary/attr.hpp
+#usr/include/boost/spirit/home/x3/auxiliary/eoi.hpp
+#usr/include/boost/spirit/home/x3/auxiliary/eol.hpp
+#usr/include/boost/spirit/home/x3/auxiliary/eps.hpp
+#usr/include/boost/spirit/home/x3/auxiliary/guard.hpp
+#usr/include/boost/spirit/home/x3/binary
+#usr/include/boost/spirit/home/x3/binary.hpp
+#usr/include/boost/spirit/home/x3/binary/binary.hpp
+#usr/include/boost/spirit/home/x3/char
+#usr/include/boost/spirit/home/x3/char.hpp
+#usr/include/boost/spirit/home/x3/char/any_char.hpp
+#usr/include/boost/spirit/home/x3/char/char.hpp
+#usr/include/boost/spirit/home/x3/char/char_class.hpp
+#usr/include/boost/spirit/home/x3/char/char_class_tags.hpp
+#usr/include/boost/spirit/home/x3/char/char_parser.hpp
+#usr/include/boost/spirit/home/x3/char/char_set.hpp
+#usr/include/boost/spirit/home/x3/char/detail
+#usr/include/boost/spirit/home/x3/char/detail/cast_char.hpp
+#usr/include/boost/spirit/home/x3/char/literal_char.hpp
+#usr/include/boost/spirit/home/x3/char/negated_char_parser.hpp
+#usr/include/boost/spirit/home/x3/char/unicode.hpp
+#usr/include/boost/spirit/home/x3/core
+#usr/include/boost/spirit/home/x3/core.hpp
+#usr/include/boost/spirit/home/x3/core/action.hpp
+#usr/include/boost/spirit/home/x3/core/call.hpp
+#usr/include/boost/spirit/home/x3/core/detail
+#usr/include/boost/spirit/home/x3/core/detail/parse_into_container.hpp
+#usr/include/boost/spirit/home/x3/core/parse.hpp
+#usr/include/boost/spirit/home/x3/core/parser.hpp
+#usr/include/boost/spirit/home/x3/core/proxy.hpp
+#usr/include/boost/spirit/home/x3/core/skip_over.hpp
+#usr/include/boost/spirit/home/x3/directive
+#usr/include/boost/spirit/home/x3/directive.hpp
+#usr/include/boost/spirit/home/x3/directive/confix.hpp
+#usr/include/boost/spirit/home/x3/directive/expect.hpp
+#usr/include/boost/spirit/home/x3/directive/lexeme.hpp
+#usr/include/boost/spirit/home/x3/directive/matches.hpp
+#usr/include/boost/spirit/home/x3/directive/no_case.hpp
+#usr/include/boost/spirit/home/x3/directive/no_skip.hpp
+#usr/include/boost/spirit/home/x3/directive/omit.hpp
+#usr/include/boost/spirit/home/x3/directive/raw.hpp
+#usr/include/boost/spirit/home/x3/directive/repeat.hpp
+#usr/include/boost/spirit/home/x3/directive/seek.hpp
+#usr/include/boost/spirit/home/x3/directive/skip.hpp
+#usr/include/boost/spirit/home/x3/directive/with.hpp
+#usr/include/boost/spirit/home/x3/nonterminal
+#usr/include/boost/spirit/home/x3/nonterminal.hpp
+#usr/include/boost/spirit/home/x3/nonterminal/debug_handler_state.hpp
+#usr/include/boost/spirit/home/x3/nonterminal/detail
+#usr/include/boost/spirit/home/x3/nonterminal/detail/rule.hpp
+#usr/include/boost/spirit/home/x3/nonterminal/detail/transform_attribute.hpp
+#usr/include/boost/spirit/home/x3/nonterminal/rule.hpp
+#usr/include/boost/spirit/home/x3/nonterminal/simple_trace.hpp
+#usr/include/boost/spirit/home/x3/numeric
+#usr/include/boost/spirit/home/x3/numeric.hpp
+#usr/include/boost/spirit/home/x3/numeric/bool.hpp
+#usr/include/boost/spirit/home/x3/numeric/bool_policies.hpp
+#usr/include/boost/spirit/home/x3/numeric/int.hpp
+#usr/include/boost/spirit/home/x3/numeric/real.hpp
+#usr/include/boost/spirit/home/x3/numeric/real_policies.hpp
+#usr/include/boost/spirit/home/x3/numeric/uint.hpp
+#usr/include/boost/spirit/home/x3/operator
+#usr/include/boost/spirit/home/x3/operator.hpp
+#usr/include/boost/spirit/home/x3/operator/alternative.hpp
+#usr/include/boost/spirit/home/x3/operator/and_predicate.hpp
+#usr/include/boost/spirit/home/x3/operator/detail
+#usr/include/boost/spirit/home/x3/operator/detail/alternative.hpp
+#usr/include/boost/spirit/home/x3/operator/detail/sequence.hpp
+#usr/include/boost/spirit/home/x3/operator/difference.hpp
+#usr/include/boost/spirit/home/x3/operator/kleene.hpp
+#usr/include/boost/spirit/home/x3/operator/list.hpp
+#usr/include/boost/spirit/home/x3/operator/not_predicate.hpp
+#usr/include/boost/spirit/home/x3/operator/optional.hpp
+#usr/include/boost/spirit/home/x3/operator/plus.hpp
+#usr/include/boost/spirit/home/x3/operator/sequence.hpp
+#usr/include/boost/spirit/home/x3/string
+#usr/include/boost/spirit/home/x3/string.hpp
+#usr/include/boost/spirit/home/x3/string/detail
+#usr/include/boost/spirit/home/x3/string/detail/no_case_string_parse.hpp
+#usr/include/boost/spirit/home/x3/string/detail/string_parse.hpp
+#usr/include/boost/spirit/home/x3/string/detail/tst.hpp
+#usr/include/boost/spirit/home/x3/string/literal_string.hpp
+#usr/include/boost/spirit/home/x3/string/symbols.hpp
+#usr/include/boost/spirit/home/x3/string/tst.hpp
+#usr/include/boost/spirit/home/x3/string/tst_map.hpp
+#usr/include/boost/spirit/home/x3/support
+#usr/include/boost/spirit/home/x3/support/ast
+#usr/include/boost/spirit/home/x3/support/ast/position_tagged.hpp
+#usr/include/boost/spirit/home/x3/support/ast/variant.hpp
+#usr/include/boost/spirit/home/x3/support/context.hpp
+#usr/include/boost/spirit/home/x3/support/no_case.hpp
+#usr/include/boost/spirit/home/x3/support/numeric_utils
+#usr/include/boost/spirit/home/x3/support/numeric_utils/detail
+#usr/include/boost/spirit/home/x3/support/numeric_utils/detail/extract_int.hpp
+#usr/include/boost/spirit/home/x3/support/numeric_utils/extract_int.hpp
+#usr/include/boost/spirit/home/x3/support/numeric_utils/extract_real.hpp
+#usr/include/boost/spirit/home/x3/support/numeric_utils/pow10.hpp
+#usr/include/boost/spirit/home/x3/support/numeric_utils/sign.hpp
+#usr/include/boost/spirit/home/x3/support/subcontext.hpp
+#usr/include/boost/spirit/home/x3/support/traits
+#usr/include/boost/spirit/home/x3/support/traits/attribute_category.hpp
+#usr/include/boost/spirit/home/x3/support/traits/attribute_of.hpp
+#usr/include/boost/spirit/home/x3/support/traits/attribute_type.hpp
+#usr/include/boost/spirit/home/x3/support/traits/container_traits.hpp
+#usr/include/boost/spirit/home/x3/support/traits/handles_container.hpp
+#usr/include/boost/spirit/home/x3/support/traits/has_attribute.hpp
+#usr/include/boost/spirit/home/x3/support/traits/is_parser.hpp
+#usr/include/boost/spirit/home/x3/support/traits/is_substitute.hpp
+#usr/include/boost/spirit/home/x3/support/traits/is_variant.hpp
+#usr/include/boost/spirit/home/x3/support/traits/make_attribute.hpp
+#usr/include/boost/spirit/home/x3/support/traits/move_to.hpp
+#usr/include/boost/spirit/home/x3/support/traits/numeric_traits.hpp
+#usr/include/boost/spirit/home/x3/support/traits/optional_traits.hpp
+#usr/include/boost/spirit/home/x3/support/traits/print_attribute.hpp
+#usr/include/boost/spirit/home/x3/support/traits/print_token.hpp
+#usr/include/boost/spirit/home/x3/support/traits/string_traits.hpp
+#usr/include/boost/spirit/home/x3/support/traits/transform_attribute.hpp
+#usr/include/boost/spirit/home/x3/support/traits/tuple_traits.hpp
+#usr/include/boost/spirit/home/x3/support/traits/value_traits.hpp
+#usr/include/boost/spirit/home/x3/support/traits/variant_find_substitute.hpp
+#usr/include/boost/spirit/home/x3/support/traits/variant_has_substitute.hpp
+#usr/include/boost/spirit/home/x3/support/unused.hpp
+#usr/include/boost/spirit/home/x3/support/utility
+#usr/include/boost/spirit/home/x3/support/utility/annotate_on_success.hpp
+#usr/include/boost/spirit/home/x3/support/utility/error_reporting.hpp
+#usr/include/boost/spirit/home/x3/support/utility/is_callable.hpp
+#usr/include/boost/spirit/home/x3/support/utility/lambda_visitor.hpp
+#usr/include/boost/spirit/home/x3/support/utility/sfinae.hpp
+#usr/include/boost/spirit/home/x3/support/utility/testing.hpp
+#usr/include/boost/spirit/home/x3/support/utility/unrefcv.hpp
+#usr/include/boost/spirit/home/x3/support/utility/utf8.hpp
+#usr/include/boost/spirit/home/x3/version.hpp
 #usr/include/boost/spirit/include
 #usr/include/boost/spirit/include/classic.hpp
 #usr/include/boost/spirit/include/classic_actions.hpp
 #usr/include/boost/spirit/include/qi_char.hpp
 #usr/include/boost/spirit/include/qi_char_.hpp
 #usr/include/boost/spirit/include/qi_char_class.hpp
+#usr/include/boost/spirit/include/qi_copy.hpp
 #usr/include/boost/spirit/include/qi_core.hpp
 #usr/include/boost/spirit/include/qi_difference.hpp
 #usr/include/boost/spirit/include/qi_directive.hpp
 #usr/include/boost/spirit/include/support_ascii.hpp
 #usr/include/boost/spirit/include/support_attributes.hpp
 #usr/include/boost/spirit/include/support_attributes_fwd.hpp
+#usr/include/boost/spirit/include/support_auto.hpp
 #usr/include/boost/spirit/include/support_char_class.hpp
 #usr/include/boost/spirit/include/support_container.hpp
 #usr/include/boost/spirit/include/support_extended_variant.hpp
 #usr/include/boost/statechart/termination.hpp
 #usr/include/boost/statechart/transition.hpp
 #usr/include/boost/static_assert.hpp
-#usr/include/boost/strong_typedef.hpp
 #usr/include/boost/swap.hpp
 #usr/include/boost/system
 #usr/include/boost/system/api_config.hpp
 #usr/include/boost/system/config.hpp
 #usr/include/boost/system/cygwin_error.hpp
+#usr/include/boost/system/detail
+#usr/include/boost/system/detail/error_code.ipp
+#usr/include/boost/system/detail/local_free_on_destruction.hpp
 #usr/include/boost/system/error_code.hpp
 #usr/include/boost/system/linux_error.hpp
 #usr/include/boost/system/system_error.hpp
 #usr/include/boost/system/windows_error.hpp
 #usr/include/boost/test
 #usr/include/boost/test/auto_unit_test.hpp
+#usr/include/boost/test/data
+#usr/include/boost/test/data/config.hpp
+#usr/include/boost/test/data/dataset.hpp
+#usr/include/boost/test/data/for_each_sample.hpp
+#usr/include/boost/test/data/generators.hpp
+#usr/include/boost/test/data/index_sequence.hpp
+#usr/include/boost/test/data/monomorphic
+#usr/include/boost/test/data/monomorphic.hpp
+#usr/include/boost/test/data/monomorphic/array.hpp
+#usr/include/boost/test/data/monomorphic/collection.hpp
+#usr/include/boost/test/data/monomorphic/fwd.hpp
+#usr/include/boost/test/data/monomorphic/generate.hpp
+#usr/include/boost/test/data/monomorphic/generators
+#usr/include/boost/test/data/monomorphic/generators.hpp
+#usr/include/boost/test/data/monomorphic/generators/keywords.hpp
+#usr/include/boost/test/data/monomorphic/generators/random.hpp
+#usr/include/boost/test/data/monomorphic/generators/xrange.hpp
+#usr/include/boost/test/data/monomorphic/grid.hpp
+#usr/include/boost/test/data/monomorphic/initializer_list.hpp
+#usr/include/boost/test/data/monomorphic/join.hpp
+#usr/include/boost/test/data/monomorphic/sample_merge.hpp
+#usr/include/boost/test/data/monomorphic/singleton.hpp
+#usr/include/boost/test/data/monomorphic/zip.hpp
+#usr/include/boost/test/data/size.hpp
+#usr/include/boost/test/data/test_case.hpp
 #usr/include/boost/test/debug.hpp
 #usr/include/boost/test/debug_config.hpp
 #usr/include/boost/test/detail
 #usr/include/boost/test/detail/fwd_decl.hpp
 #usr/include/boost/test/detail/global_typedef.hpp
 #usr/include/boost/test/detail/log_level.hpp
+#usr/include/boost/test/detail/pp_variadic.hpp
 #usr/include/boost/test/detail/suppress_warnings.hpp
-#usr/include/boost/test/detail/unit_test_parameters.hpp
+#usr/include/boost/test/detail/throw_exception.hpp
 #usr/include/boost/test/detail/workaround.hpp
-#usr/include/boost/test/exception_safety.hpp
 #usr/include/boost/test/execution_monitor.hpp
 #usr/include/boost/test/floating_point_comparison.hpp
 #usr/include/boost/test/framework.hpp
 #usr/include/boost/test/impl/compiler_log_formatter.ipp
 #usr/include/boost/test/impl/cpp_main.ipp
 #usr/include/boost/test/impl/debug.ipp
-#usr/include/boost/test/impl/exception_safety.ipp
+#usr/include/boost/test/impl/decorator.ipp
 #usr/include/boost/test/impl/execution_monitor.ipp
 #usr/include/boost/test/impl/framework.ipp
-#usr/include/boost/test/impl/interaction_based.ipp
-#usr/include/boost/test/impl/logged_expectations.ipp
+#usr/include/boost/test/impl/junit_log_formatter.ipp
 #usr/include/boost/test/impl/plain_report_formatter.ipp
 #usr/include/boost/test/impl/progress_monitor.ipp
 #usr/include/boost/test/impl/results_collector.ipp
 #usr/include/boost/test/impl/results_reporter.ipp
 #usr/include/boost/test/impl/test_main.ipp
 #usr/include/boost/test/impl/test_tools.ipp
+#usr/include/boost/test/impl/test_tree.ipp
 #usr/include/boost/test/impl/unit_test_log.ipp
 #usr/include/boost/test/impl/unit_test_main.ipp
 #usr/include/boost/test/impl/unit_test_monitor.ipp
 #usr/include/boost/test/impl/unit_test_parameters.ipp
-#usr/include/boost/test/impl/unit_test_suite.ipp
 #usr/include/boost/test/impl/xml_log_formatter.ipp
 #usr/include/boost/test/impl/xml_report_formatter.ipp
 #usr/include/boost/test/included
+#usr/include/boost/test/included/execution_monitor.hpp
 #usr/include/boost/test/included/prg_exec_monitor.hpp
 #usr/include/boost/test/included/test_exec_monitor.hpp
 #usr/include/boost/test/included/unit_test.hpp
 #usr/include/boost/test/included/unit_test_framework.hpp
-#usr/include/boost/test/interaction_based.hpp
-#usr/include/boost/test/logged_expectations.hpp
 #usr/include/boost/test/minimal.hpp
-#usr/include/boost/test/mock_object.hpp
 #usr/include/boost/test/output
 #usr/include/boost/test/output/compiler_log_formatter.hpp
+#usr/include/boost/test/output/junit_log_formatter.hpp
 #usr/include/boost/test/output/plain_report_formatter.hpp
 #usr/include/boost/test/output/xml_log_formatter.hpp
 #usr/include/boost/test/output/xml_report_formatter.hpp
 #usr/include/boost/test/results_reporter.hpp
 #usr/include/boost/test/test_case_template.hpp
 #usr/include/boost/test/test_exec_monitor.hpp
-#usr/include/boost/test/test_observer.hpp
 #usr/include/boost/test/test_tools.hpp
+#usr/include/boost/test/tools
+#usr/include/boost/test/tools/assertion.hpp
+#usr/include/boost/test/tools/assertion_result.hpp
+#usr/include/boost/test/tools/collection_comparison_op.hpp
+#usr/include/boost/test/tools/context.hpp
+#usr/include/boost/test/tools/cstring_comparison_op.hpp
+#usr/include/boost/test/tools/detail
+#usr/include/boost/test/tools/detail/bitwise_manip.hpp
+#usr/include/boost/test/tools/detail/expression_holder.hpp
+#usr/include/boost/test/tools/detail/fwd.hpp
+#usr/include/boost/test/tools/detail/indirections.hpp
+#usr/include/boost/test/tools/detail/it_pair.hpp
+#usr/include/boost/test/tools/detail/lexicographic_manip.hpp
+#usr/include/boost/test/tools/detail/per_element_manip.hpp
+#usr/include/boost/test/tools/detail/print_helper.hpp
+#usr/include/boost/test/tools/detail/tolerance_manip.hpp
+#usr/include/boost/test/tools/floating_point_comparison.hpp
+#usr/include/boost/test/tools/fpc_op.hpp
+#usr/include/boost/test/tools/fpc_tolerance.hpp
+#usr/include/boost/test/tools/interface.hpp
+#usr/include/boost/test/tools/old
+#usr/include/boost/test/tools/old/impl.hpp
+#usr/include/boost/test/tools/old/interface.hpp
+#usr/include/boost/test/tools/output_test_stream.hpp
+#usr/include/boost/test/tree
+#usr/include/boost/test/tree/auto_registration.hpp
+#usr/include/boost/test/tree/decorator.hpp
+#usr/include/boost/test/tree/fixture.hpp
+#usr/include/boost/test/tree/global_fixture.hpp
+#usr/include/boost/test/tree/observer.hpp
+#usr/include/boost/test/tree/test_case_counter.hpp
+#usr/include/boost/test/tree/test_case_template.hpp
+#usr/include/boost/test/tree/test_unit.hpp
+#usr/include/boost/test/tree/traverse.hpp
+#usr/include/boost/test/tree/visitor.hpp
 #usr/include/boost/test/unit_test.hpp
 #usr/include/boost/test/unit_test_log.hpp
 #usr/include/boost/test/unit_test_log_formatter.hpp
 #usr/include/boost/test/unit_test_monitor.hpp
+#usr/include/boost/test/unit_test_parameters.hpp
 #usr/include/boost/test/unit_test_suite.hpp
-#usr/include/boost/test/unit_test_suite_impl.hpp
 #usr/include/boost/test/utils
 #usr/include/boost/test/utils/algorithm.hpp
 #usr/include/boost/test/utils/assign_op.hpp
 #usr/include/boost/test/utils/basic_cstring/bcs_char_traits.hpp
 #usr/include/boost/test/utils/basic_cstring/compare.hpp
 #usr/include/boost/test/utils/basic_cstring/io.hpp
-#usr/include/boost/test/utils/callback.hpp
 #usr/include/boost/test/utils/class_properties.hpp
 #usr/include/boost/test/utils/custom_manip.hpp
-#usr/include/boost/test/utils/fixed_mapping.hpp
 #usr/include/boost/test/utils/foreach.hpp
+#usr/include/boost/test/utils/is_cstring.hpp
+#usr/include/boost/test/utils/is_forward_iterable.hpp
 #usr/include/boost/test/utils/iterator
-#usr/include/boost/test/utils/iterator/ifstream_line_iterator.hpp
 #usr/include/boost/test/utils/iterator/input_iterator_facade.hpp
-#usr/include/boost/test/utils/iterator/istream_line_iterator.hpp
 #usr/include/boost/test/utils/iterator/token_iterator.hpp
 #usr/include/boost/test/utils/lazy_ostream.hpp
 #usr/include/boost/test/utils/named_params.hpp
 #usr/include/boost/test/utils/rtti.hpp
 #usr/include/boost/test/utils/runtime
 #usr/include/boost/test/utils/runtime/argument.hpp
+#usr/include/boost/test/utils/runtime/argument_factory.hpp
 #usr/include/boost/test/utils/runtime/cla
-#usr/include/boost/test/utils/runtime/cla/argument_factory.hpp
 #usr/include/boost/test/utils/runtime/cla/argv_traverser.hpp
-#usr/include/boost/test/utils/runtime/cla/argv_traverser.ipp
-#usr/include/boost/test/utils/runtime/cla/basic_parameter.hpp
-#usr/include/boost/test/utils/runtime/cla/char_parameter.hpp
-#usr/include/boost/test/utils/runtime/cla/char_parameter.ipp
-#usr/include/boost/test/utils/runtime/cla/detail
-#usr/include/boost/test/utils/runtime/cla/detail/argument_value_usage.hpp
-#usr/include/boost/test/utils/runtime/cla/dual_name_parameter.hpp
-#usr/include/boost/test/utils/runtime/cla/dual_name_parameter.ipp
-#usr/include/boost/test/utils/runtime/cla/fwd.hpp
-#usr/include/boost/test/utils/runtime/cla/id_policy.hpp
-#usr/include/boost/test/utils/runtime/cla/id_policy.ipp
-#usr/include/boost/test/utils/runtime/cla/iface
-#usr/include/boost/test/utils/runtime/cla/iface/argument_factory.hpp
-#usr/include/boost/test/utils/runtime/cla/iface/id_policy.hpp
-#usr/include/boost/test/utils/runtime/cla/modifier.hpp
-#usr/include/boost/test/utils/runtime/cla/named_parameter.hpp
-#usr/include/boost/test/utils/runtime/cla/named_parameter.ipp
-#usr/include/boost/test/utils/runtime/cla/parameter.hpp
 #usr/include/boost/test/utils/runtime/cla/parser.hpp
-#usr/include/boost/test/utils/runtime/cla/parser.ipp
-#usr/include/boost/test/utils/runtime/cla/positional_parameter.hpp
-#usr/include/boost/test/utils/runtime/cla/typed_parameter.hpp
-#usr/include/boost/test/utils/runtime/cla/validation.hpp
-#usr/include/boost/test/utils/runtime/cla/validation.ipp
-#usr/include/boost/test/utils/runtime/cla/value_generator.hpp
-#usr/include/boost/test/utils/runtime/cla/value_handler.hpp
-#usr/include/boost/test/utils/runtime/config.hpp
-#usr/include/boost/test/utils/runtime/configuration.hpp
 #usr/include/boost/test/utils/runtime/env
-#usr/include/boost/test/utils/runtime/env/environment.hpp
-#usr/include/boost/test/utils/runtime/env/environment.ipp
-#usr/include/boost/test/utils/runtime/env/fwd.hpp
-#usr/include/boost/test/utils/runtime/env/modifier.hpp
-#usr/include/boost/test/utils/runtime/env/variable.hpp
-#usr/include/boost/test/utils/runtime/file
-#usr/include/boost/test/utils/runtime/file/config_file.hpp
-#usr/include/boost/test/utils/runtime/file/config_file_iterator.hpp
+#usr/include/boost/test/utils/runtime/env/fetch.hpp
+#usr/include/boost/test/utils/runtime/errors.hpp
+#usr/include/boost/test/utils/runtime/finalize.hpp
 #usr/include/boost/test/utils/runtime/fwd.hpp
-#usr/include/boost/test/utils/runtime/interpret_argument_value.hpp
+#usr/include/boost/test/utils/runtime/modifier.hpp
 #usr/include/boost/test/utils/runtime/parameter.hpp
-#usr/include/boost/test/utils/runtime/trace.hpp
-#usr/include/boost/test/utils/runtime/validation.hpp
+#usr/include/boost/test/utils/setcolor.hpp
+#usr/include/boost/test/utils/string_cast.hpp
 #usr/include/boost/test/utils/trivial_singleton.hpp
 #usr/include/boost/test/utils/wrap_stringstream.hpp
 #usr/include/boost/test/utils/xml_printer.hpp
 #usr/include/boost/thread
 #usr/include/boost/thread.hpp
 #usr/include/boost/thread/barrier.hpp
+#usr/include/boost/thread/caller_context.hpp
 #usr/include/boost/thread/completion_latch.hpp
+#usr/include/boost/thread/concurrent_queues
+#usr/include/boost/thread/concurrent_queues/deque_adaptor.hpp
+#usr/include/boost/thread/concurrent_queues/deque_base.hpp
+#usr/include/boost/thread/concurrent_queues/deque_views.hpp
+#usr/include/boost/thread/concurrent_queues/detail
+#usr/include/boost/thread/concurrent_queues/detail/sync_deque_base.hpp
+#usr/include/boost/thread/concurrent_queues/detail/sync_queue_base.hpp
+#usr/include/boost/thread/concurrent_queues/queue_adaptor.hpp
+#usr/include/boost/thread/concurrent_queues/queue_base.hpp
+#usr/include/boost/thread/concurrent_queues/queue_op_status.hpp
+#usr/include/boost/thread/concurrent_queues/queue_views.hpp
+#usr/include/boost/thread/concurrent_queues/sync_bounded_queue.hpp
+#usr/include/boost/thread/concurrent_queues/sync_deque.hpp
+#usr/include/boost/thread/concurrent_queues/sync_priority_queue.hpp
+#usr/include/boost/thread/concurrent_queues/sync_queue.hpp
+#usr/include/boost/thread/concurrent_queues/sync_timed_queue.hpp
 #usr/include/boost/thread/condition.hpp
 #usr/include/boost/thread/condition_variable.hpp
+#usr/include/boost/thread/csbl
+#usr/include/boost/thread/csbl/deque.hpp
+#usr/include/boost/thread/csbl/devector.hpp
+#usr/include/boost/thread/csbl/functional.hpp
+#usr/include/boost/thread/csbl/list.hpp
+#usr/include/boost/thread/csbl/memory
+#usr/include/boost/thread/csbl/memory.hpp
+#usr/include/boost/thread/csbl/memory/allocator_arg.hpp
+#usr/include/boost/thread/csbl/memory/allocator_traits.hpp
+#usr/include/boost/thread/csbl/memory/config.hpp
+#usr/include/boost/thread/csbl/memory/default_delete.hpp
+#usr/include/boost/thread/csbl/memory/pointer_traits.hpp
+#usr/include/boost/thread/csbl/memory/scoped_allocator.hpp
+#usr/include/boost/thread/csbl/memory/shared_ptr.hpp
+#usr/include/boost/thread/csbl/memory/unique_ptr.hpp
+#usr/include/boost/thread/csbl/queue.hpp
+#usr/include/boost/thread/csbl/tuple.hpp
+#usr/include/boost/thread/csbl/vector.hpp
 #usr/include/boost/thread/cv_status.hpp
 #usr/include/boost/thread/detail
-#usr/include/boost/thread/detail/async_func.hpp
 #usr/include/boost/thread/detail/config.hpp
 #usr/include/boost/thread/detail/counter.hpp
 #usr/include/boost/thread/detail/delete.hpp
 #usr/include/boost/thread/detail/force_cast.hpp
+#usr/include/boost/thread/detail/function_wrapper.hpp
 #usr/include/boost/thread/detail/invoke.hpp
+#usr/include/boost/thread/detail/invoker.hpp
 #usr/include/boost/thread/detail/is_convertible.hpp
 #usr/include/boost/thread/detail/lockable_wrapper.hpp
 #usr/include/boost/thread/detail/log.hpp
 #usr/include/boost/thread/detail/make_tuple_indices.hpp
 #usr/include/boost/thread/detail/memory.hpp
 #usr/include/boost/thread/detail/move.hpp
+#usr/include/boost/thread/detail/nullary_function.hpp
 #usr/include/boost/thread/detail/platform.hpp
 #usr/include/boost/thread/detail/singleton.hpp
 #usr/include/boost/thread/detail/thread.hpp
 #usr/include/boost/thread/detail/thread_heap_alloc.hpp
 #usr/include/boost/thread/detail/thread_interruption.hpp
 #usr/include/boost/thread/detail/tss_hooks.hpp
+#usr/include/boost/thread/detail/variadic_footer.hpp
+#usr/include/boost/thread/detail/variadic_header.hpp
+#usr/include/boost/thread/exceptional_ptr.hpp
 #usr/include/boost/thread/exceptions.hpp
+#usr/include/boost/thread/executor.hpp
+#usr/include/boost/thread/executors
+#usr/include/boost/thread/executors/basic_thread_pool.hpp
+#usr/include/boost/thread/executors/detail
+#usr/include/boost/thread/executors/detail/priority_executor_base.hpp
+#usr/include/boost/thread/executors/detail/scheduled_executor_base.hpp
+#usr/include/boost/thread/executors/executor.hpp
+#usr/include/boost/thread/executors/executor_adaptor.hpp
+#usr/include/boost/thread/executors/generic_executor_ref.hpp
+#usr/include/boost/thread/executors/inline_executor.hpp
+#usr/include/boost/thread/executors/loop_executor.hpp
+#usr/include/boost/thread/executors/scheduled_thread_pool.hpp
+#usr/include/boost/thread/executors/scheduler.hpp
+#usr/include/boost/thread/executors/scheduling_adaptor.hpp
+#usr/include/boost/thread/executors/serial_executor.hpp
+#usr/include/boost/thread/executors/serial_executor_cont.hpp
+#usr/include/boost/thread/executors/thread_executor.hpp
+#usr/include/boost/thread/executors/work.hpp
+#usr/include/boost/thread/experimental
+#usr/include/boost/thread/experimental/config
+#usr/include/boost/thread/experimental/config/inline_namespace.hpp
+#usr/include/boost/thread/experimental/exception_list.hpp
+#usr/include/boost/thread/experimental/parallel
+#usr/include/boost/thread/experimental/parallel/v1
+#usr/include/boost/thread/experimental/parallel/v1/exception_list.hpp
+#usr/include/boost/thread/experimental/parallel/v1/inline_namespace.hpp
+#usr/include/boost/thread/experimental/parallel/v2
+#usr/include/boost/thread/experimental/parallel/v2/inline_namespace.hpp
+#usr/include/boost/thread/experimental/parallel/v2/task_region.hpp
+#usr/include/boost/thread/experimental/task_region.hpp
 #usr/include/boost/thread/externally_locked.hpp
 #usr/include/boost/thread/externally_locked_stream.hpp
 #usr/include/boost/thread/future.hpp
-#usr/include/boost/thread/future_error_code.hpp
+#usr/include/boost/thread/futures
+#usr/include/boost/thread/futures/future_error.hpp
+#usr/include/boost/thread/futures/future_error_code.hpp
+#usr/include/boost/thread/futures/future_status.hpp
+#usr/include/boost/thread/futures/is_future_type.hpp
+#usr/include/boost/thread/futures/launch.hpp
+#usr/include/boost/thread/futures/wait_for_all.hpp
+#usr/include/boost/thread/futures/wait_for_any.hpp
 #usr/include/boost/thread/is_locked_by_this_thread.hpp
 #usr/include/boost/thread/latch.hpp
 #usr/include/boost/thread/lock_algorithms.hpp
 #usr/include/boost/thread/mutex.hpp
 #usr/include/boost/thread/null_mutex.hpp
 #usr/include/boost/thread/once.hpp
+#usr/include/boost/thread/ostream_buffer.hpp
 #usr/include/boost/thread/poly_lockable.hpp
 #usr/include/boost/thread/poly_lockable_adapter.hpp
 #usr/include/boost/thread/poly_shared_lockable.hpp
 #usr/include/boost/thread/thread_functors.hpp
 #usr/include/boost/thread/thread_guard.hpp
 #usr/include/boost/thread/thread_only.hpp
+#usr/include/boost/thread/thread_pool.hpp
 #usr/include/boost/thread/thread_time.hpp
 #usr/include/boost/thread/tss.hpp
+#usr/include/boost/thread/user_scheduler.hpp
 #usr/include/boost/thread/v2
 #usr/include/boost/thread/v2/shared_mutex.hpp
 #usr/include/boost/thread/v2/thread.hpp
 #usr/include/boost/thread/win32/thread_data.hpp
 #usr/include/boost/thread/win32/thread_heap_alloc.hpp
 #usr/include/boost/thread/win32/thread_primitives.hpp
+#usr/include/boost/thread/with_lock_guard.hpp
 #usr/include/boost/thread/xtime.hpp
 #usr/include/boost/throw_exception.hpp
 #usr/include/boost/timer
 #usr/include/boost/tti
 #usr/include/boost/tti/detail
 #usr/include/boost/tti/detail/dcomp_mem_fun.hpp
-#usr/include/boost/tti/detail/dcomp_static_mem_fun.hpp
 #usr/include/boost/tti/detail/ddata.hpp
 #usr/include/boost/tti/detail/ddeftype.hpp
 #usr/include/boost/tti/detail/dftclass.hpp
 #usr/include/boost/tuple
 #usr/include/boost/tuple/detail
 #usr/include/boost/tuple/detail/tuple_basic.hpp
-#usr/include/boost/tuple/detail/tuple_basic_no_partial_spec.hpp
 #usr/include/boost/tuple/tuple.hpp
 #usr/include/boost/tuple/tuple_comparison.hpp
 #usr/include/boost/tuple/tuple_io.hpp
 #usr/include/boost/type_erasure/detail/access.hpp
 #usr/include/boost/type_erasure/detail/adapt_to_vtable.hpp
 #usr/include/boost/type_erasure/detail/any_base.hpp
+#usr/include/boost/type_erasure/detail/auto_link.hpp
 #usr/include/boost/type_erasure/detail/check_call.hpp
 #usr/include/boost/type_erasure/detail/check_map.hpp
 #usr/include/boost/type_erasure/detail/const.hpp
 #usr/include/boost/type_erasure/detail/construct.hpp
+#usr/include/boost/type_erasure/detail/dynamic_vtable.hpp
 #usr/include/boost/type_erasure/detail/extract_concept.hpp
 #usr/include/boost/type_erasure/detail/get_placeholders.hpp
 #usr/include/boost/type_erasure/detail/get_signature.hpp
 #usr/include/boost/type_erasure/detail/rebind_placeholders.hpp
 #usr/include/boost/type_erasure/detail/storage.hpp
 #usr/include/boost/type_erasure/detail/vtable.hpp
+#usr/include/boost/type_erasure/dynamic_any_cast.hpp
+#usr/include/boost/type_erasure/dynamic_binding.hpp
 #usr/include/boost/type_erasure/exception.hpp
 #usr/include/boost/type_erasure/free.hpp
 #usr/include/boost/type_erasure/is_empty.hpp
 #usr/include/boost/type_erasure/placeholder.hpp
 #usr/include/boost/type_erasure/placeholder_of.hpp
 #usr/include/boost/type_erasure/rebind_any.hpp
+#usr/include/boost/type_erasure/register_binding.hpp
 #usr/include/boost/type_erasure/relaxed.hpp
 #usr/include/boost/type_erasure/require_match.hpp
 #usr/include/boost/type_erasure/same_type.hpp
 #usr/include/boost/type_erasure/static_binding.hpp
 #usr/include/boost/type_erasure/tuple.hpp
 #usr/include/boost/type_erasure/typeid_of.hpp
+#usr/include/boost/type_index
+#usr/include/boost/type_index.hpp
+#usr/include/boost/type_index/ctti_type_index.hpp
+#usr/include/boost/type_index/detail
+#usr/include/boost/type_index/detail/compile_time_type_info.hpp
+#usr/include/boost/type_index/detail/ctti_register_class.hpp
+#usr/include/boost/type_index/detail/stl_register_class.hpp
+#usr/include/boost/type_index/runtime_cast
+#usr/include/boost/type_index/runtime_cast.hpp
+#usr/include/boost/type_index/runtime_cast/boost_shared_ptr_cast.hpp
+#usr/include/boost/type_index/runtime_cast/detail
+#usr/include/boost/type_index/runtime_cast/detail/runtime_cast_impl.hpp
+#usr/include/boost/type_index/runtime_cast/pointer_cast.hpp
+#usr/include/boost/type_index/runtime_cast/reference_cast.hpp
+#usr/include/boost/type_index/runtime_cast/register_runtime_class.hpp
+#usr/include/boost/type_index/runtime_cast/std_shared_ptr_cast.hpp
+#usr/include/boost/type_index/stl_type_index.hpp
+#usr/include/boost/type_index/type_index_facade.hpp
 #usr/include/boost/type_traits
 #usr/include/boost/type_traits.hpp
 #usr/include/boost/type_traits/add_const.hpp
 #usr/include/boost/type_traits/conditional.hpp
 #usr/include/boost/type_traits/config.hpp
 #usr/include/boost/type_traits/conversion_traits.hpp
+#usr/include/boost/type_traits/copy_cv.hpp
 #usr/include/boost/type_traits/cv_traits.hpp
 #usr/include/boost/type_traits/decay.hpp
+#usr/include/boost/type_traits/declval.hpp
 #usr/include/boost/type_traits/detail
 #usr/include/boost/type_traits/detail/bool_trait_def.hpp
 #usr/include/boost/type_traits/detail/bool_trait_undef.hpp
-#usr/include/boost/type_traits/detail/common_type_imp.hpp
-#usr/include/boost/type_traits/detail/cv_traits_impl.hpp
-#usr/include/boost/type_traits/detail/false_result.hpp
+#usr/include/boost/type_traits/detail/common_arithmetic_type.hpp
+#usr/include/boost/type_traits/detail/common_type_impl.hpp
+#usr/include/boost/type_traits/detail/composite_member_pointer_type.hpp
+#usr/include/boost/type_traits/detail/composite_pointer_type.hpp
+#usr/include/boost/type_traits/detail/config.hpp
 #usr/include/boost/type_traits/detail/has_binary_operator.hpp
 #usr/include/boost/type_traits/detail/has_postfix_operator.hpp
 #usr/include/boost/type_traits/detail/has_prefix_operator.hpp
 #usr/include/boost/type_traits/detail/is_function_ptr_tester.hpp
 #usr/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp
 #usr/include/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp
-#usr/include/boost/type_traits/detail/size_t_trait_def.hpp
-#usr/include/boost/type_traits/detail/size_t_trait_undef.hpp
+#usr/include/boost/type_traits/detail/mp_defer.hpp
 #usr/include/boost/type_traits/detail/template_arity_spec.hpp
-#usr/include/boost/type_traits/detail/type_trait_def.hpp
-#usr/include/boost/type_traits/detail/type_trait_undef.hpp
-#usr/include/boost/type_traits/detail/wrap.hpp
 #usr/include/boost/type_traits/detail/yes_no_type.hpp
 #usr/include/boost/type_traits/extent.hpp
 #usr/include/boost/type_traits/floating_point_promotion.hpp
 #usr/include/boost/type_traits/is_abstract.hpp
 #usr/include/boost/type_traits/is_arithmetic.hpp
 #usr/include/boost/type_traits/is_array.hpp
+#usr/include/boost/type_traits/is_assignable.hpp
 #usr/include/boost/type_traits/is_base_and_derived.hpp
 #usr/include/boost/type_traits/is_base_of.hpp
 #usr/include/boost/type_traits/is_base_of_tr1.hpp
 #usr/include/boost/type_traits/is_complex.hpp
 #usr/include/boost/type_traits/is_compound.hpp
 #usr/include/boost/type_traits/is_const.hpp
+#usr/include/boost/type_traits/is_constructible.hpp
 #usr/include/boost/type_traits/is_convertible.hpp
+#usr/include/boost/type_traits/is_copy_assignable.hpp
 #usr/include/boost/type_traits/is_copy_constructible.hpp
+#usr/include/boost/type_traits/is_default_constructible.hpp
+#usr/include/boost/type_traits/is_destructible.hpp
 #usr/include/boost/type_traits/is_empty.hpp
 #usr/include/boost/type_traits/is_enum.hpp
+#usr/include/boost/type_traits/is_final.hpp
 #usr/include/boost/type_traits/is_float.hpp
 #usr/include/boost/type_traits/is_floating_point.hpp
 #usr/include/boost/type_traits/is_function.hpp
 #usr/include/boost/type_traits/is_volatile.hpp
 #usr/include/boost/type_traits/make_signed.hpp
 #usr/include/boost/type_traits/make_unsigned.hpp
-#usr/include/boost/type_traits/msvc
-#usr/include/boost/type_traits/msvc/remove_all_extents.hpp
-#usr/include/boost/type_traits/msvc/remove_bounds.hpp
-#usr/include/boost/type_traits/msvc/remove_const.hpp
-#usr/include/boost/type_traits/msvc/remove_cv.hpp
-#usr/include/boost/type_traits/msvc/remove_extent.hpp
-#usr/include/boost/type_traits/msvc/remove_pointer.hpp
-#usr/include/boost/type_traits/msvc/remove_reference.hpp
-#usr/include/boost/type_traits/msvc/remove_volatile.hpp
-#usr/include/boost/type_traits/msvc/typeof.hpp
+#usr/include/boost/type_traits/make_void.hpp
 #usr/include/boost/type_traits/object_traits.hpp
 #usr/include/boost/type_traits/promote.hpp
 #usr/include/boost/type_traits/rank.hpp
 #usr/include/boost/type_traits/remove_volatile.hpp
 #usr/include/boost/type_traits/same_traits.hpp
 #usr/include/boost/type_traits/transform_traits.hpp
-#usr/include/boost/type_traits/transform_traits_spec.hpp
+#usr/include/boost/type_traits/type_identity.hpp
 #usr/include/boost/type_traits/type_with_alignment.hpp
 #usr/include/boost/typeof
 #usr/include/boost/typeof/dmc
 #usr/include/boost/units/base_units/imperial/thou.hpp
 #usr/include/boost/units/base_units/imperial/ton.hpp
 #usr/include/boost/units/base_units/imperial/yard.hpp
+#usr/include/boost/units/base_units/information
+#usr/include/boost/units/base_units/information/bit.hpp
+#usr/include/boost/units/base_units/information/byte.hpp
+#usr/include/boost/units/base_units/information/hartley.hpp
+#usr/include/boost/units/base_units/information/nat.hpp
+#usr/include/boost/units/base_units/information/shannon.hpp
 #usr/include/boost/units/base_units/metric
 #usr/include/boost/units/base_units/metric/angstrom.hpp
 #usr/include/boost/units/base_units/metric/are.hpp
 #usr/include/boost/units/physical_dimensions/illuminance.hpp
 #usr/include/boost/units/physical_dimensions/impedance.hpp
 #usr/include/boost/units/physical_dimensions/inductance.hpp
+#usr/include/boost/units/physical_dimensions/information.hpp
 #usr/include/boost/units/physical_dimensions/kinematic_viscosity.hpp
 #usr/include/boost/units/physical_dimensions/length.hpp
 #usr/include/boost/units/physical_dimensions/luminance.hpp
 #usr/include/boost/units/systems/cgs/wavenumber.hpp
 #usr/include/boost/units/systems/detail
 #usr/include/boost/units/systems/detail/constants.hpp
+#usr/include/boost/units/systems/information
+#usr/include/boost/units/systems/information.hpp
+#usr/include/boost/units/systems/information/bit.hpp
+#usr/include/boost/units/systems/information/byte.hpp
+#usr/include/boost/units/systems/information/hartley.hpp
+#usr/include/boost/units/systems/information/nat.hpp
+#usr/include/boost/units/systems/information/prefixes.hpp
+#usr/include/boost/units/systems/information/shannon.hpp
 #usr/include/boost/units/systems/si
 #usr/include/boost/units/systems/si.hpp
 #usr/include/boost/units/systems/si/absorbed_dose.hpp
 #usr/include/boost/units/units_fwd.hpp
 #usr/include/boost/unordered
 #usr/include/boost/unordered/detail
-#usr/include/boost/unordered/detail/allocate.hpp
-#usr/include/boost/unordered/detail/buckets.hpp
-#usr/include/boost/unordered/detail/equivalent.hpp
-#usr/include/boost/unordered/detail/extract_key.hpp
 #usr/include/boost/unordered/detail/fwd.hpp
-#usr/include/boost/unordered/detail/table.hpp
-#usr/include/boost/unordered/detail/unique.hpp
-#usr/include/boost/unordered/detail/util.hpp
+#usr/include/boost/unordered/detail/implementation.hpp
+#usr/include/boost/unordered/detail/map.hpp
+#usr/include/boost/unordered/detail/set.hpp
 #usr/include/boost/unordered/unordered_map.hpp
 #usr/include/boost/unordered/unordered_map_fwd.hpp
 #usr/include/boost/unordered/unordered_set.hpp
 #usr/include/boost/utility/result_of.hpp
 #usr/include/boost/utility/string_ref.hpp
 #usr/include/boost/utility/string_ref_fwd.hpp
+#usr/include/boost/utility/string_view.hpp
+#usr/include/boost/utility/string_view_fwd.hpp
 #usr/include/boost/utility/swap.hpp
 #usr/include/boost/utility/typed_in_place_factory.hpp
 #usr/include/boost/utility/value_init.hpp
 #usr/include/boost/uuid
+#usr/include/boost/uuid/detail
+#usr/include/boost/uuid/detail/config.hpp
+#usr/include/boost/uuid/detail/uuid_generic.hpp
+#usr/include/boost/uuid/detail/uuid_x86.hpp
 #usr/include/boost/uuid/name_generator.hpp
 #usr/include/boost/uuid/nil_generator.hpp
 #usr/include/boost/uuid/random_generator.hpp
 #usr/include/boost/variant/detail/apply_visitor_delayed.hpp
 #usr/include/boost/variant/detail/apply_visitor_unary.hpp
 #usr/include/boost/variant/detail/backup_holder.hpp
-#usr/include/boost/variant/detail/bool_trait_def.hpp
-#usr/include/boost/variant/detail/bool_trait_undef.hpp
 #usr/include/boost/variant/detail/cast_storage.hpp
 #usr/include/boost/variant/detail/config.hpp
+#usr/include/boost/variant/detail/element_index.hpp
 #usr/include/boost/variant/detail/enable_recursive.hpp
 #usr/include/boost/variant/detail/enable_recursive_fwd.hpp
 #usr/include/boost/variant/detail/forced_return.hpp
 #usr/include/boost/variant/detail/generic_result_type.hpp
+#usr/include/boost/variant/detail/has_result_type.hpp
 #usr/include/boost/variant/detail/hash_variant.hpp
 #usr/include/boost/variant/detail/initializer.hpp
 #usr/include/boost/variant/detail/make_variant_list.hpp
 #usr/include/boost/variant/detail/move.hpp
+#usr/include/boost/variant/detail/multivisitors_cpp11_based.hpp
+#usr/include/boost/variant/detail/multivisitors_cpp14_based.hpp
+#usr/include/boost/variant/detail/multivisitors_preprocessor_based.hpp
 #usr/include/boost/variant/detail/over_sequence.hpp
 #usr/include/boost/variant/detail/substitute.hpp
 #usr/include/boost/variant/detail/substitute_fwd.hpp
 #usr/include/boost/variant/detail/visitation_impl.hpp
 #usr/include/boost/variant/get.hpp
 #usr/include/boost/variant/multivisitors.hpp
+#usr/include/boost/variant/polymorphic_get.hpp
 #usr/include/boost/variant/recursive_variant.hpp
 #usr/include/boost/variant/recursive_wrapper.hpp
 #usr/include/boost/variant/recursive_wrapper_fwd.hpp
 #usr/include/boost/variant/visitor_ptr.hpp
 #usr/include/boost/version.hpp
 #usr/include/boost/visit_each.hpp
+#usr/include/boost/vmd
+#usr/include/boost/vmd/array
+#usr/include/boost/vmd/array.hpp
+#usr/include/boost/vmd/array/to_seq.hpp
+#usr/include/boost/vmd/array/to_tuple.hpp
+#usr/include/boost/vmd/assert.hpp
+#usr/include/boost/vmd/assert_is_array.hpp
+#usr/include/boost/vmd/assert_is_empty.hpp
+#usr/include/boost/vmd/assert_is_identifier.hpp
+#usr/include/boost/vmd/assert_is_list.hpp
+#usr/include/boost/vmd/assert_is_number.hpp
+#usr/include/boost/vmd/assert_is_seq.hpp
+#usr/include/boost/vmd/assert_is_tuple.hpp
+#usr/include/boost/vmd/assert_is_type.hpp
+#usr/include/boost/vmd/detail
+#usr/include/boost/vmd/detail/adjust_tuple_type.hpp
+#usr/include/boost/vmd/detail/array.hpp
+#usr/include/boost/vmd/detail/assert.hpp
+#usr/include/boost/vmd/detail/data_equal.hpp
+#usr/include/boost/vmd/detail/data_equal_common.hpp
+#usr/include/boost/vmd/detail/empty_result.hpp
+#usr/include/boost/vmd/detail/equal.hpp
+#usr/include/boost/vmd/detail/equal_common.hpp
+#usr/include/boost/vmd/detail/equal_type.hpp
+#usr/include/boost/vmd/detail/identifier.hpp
+#usr/include/boost/vmd/detail/identifier_concat.hpp
+#usr/include/boost/vmd/detail/identifier_type.hpp
+#usr/include/boost/vmd/detail/idprefix.hpp
+#usr/include/boost/vmd/detail/is_array.hpp
+#usr/include/boost/vmd/detail/is_array_common.hpp
+#usr/include/boost/vmd/detail/is_empty.hpp
+#usr/include/boost/vmd/detail/is_empty_array.hpp
+#usr/include/boost/vmd/detail/is_empty_tuple.hpp
+#usr/include/boost/vmd/detail/is_entire.hpp
+#usr/include/boost/vmd/detail/is_identifier.hpp
+#usr/include/boost/vmd/detail/is_list.hpp
+#usr/include/boost/vmd/detail/is_number.hpp
+#usr/include/boost/vmd/detail/is_seq.hpp
+#usr/include/boost/vmd/detail/is_tuple.hpp
+#usr/include/boost/vmd/detail/is_type.hpp
+#usr/include/boost/vmd/detail/is_type_type.hpp
+#usr/include/boost/vmd/detail/list.hpp
+#usr/include/boost/vmd/detail/match_identifier.hpp
+#usr/include/boost/vmd/detail/match_identifier_common.hpp
+#usr/include/boost/vmd/detail/match_single_identifier.hpp
+#usr/include/boost/vmd/detail/modifiers.hpp
+#usr/include/boost/vmd/detail/mods.hpp
+#usr/include/boost/vmd/detail/nil_registration.hpp
+#usr/include/boost/vmd/detail/not_empty.hpp
+#usr/include/boost/vmd/detail/number_registration.hpp
+#usr/include/boost/vmd/detail/only_after.hpp
+#usr/include/boost/vmd/detail/parens.hpp
+#usr/include/boost/vmd/detail/parens_common.hpp
+#usr/include/boost/vmd/detail/parens_split.hpp
+#usr/include/boost/vmd/detail/recurse
+#usr/include/boost/vmd/detail/recurse/data_equal
+#usr/include/boost/vmd/detail/recurse/data_equal/data_equal_1.hpp
+#usr/include/boost/vmd/detail/recurse/data_equal/data_equal_10.hpp
+#usr/include/boost/vmd/detail/recurse/data_equal/data_equal_11.hpp
+#usr/include/boost/vmd/detail/recurse/data_equal/data_equal_12.hpp
+#usr/include/boost/vmd/detail/recurse/data_equal/data_equal_13.hpp
+#usr/include/boost/vmd/detail/recurse/data_equal/data_equal_14.hpp
+#usr/include/boost/vmd/detail/recurse/data_equal/data_equal_15.hpp
+#usr/include/boost/vmd/detail/recurse/data_equal/data_equal_16.hpp
+#usr/include/boost/vmd/detail/recurse/data_equal/data_equal_2.hpp
+#usr/include/boost/vmd/detail/recurse/data_equal/data_equal_3.hpp
+#usr/include/boost/vmd/detail/recurse/data_equal/data_equal_4.hpp
+#usr/include/boost/vmd/detail/recurse/data_equal/data_equal_5.hpp
+#usr/include/boost/vmd/detail/recurse/data_equal/data_equal_6.hpp
+#usr/include/boost/vmd/detail/recurse/data_equal/data_equal_7.hpp
+#usr/include/boost/vmd/detail/recurse/data_equal/data_equal_8.hpp
+#usr/include/boost/vmd/detail/recurse/data_equal/data_equal_9.hpp
+#usr/include/boost/vmd/detail/recurse/data_equal/data_equal_headers.hpp
+#usr/include/boost/vmd/detail/recurse/data_equal/data_equal_specific.hpp
+#usr/include/boost/vmd/detail/recurse/equal
+#usr/include/boost/vmd/detail/recurse/equal/equal_1.hpp
+#usr/include/boost/vmd/detail/recurse/equal/equal_10.hpp
+#usr/include/boost/vmd/detail/recurse/equal/equal_11.hpp
+#usr/include/boost/vmd/detail/recurse/equal/equal_12.hpp
+#usr/include/boost/vmd/detail/recurse/equal/equal_13.hpp
+#usr/include/boost/vmd/detail/recurse/equal/equal_14.hpp
+#usr/include/boost/vmd/detail/recurse/equal/equal_15.hpp
+#usr/include/boost/vmd/detail/recurse/equal/equal_16.hpp
+#usr/include/boost/vmd/detail/recurse/equal/equal_2.hpp
+#usr/include/boost/vmd/detail/recurse/equal/equal_3.hpp
+#usr/include/boost/vmd/detail/recurse/equal/equal_4.hpp
+#usr/include/boost/vmd/detail/recurse/equal/equal_5.hpp
+#usr/include/boost/vmd/detail/recurse/equal/equal_6.hpp
+#usr/include/boost/vmd/detail/recurse/equal/equal_7.hpp
+#usr/include/boost/vmd/detail/recurse/equal/equal_8.hpp
+#usr/include/boost/vmd/detail/recurse/equal/equal_9.hpp
+#usr/include/boost/vmd/detail/recurse/equal/equal_headers.hpp
+#usr/include/boost/vmd/detail/seq.hpp
+#usr/include/boost/vmd/detail/sequence_arity.hpp
+#usr/include/boost/vmd/detail/sequence_common.hpp
+#usr/include/boost/vmd/detail/sequence_elem.hpp
+#usr/include/boost/vmd/detail/sequence_enum.hpp
+#usr/include/boost/vmd/detail/sequence_size.hpp
+#usr/include/boost/vmd/detail/sequence_to_array.hpp
+#usr/include/boost/vmd/detail/sequence_to_list.hpp
+#usr/include/boost/vmd/detail/sequence_to_seq.hpp
+#usr/include/boost/vmd/detail/sequence_to_tuple.hpp
+#usr/include/boost/vmd/detail/sequence_type.hpp
+#usr/include/boost/vmd/detail/setup.hpp
+#usr/include/boost/vmd/detail/tuple.hpp
+#usr/include/boost/vmd/detail/type_registration.hpp
+#usr/include/boost/vmd/detail/variadic_pop_front.hpp
+#usr/include/boost/vmd/elem.hpp
+#usr/include/boost/vmd/empty.hpp
+#usr/include/boost/vmd/enum.hpp
+#usr/include/boost/vmd/equal.hpp
+#usr/include/boost/vmd/get_type.hpp
+#usr/include/boost/vmd/identity.hpp
+#usr/include/boost/vmd/is_array.hpp
+#usr/include/boost/vmd/is_empty.hpp
+#usr/include/boost/vmd/is_empty_array.hpp
+#usr/include/boost/vmd/is_empty_list.hpp
+#usr/include/boost/vmd/is_identifier.hpp
+#usr/include/boost/vmd/is_list.hpp
+#usr/include/boost/vmd/is_multi.hpp
+#usr/include/boost/vmd/is_number.hpp
+#usr/include/boost/vmd/is_parens_empty.hpp
+#usr/include/boost/vmd/is_seq.hpp
+#usr/include/boost/vmd/is_tuple.hpp
+#usr/include/boost/vmd/is_type.hpp
+#usr/include/boost/vmd/is_unary.hpp
+#usr/include/boost/vmd/list
+#usr/include/boost/vmd/list.hpp
+#usr/include/boost/vmd/list/to_seq.hpp
+#usr/include/boost/vmd/list/to_tuple.hpp
+#usr/include/boost/vmd/not_equal.hpp
+#usr/include/boost/vmd/seq
+#usr/include/boost/vmd/seq.hpp
+#usr/include/boost/vmd/seq/is_vmd_seq.hpp
+#usr/include/boost/vmd/seq/pop_back.hpp
+#usr/include/boost/vmd/seq/pop_front.hpp
+#usr/include/boost/vmd/seq/push_back.hpp
+#usr/include/boost/vmd/seq/push_front.hpp
+#usr/include/boost/vmd/seq/remove.hpp
+#usr/include/boost/vmd/seq/size.hpp
+#usr/include/boost/vmd/seq/to_array.hpp
+#usr/include/boost/vmd/seq/to_list.hpp
+#usr/include/boost/vmd/seq/to_tuple.hpp
+#usr/include/boost/vmd/size.hpp
+#usr/include/boost/vmd/to_array.hpp
+#usr/include/boost/vmd/to_list.hpp
+#usr/include/boost/vmd/to_seq.hpp
+#usr/include/boost/vmd/to_tuple.hpp
+#usr/include/boost/vmd/tuple
+#usr/include/boost/vmd/tuple.hpp
+#usr/include/boost/vmd/tuple/is_vmd_tuple.hpp
+#usr/include/boost/vmd/tuple/pop_back.hpp
+#usr/include/boost/vmd/tuple/pop_front.hpp
+#usr/include/boost/vmd/tuple/push_back.hpp
+#usr/include/boost/vmd/tuple/push_front.hpp
+#usr/include/boost/vmd/tuple/remove.hpp
+#usr/include/boost/vmd/tuple/size.hpp
+#usr/include/boost/vmd/tuple/to_array.hpp
+#usr/include/boost/vmd/tuple/to_list.hpp
+#usr/include/boost/vmd/tuple/to_seq.hpp
+#usr/include/boost/vmd/vmd.hpp
 #usr/include/boost/wave
 #usr/include/boost/wave.hpp
 #usr/include/boost/wave/cpp_context.hpp
 #usr/include/boost/xpressive/xpressive_typeof.hpp
 #usr/lib/libboost_atomic-mt.a
 #usr/lib/libboost_atomic-mt.so
-usr/lib/libboost_atomic-mt.so.1.55.0
+usr/lib/libboost_atomic-mt.so.1.64.0
 #usr/lib/libboost_chrono-mt.a
 #usr/lib/libboost_chrono-mt.so
-usr/lib/libboost_chrono-mt.so.1.55.0
+usr/lib/libboost_chrono-mt.so.1.64.0
 #usr/lib/libboost_chrono.a
 #usr/lib/libboost_chrono.so
-usr/lib/libboost_chrono.so.1.55.0
+usr/lib/libboost_chrono.so.1.64.0
+#usr/lib/libboost_container-mt.a
+#usr/lib/libboost_container-mt.so
+usr/lib/libboost_container-mt.so.1.64.0
+#usr/lib/libboost_container.a
+#usr/lib/libboost_container.so
+usr/lib/libboost_container.so.1.64.0
 #usr/lib/libboost_context-mt.a
 #usr/lib/libboost_context-mt.so
-usr/lib/libboost_context-mt.so.1.55.0
-#usr/lib/libboost_context.a
-#usr/lib/libboost_context.so
-usr/lib/libboost_context.so.1.55.0
+usr/lib/libboost_context-mt.so.1.64.0
 #usr/lib/libboost_coroutine-mt.a
 #usr/lib/libboost_coroutine-mt.so
-usr/lib/libboost_coroutine-mt.so.1.55.0
+usr/lib/libboost_coroutine-mt.so.1.64.0
 #usr/lib/libboost_coroutine.a
 #usr/lib/libboost_coroutine.so
-usr/lib/libboost_coroutine.so.1.55.0
+usr/lib/libboost_coroutine.so.1.64.0
 #usr/lib/libboost_date_time-mt.a
 #usr/lib/libboost_date_time-mt.so
-usr/lib/libboost_date_time-mt.so.1.55.0
+usr/lib/libboost_date_time-mt.so.1.64.0
 #usr/lib/libboost_date_time.a
 #usr/lib/libboost_date_time.so
-usr/lib/libboost_date_time.so.1.55.0
+usr/lib/libboost_date_time.so.1.64.0
 #usr/lib/libboost_exception-mt.a
 #usr/lib/libboost_exception.a
+#usr/lib/libboost_fiber-mt.a
+#usr/lib/libboost_fiber-mt.so
+usr/lib/libboost_fiber-mt.so.1.64.0
 #usr/lib/libboost_filesystem-mt.a
 #usr/lib/libboost_filesystem-mt.so
-usr/lib/libboost_filesystem-mt.so.1.55.0
+usr/lib/libboost_filesystem-mt.so.1.64.0
 #usr/lib/libboost_filesystem.a
 #usr/lib/libboost_filesystem.so
-usr/lib/libboost_filesystem.so.1.55.0
+usr/lib/libboost_filesystem.so.1.64.0
 #usr/lib/libboost_graph-mt.a
 #usr/lib/libboost_graph-mt.so
-usr/lib/libboost_graph-mt.so.1.55.0
+usr/lib/libboost_graph-mt.so.1.64.0
 #usr/lib/libboost_graph.a
 #usr/lib/libboost_graph.so
-usr/lib/libboost_graph.so.1.55.0
+usr/lib/libboost_graph.so.1.64.0
 #usr/lib/libboost_iostreams-mt.a
 #usr/lib/libboost_iostreams-mt.so
-usr/lib/libboost_iostreams-mt.so.1.55.0
+usr/lib/libboost_iostreams-mt.so.1.64.0
 #usr/lib/libboost_iostreams.a
 #usr/lib/libboost_iostreams.so
-usr/lib/libboost_iostreams.so.1.55.0
+usr/lib/libboost_iostreams.so.1.64.0
 #usr/lib/libboost_locale-mt.a
 #usr/lib/libboost_locale-mt.so
-usr/lib/libboost_locale-mt.so.1.55.0
+usr/lib/libboost_locale-mt.so.1.64.0
 #usr/lib/libboost_log-mt.a
 #usr/lib/libboost_log-mt.so
-usr/lib/libboost_log-mt.so.1.55.0
+usr/lib/libboost_log-mt.so.1.64.0
 #usr/lib/libboost_log.a
 #usr/lib/libboost_log.so
-usr/lib/libboost_log.so.1.55.0
+usr/lib/libboost_log.so.1.64.0
 #usr/lib/libboost_log_setup-mt.a
 #usr/lib/libboost_log_setup-mt.so
-usr/lib/libboost_log_setup-mt.so.1.55.0
+usr/lib/libboost_log_setup-mt.so.1.64.0
 #usr/lib/libboost_log_setup.a
 #usr/lib/libboost_log_setup.so
-usr/lib/libboost_log_setup.so.1.55.0
+usr/lib/libboost_log_setup.so.1.64.0
 #usr/lib/libboost_math_c99-mt.a
 #usr/lib/libboost_math_c99-mt.so
-usr/lib/libboost_math_c99-mt.so.1.55.0
+usr/lib/libboost_math_c99-mt.so.1.64.0
 #usr/lib/libboost_math_c99.a
 #usr/lib/libboost_math_c99.so
-usr/lib/libboost_math_c99.so.1.55.0
+usr/lib/libboost_math_c99.so.1.64.0
 #usr/lib/libboost_math_c99f-mt.a
 #usr/lib/libboost_math_c99f-mt.so
-usr/lib/libboost_math_c99f-mt.so.1.55.0
+usr/lib/libboost_math_c99f-mt.so.1.64.0
 #usr/lib/libboost_math_c99f.a
 #usr/lib/libboost_math_c99f.so
-usr/lib/libboost_math_c99f.so.1.55.0
+usr/lib/libboost_math_c99f.so.1.64.0
 #usr/lib/libboost_math_c99l-mt.a
 #usr/lib/libboost_math_c99l-mt.so
-usr/lib/libboost_math_c99l-mt.so.1.55.0
+usr/lib/libboost_math_c99l-mt.so.1.64.0
 #usr/lib/libboost_math_c99l.a
 #usr/lib/libboost_math_c99l.so
-#usr/lib/libboost_math_c99l.so.1.55.0
+usr/lib/libboost_math_c99l.so.1.64.0
 #usr/lib/libboost_math_tr1-mt.a
 #usr/lib/libboost_math_tr1-mt.so
-usr/lib/libboost_math_tr1-mt.so.1.55.0
+usr/lib/libboost_math_tr1-mt.so.1.64.0
 #usr/lib/libboost_math_tr1.a
 #usr/lib/libboost_math_tr1.so
-usr/lib/libboost_math_tr1.so.1.55.0
+usr/lib/libboost_math_tr1.so.1.64.0
 #usr/lib/libboost_math_tr1f-mt.a
 #usr/lib/libboost_math_tr1f-mt.so
-usr/lib/libboost_math_tr1f-mt.so.1.55.0
+usr/lib/libboost_math_tr1f-mt.so.1.64.0
 #usr/lib/libboost_math_tr1f.a
 #usr/lib/libboost_math_tr1f.so
-usr/lib/libboost_math_tr1f.so.1.55.0
+usr/lib/libboost_math_tr1f.so.1.64.0
 #usr/lib/libboost_math_tr1l-mt.a
 #usr/lib/libboost_math_tr1l-mt.so
-usr/lib/libboost_math_tr1l-mt.so.1.55.0
+usr/lib/libboost_math_tr1l-mt.so.1.64.0
 #usr/lib/libboost_math_tr1l.a
 #usr/lib/libboost_math_tr1l.so
-usr/lib/libboost_math_tr1l.so.1.55.0
+usr/lib/libboost_math_tr1l.so.1.64.0
 #usr/lib/libboost_prg_exec_monitor-mt.a
 #usr/lib/libboost_prg_exec_monitor-mt.so
-usr/lib/libboost_prg_exec_monitor-mt.so.1.55.0
+usr/lib/libboost_prg_exec_monitor-mt.so.1.64.0
 #usr/lib/libboost_prg_exec_monitor.a
 #usr/lib/libboost_prg_exec_monitor.so
-usr/lib/libboost_prg_exec_monitor.so.1.55.0
+usr/lib/libboost_prg_exec_monitor.so.1.64.0
 #usr/lib/libboost_program_options-mt.a
 #usr/lib/libboost_program_options-mt.so
-usr/lib/libboost_program_options-mt.so.1.55.0
+usr/lib/libboost_program_options-mt.so.1.64.0
 #usr/lib/libboost_program_options.a
 #usr/lib/libboost_program_options.so
-usr/lib/libboost_program_options.so.1.55.0
+usr/lib/libboost_program_options.so.1.64.0
 #usr/lib/libboost_random-mt.a
 #usr/lib/libboost_random-mt.so
-usr/lib/libboost_random-mt.so.1.55.0
+usr/lib/libboost_random-mt.so.1.64.0
 #usr/lib/libboost_random.a
 #usr/lib/libboost_random.so
-usr/lib/libboost_random.so.1.55.0
+usr/lib/libboost_random.so.1.64.0
 #usr/lib/libboost_regex-mt.a
 #usr/lib/libboost_regex-mt.so
-usr/lib/libboost_regex-mt.so.1.55.0
+usr/lib/libboost_regex-mt.so.1.64.0
 #usr/lib/libboost_regex.a
 #usr/lib/libboost_regex.so
-usr/lib/libboost_regex.so.1.55.0
+usr/lib/libboost_regex.so.1.64.0
 #usr/lib/libboost_serialization-mt.a
 #usr/lib/libboost_serialization-mt.so
-usr/lib/libboost_serialization-mt.so.1.55.0
+usr/lib/libboost_serialization-mt.so.1.64.0
 #usr/lib/libboost_serialization.a
 #usr/lib/libboost_serialization.so
-usr/lib/libboost_serialization.so.1.55.0
+usr/lib/libboost_serialization.so.1.64.0
 #usr/lib/libboost_signals-mt.a
 #usr/lib/libboost_signals-mt.so
-usr/lib/libboost_signals-mt.so.1.55.0
+usr/lib/libboost_signals-mt.so.1.64.0
 #usr/lib/libboost_signals.a
 #usr/lib/libboost_signals.so
-usr/lib/libboost_signals.so.1.55.0
+usr/lib/libboost_signals.so.1.64.0
 #usr/lib/libboost_system-mt.a
 #usr/lib/libboost_system-mt.so
-usr/lib/libboost_system-mt.so.1.55.0
+usr/lib/libboost_system-mt.so.1.64.0
 #usr/lib/libboost_system.a
 #usr/lib/libboost_system.so
-usr/lib/libboost_system.so.1.55.0
+usr/lib/libboost_system.so.1.64.0
 #usr/lib/libboost_test_exec_monitor-mt.a
 #usr/lib/libboost_test_exec_monitor.a
 #usr/lib/libboost_thread-mt.a
 #usr/lib/libboost_thread-mt.so
-usr/lib/libboost_thread-mt.so.1.55.0
+usr/lib/libboost_thread-mt.so.1.64.0
 #usr/lib/libboost_timer-mt.a
 #usr/lib/libboost_timer-mt.so
-usr/lib/libboost_timer-mt.so.1.55.0
+usr/lib/libboost_timer-mt.so.1.64.0
 #usr/lib/libboost_timer.a
 #usr/lib/libboost_timer.so
-usr/lib/libboost_timer.so.1.55.0
+usr/lib/libboost_timer.so.1.64.0
+#usr/lib/libboost_type_erasure-mt.a
+#usr/lib/libboost_type_erasure-mt.so
+usr/lib/libboost_type_erasure-mt.so.1.64.0
+#usr/lib/libboost_type_erasure.a
+#usr/lib/libboost_type_erasure.so
+usr/lib/libboost_type_erasure.so.1.64.0
 #usr/lib/libboost_unit_test_framework-mt.a
 #usr/lib/libboost_unit_test_framework-mt.so
-usr/lib/libboost_unit_test_framework-mt.so.1.55.0
+usr/lib/libboost_unit_test_framework-mt.so.1.64.0
 #usr/lib/libboost_unit_test_framework.a
 #usr/lib/libboost_unit_test_framework.so
-usr/lib/libboost_unit_test_framework.so.1.55.0
+usr/lib/libboost_unit_test_framework.so.1.64.0
 #usr/lib/libboost_wave-mt.a
 #usr/lib/libboost_wave-mt.so
-usr/lib/libboost_wave-mt.so.1.55.0
-#usr/lib/libboost_wave.a
-#usr/lib/libboost_wave.so
-usr/lib/libboost_wave.so.1.55.0
+usr/lib/libboost_wave-mt.so.1.64.0
 #usr/lib/libboost_wserialization-mt.a
 #usr/lib/libboost_wserialization-mt.so
-usr/lib/libboost_wserialization-mt.so.1.55.0
+usr/lib/libboost_wserialization-mt.so.1.64.0
 #usr/lib/libboost_wserialization.a
 #usr/lib/libboost_wserialization.so
-usr/lib/libboost_wserialization.so.1.55.0
+usr/lib/libboost_wserialization.so.1.64.0
index 8b5d9f43df830920a0495a5f0b87e8023823facb..911a780ecc36a3c0b825399972d9a30034d777a5 100644 (file)
@@ -111,7 +111,6 @@ var/ipfire/menu.d/70-log.menu
 #var/ipfire/menu.d/EX-asterisk.menu
 #var/ipfire/menu.d/EX-bluetooth.menu
 #var/ipfire/menu.d/EX-guardian.menu
-#var/ipfire/menu.d/EX-imspector.menu
 #var/ipfire/menu.d/EX-mpfire.menu
 #var/ipfire/menu.d/EX-samba.menu
 #var/ipfire/menu.d/EX-tor.menu
index 65b558834ccd8417b81b551da50ce7b471e3d30a..2cb3286575fc1b7e7edb7c3442299ffc9c5a200b 100644 (file)
@@ -7,18 +7,13 @@
 #usr/lib/libfl.so
 usr/lib/libfl.so.2
 usr/lib/libfl.so.2.0.0
-#usr/lib/libfl_pic.a
-#usr/lib/libfl_pic.la
-#usr/lib/libfl_pic.so
-usr/lib/libfl_pic.so.2
-usr/lib/libfl_pic.so.2.0.0
 #usr/lib/libl.a
 #usr/share/doc/flex
 #usr/share/doc/flex/AUTHORS
 #usr/share/doc/flex/COPYING
 #usr/share/doc/flex/NEWS
 #usr/share/doc/flex/ONEWS
-#usr/share/doc/flex/README
+#usr/share/doc/flex/README.md
 #usr/share/info/flex.info
 #usr/share/info/flex.info-1
 #usr/share/info/flex.info-2
index 1ab1d4810ac5e9a814b39a7813e68defe16310d8..2cd91cb0c580b8b9c89583403b229c6a67c5a6e9 100644 (file)
@@ -1,5 +1,3 @@
-#etc/init.d
-#etc/init.d/fuse
 #etc/rc.d/init.d/fuse
 etc/udev/rules.d/99-fuse.rules
 sbin/mount.fuse
@@ -20,7 +18,7 @@ usr/bin/ulockmgr_server
 #usr/lib/libfuse.la
 usr/lib/libfuse.so
 usr/lib/libfuse.so.2
-usr/lib/libfuse.so.2.9.3
+usr/lib/libfuse.so.2.9.7
 #usr/lib/libulockmgr.a
 #usr/lib/libulockmgr.la
 usr/lib/libulockmgr.so
index 2a39be65d2a164ee662002a81a3b18f7bf8a200f..f9e1e8ae4029c8d39265310bfb1da27d03add14f 100644 (file)
@@ -1,18 +1,24 @@
 usr/bin/awk
 usr/bin/gawk
-#usr/bin/gawk-3.1.5
+#usr/bin/gawk-4.1.4
 #usr/bin/igawk
-#usr/bin/pgawk
-#usr/bin/pgawk-3.1.5
-#usr/info/dir
-#usr/info/gawk.info
-#usr/info/gawkinet.info
+#usr/include/gawkapi.h
 #usr/lib/awk
 #usr/lib/awk/grcat
 #usr/lib/awk/pwcat
-#usr/man/man1/gawk.1
-#usr/man/man1/igawk.1
-#usr/man/man1/pgawk.1
+#usr/lib/gawk
+usr/lib/gawk/filefuncs.so
+usr/lib/gawk/fnmatch.so
+usr/lib/gawk/fork.so
+usr/lib/gawk/inplace.so
+usr/lib/gawk/ordchr.so
+usr/lib/gawk/readdir.so
+usr/lib/gawk/readfile.so
+usr/lib/gawk/revoutput.so
+usr/lib/gawk/revtwoway.so
+usr/lib/gawk/rwarray.so
+usr/lib/gawk/testext.so
+usr/lib/gawk/time.so
 #usr/share/awk
 #usr/share/awk/assert.awk
 #usr/share/awk/bits2str.awk
@@ -22,14 +28,34 @@ usr/bin/gawk
 #usr/share/awk/getopt.awk
 #usr/share/awk/gettime.awk
 #usr/share/awk/group.awk
+#usr/share/awk/inplace.awk
 #usr/share/awk/join.awk
 #usr/share/awk/libintl.awk
-#usr/share/awk/nextfile.awk
 #usr/share/awk/noassign.awk
 #usr/share/awk/ord.awk
 #usr/share/awk/passwd.awk
+#usr/share/awk/processarray.awk
+#usr/share/awk/quicksort.awk
 #usr/share/awk/readable.awk
+#usr/share/awk/readfile.awk
 #usr/share/awk/rewind.awk
 #usr/share/awk/round.awk
+#usr/share/awk/shellquote.awk
 #usr/share/awk/strtonum.awk
+#usr/share/awk/walkarray.awk
 #usr/share/awk/zerofile.awk
+#usr/share/info/gawk.info
+#usr/share/info/gawkinet.info
+#usr/share/man/man1/gawk.1
+#usr/share/man/man1/igawk.1
+#usr/share/man/man3/filefuncs.3am
+#usr/share/man/man3/fnmatch.3am
+#usr/share/man/man3/fork.3am
+#usr/share/man/man3/inplace.3am
+#usr/share/man/man3/ordchr.3am
+#usr/share/man/man3/readdir.3am
+#usr/share/man/man3/readfile.3am
+#usr/share/man/man3/revoutput.3am
+#usr/share/man/man3/revtwoway.3am
+#usr/share/man/man3/rwarray.3am
+#usr/share/man/man3/time.3am
index 5f4c1136d24404f5cbfcd3c0fe1ad7be67d542f8..886cdb4bf10de5c2e2beda16196d08c1a323caf1 100644 (file)
@@ -19,6 +19,7 @@
 #usr/include/bfdlink.h
 #usr/include/dis-asm.h
 #usr/include/libiberty.h
+#usr/include/plugin-api.h
 #usr/include/symcat.h
 #usr/lib/ldscripts
 #usr/lib/ldscripts/elf32_x86_64.x
 #usr/lib/ldscripts/elf_i386.xsw
 #usr/lib/ldscripts/elf_i386.xu
 #usr/lib/ldscripts/elf_i386.xw
+#usr/lib/ldscripts/elf_iamcu.x
+#usr/lib/ldscripts/elf_iamcu.xbn
+#usr/lib/ldscripts/elf_iamcu.xc
+#usr/lib/ldscripts/elf_iamcu.xd
+#usr/lib/ldscripts/elf_iamcu.xdc
+#usr/lib/ldscripts/elf_iamcu.xdw
+#usr/lib/ldscripts/elf_iamcu.xn
+#usr/lib/ldscripts/elf_iamcu.xr
+#usr/lib/ldscripts/elf_iamcu.xs
+#usr/lib/ldscripts/elf_iamcu.xsc
+#usr/lib/ldscripts/elf_iamcu.xsw
+#usr/lib/ldscripts/elf_iamcu.xu
+#usr/lib/ldscripts/elf_iamcu.xw
 #usr/lib/ldscripts/elf_k1om.x
 #usr/lib/ldscripts/elf_k1om.xbn
 #usr/lib/ldscripts/elf_k1om.xc
 #usr/lib/ldscripts/i386linux.xn
 #usr/lib/ldscripts/i386linux.xr
 #usr/lib/ldscripts/i386linux.xu
-usr/lib/libbfd-2.24.so
+usr/lib/libbfd-2.28.so
 #usr/lib/libbfd.a
 #usr/lib/libbfd.la
 #usr/lib/libbfd.so
-#usr/lib/libiberty.a
-usr/lib/libopcodes-2.24.so
+usr/lib/libopcodes-2.28.so
 #usr/lib/libopcodes.a
 #usr/lib/libopcodes.la
 #usr/lib/libopcodes.so
 #usr/share/info/as.info
 #usr/share/info/bfd.info
 #usr/share/info/binutils.info
-#usr/share/info/configure.info
-#usr/share/info/dir
 #usr/share/info/gprof.info
 #usr/share/info/ld.info
-#usr/share/info/standards.info
+#usr/share/locale/bg/LC_MESSAGES/binutils.mo
+#usr/share/locale/bg/LC_MESSAGES/gprof.mo
+#usr/share/locale/bg/LC_MESSAGES/ld.mo
+#usr/share/locale/ca/LC_MESSAGES/binutils.mo
+#usr/share/locale/da/LC_MESSAGES/bfd.mo
+#usr/share/locale/da/LC_MESSAGES/binutils.mo
+#usr/share/locale/da/LC_MESSAGES/gprof.mo
+#usr/share/locale/da/LC_MESSAGES/ld.mo
+#usr/share/locale/da/LC_MESSAGES/opcodes.mo
+#usr/share/locale/de/LC_MESSAGES/gprof.mo
+#usr/share/locale/de/LC_MESSAGES/opcodes.mo
+#usr/share/locale/eo/LC_MESSAGES/gprof.mo
+#usr/share/locale/es/LC_MESSAGES/bfd.mo
+#usr/share/locale/es/LC_MESSAGES/binutils.mo
+#usr/share/locale/es/LC_MESSAGES/gas.mo
+#usr/share/locale/es/LC_MESSAGES/gprof.mo
+#usr/share/locale/es/LC_MESSAGES/ld.mo
+#usr/share/locale/es/LC_MESSAGES/opcodes.mo
+#usr/share/locale/fi/LC_MESSAGES/bfd.mo
+#usr/share/locale/fi/LC_MESSAGES/binutils.mo
+#usr/share/locale/fi/LC_MESSAGES/gas.mo
+#usr/share/locale/fi/LC_MESSAGES/gprof.mo
+#usr/share/locale/fi/LC_MESSAGES/ld.mo
+#usr/share/locale/fi/LC_MESSAGES/opcodes.mo
+#usr/share/locale/fr/LC_MESSAGES/bfd.mo
+#usr/share/locale/fr/LC_MESSAGES/binutils.mo
+#usr/share/locale/fr/LC_MESSAGES/gas.mo
+#usr/share/locale/fr/LC_MESSAGES/gprof.mo
+#usr/share/locale/fr/LC_MESSAGES/ld.mo
+#usr/share/locale/fr/LC_MESSAGES/opcodes.mo
+#usr/share/locale/ga
+#usr/share/locale/ga/LC_MESSAGES
+#usr/share/locale/ga/LC_MESSAGES/gprof.mo
+#usr/share/locale/ga/LC_MESSAGES/ld.mo
+#usr/share/locale/ga/LC_MESSAGES/opcodes.mo
+#usr/share/locale/hr/LC_MESSAGES/binutils.mo
+#usr/share/locale/hu/LC_MESSAGES/gprof.mo
+#usr/share/locale/id/LC_MESSAGES/bfd.mo
+#usr/share/locale/id/LC_MESSAGES/binutils.mo
+#usr/share/locale/id/LC_MESSAGES/gas.mo
+#usr/share/locale/id/LC_MESSAGES/gprof.mo
+#usr/share/locale/id/LC_MESSAGES/ld.mo
+#usr/share/locale/id/LC_MESSAGES/opcodes.mo
+#usr/share/locale/it/LC_MESSAGES/binutils.mo
+#usr/share/locale/it/LC_MESSAGES/gprof.mo
+#usr/share/locale/it/LC_MESSAGES/ld.mo
+#usr/share/locale/it/LC_MESSAGES/opcodes.mo
+#usr/share/locale/ja/LC_MESSAGES/bfd.mo
+#usr/share/locale/ja/LC_MESSAGES/binutils.mo
+#usr/share/locale/ja/LC_MESSAGES/gas.mo
+#usr/share/locale/ja/LC_MESSAGES/gprof.mo
+#usr/share/locale/ja/LC_MESSAGES/ld.mo
+#usr/share/locale/ms
+#usr/share/locale/ms/LC_MESSAGES
+#usr/share/locale/ms/LC_MESSAGES/gprof.mo
+#usr/share/locale/nl/LC_MESSAGES/gprof.mo
+#usr/share/locale/nl/LC_MESSAGES/opcodes.mo
+#usr/share/locale/pt_BR/LC_MESSAGES/gprof.mo
+#usr/share/locale/pt_BR/LC_MESSAGES/opcodes.mo
+#usr/share/locale/ro
+#usr/share/locale/ro/LC_MESSAGES
+#usr/share/locale/ro/LC_MESSAGES/bfd.mo
+#usr/share/locale/ro/LC_MESSAGES/binutils.mo
+#usr/share/locale/ro/LC_MESSAGES/gprof.mo
+#usr/share/locale/ro/LC_MESSAGES/opcodes.mo
+#usr/share/locale/ru/LC_MESSAGES/bfd.mo
+#usr/share/locale/ru/LC_MESSAGES/binutils.mo
+#usr/share/locale/ru/LC_MESSAGES/gas.mo
+#usr/share/locale/ru/LC_MESSAGES/gprof.mo
+#usr/share/locale/rw/LC_MESSAGES/bfd.mo
+#usr/share/locale/rw/LC_MESSAGES/binutils.mo
+#usr/share/locale/rw/LC_MESSAGES/gas.mo
+#usr/share/locale/rw/LC_MESSAGES/gprof.mo
+#usr/share/locale/sk/LC_MESSAGES/binutils.mo
+#usr/share/locale/sr
+#usr/share/locale/sr/LC_MESSAGES
+#usr/share/locale/sr/LC_MESSAGES/bfd.mo
+#usr/share/locale/sr/LC_MESSAGES/binutils.mo
+#usr/share/locale/sr/LC_MESSAGES/gprof.mo
+#usr/share/locale/sv/LC_MESSAGES/bfd.mo
+#usr/share/locale/sv/LC_MESSAGES/binutils.mo
+#usr/share/locale/sv/LC_MESSAGES/gprof.mo
+#usr/share/locale/sv/LC_MESSAGES/ld.mo
+#usr/share/locale/sv/LC_MESSAGES/opcodes.mo
+#usr/share/locale/tr/LC_MESSAGES/bfd.mo
+#usr/share/locale/tr/LC_MESSAGES/binutils.mo
+#usr/share/locale/tr/LC_MESSAGES/gas.mo
+#usr/share/locale/tr/LC_MESSAGES/gprof.mo
+#usr/share/locale/tr/LC_MESSAGES/ld.mo
+#usr/share/locale/tr/LC_MESSAGES/opcodes.mo
+#usr/share/locale/uk/LC_MESSAGES/bfd.mo
+#usr/share/locale/uk/LC_MESSAGES/binutils.mo
+#usr/share/locale/uk/LC_MESSAGES/gas.mo
+#usr/share/locale/uk/LC_MESSAGES/gprof.mo
+#usr/share/locale/uk/LC_MESSAGES/ld.mo
+#usr/share/locale/uk/LC_MESSAGES/opcodes.mo
+#usr/share/locale/vi/LC_MESSAGES/bfd.mo
+#usr/share/locale/vi/LC_MESSAGES/binutils.mo
+#usr/share/locale/vi/LC_MESSAGES/gprof.mo
+#usr/share/locale/vi/LC_MESSAGES/ld.mo
+#usr/share/locale/vi/LC_MESSAGES/opcodes.mo
+#usr/share/locale/zh_CN/LC_MESSAGES/bfd.mo
+#usr/share/locale/zh_CN/LC_MESSAGES/binutils.mo
+#usr/share/locale/zh_CN/LC_MESSAGES/gas.mo
+#usr/share/locale/zh_CN/LC_MESSAGES/ld.mo
+#usr/share/locale/zh_CN/LC_MESSAGES/opcodes.mo
+#usr/share/locale/zh_TW/LC_MESSAGES/binutils.mo
+#usr/share/locale/zh_TW/LC_MESSAGES/ld.mo
 #usr/share/man/man1/addr2line.1
 #usr/share/man/man1/ar.1
 #usr/share/man/man1/as.1
index 96d54f73a26244f1ca94c1ff2ac33fa80a7b2529..043d55a9eb500866f0e680f64c52ba77ca6b1d7e 100644 (file)
 #usr/bin/gcc-nm
 #usr/bin/gcc-ranlib
 #usr/bin/gcov
+#usr/bin/gcov-tool
 #usr/bin/i586-pc-linux-gnu-c++
 #usr/bin/i586-pc-linux-gnu-g++
 #usr/bin/i586-pc-linux-gnu-gcc
-#usr/bin/i586-pc-linux-gnu-gcc-4.9.4
+#usr/bin/i586-pc-linux-gnu-gcc-6.3.0
 #usr/bin/i586-pc-linux-gnu-gcc-ar
 #usr/bin/i586-pc-linux-gnu-gcc-nm
 #usr/bin/i586-pc-linux-gnu-gcc-ranlib
 #usr/include/c++
-#usr/include/c++/4.9.4
-#usr/include/c++/4.9.4/algorithm
-#usr/include/c++/4.9.4/array
-#usr/include/c++/4.9.4/atomic
-#usr/include/c++/4.9.4/backward
-#usr/include/c++/4.9.4/backward/auto_ptr.h
-#usr/include/c++/4.9.4/backward/backward_warning.h
-#usr/include/c++/4.9.4/backward/binders.h
-#usr/include/c++/4.9.4/backward/hash_fun.h
-#usr/include/c++/4.9.4/backward/hash_map
-#usr/include/c++/4.9.4/backward/hash_set
-#usr/include/c++/4.9.4/backward/hashtable.h
-#usr/include/c++/4.9.4/backward/strstream
-#usr/include/c++/4.9.4/bits
-#usr/include/c++/4.9.4/bits/algorithmfwd.h
-#usr/include/c++/4.9.4/bits/alloc_traits.h
-#usr/include/c++/4.9.4/bits/allocator.h
-#usr/include/c++/4.9.4/bits/atomic_base.h
-#usr/include/c++/4.9.4/bits/atomic_lockfree_defines.h
-#usr/include/c++/4.9.4/bits/basic_ios.h
-#usr/include/c++/4.9.4/bits/basic_ios.tcc
-#usr/include/c++/4.9.4/bits/basic_string.h
-#usr/include/c++/4.9.4/bits/basic_string.tcc
-#usr/include/c++/4.9.4/bits/boost_concept_check.h
-#usr/include/c++/4.9.4/bits/c++0x_warning.h
-#usr/include/c++/4.9.4/bits/c++14_warning.h
-#usr/include/c++/4.9.4/bits/char_traits.h
-#usr/include/c++/4.9.4/bits/codecvt.h
-#usr/include/c++/4.9.4/bits/concept_check.h
-#usr/include/c++/4.9.4/bits/cpp_type_traits.h
-#usr/include/c++/4.9.4/bits/cxxabi_forced.h
-#usr/include/c++/4.9.4/bits/deque.tcc
-#usr/include/c++/4.9.4/bits/enable_special_members.h
-#usr/include/c++/4.9.4/bits/exception_defines.h
-#usr/include/c++/4.9.4/bits/exception_ptr.h
-#usr/include/c++/4.9.4/bits/forward_list.h
-#usr/include/c++/4.9.4/bits/forward_list.tcc
-#usr/include/c++/4.9.4/bits/fstream.tcc
-#usr/include/c++/4.9.4/bits/functexcept.h
-#usr/include/c++/4.9.4/bits/functional_hash.h
-#usr/include/c++/4.9.4/bits/gslice.h
-#usr/include/c++/4.9.4/bits/gslice_array.h
-#usr/include/c++/4.9.4/bits/hash_bytes.h
-#usr/include/c++/4.9.4/bits/hashtable.h
-#usr/include/c++/4.9.4/bits/hashtable_policy.h
-#usr/include/c++/4.9.4/bits/indirect_array.h
-#usr/include/c++/4.9.4/bits/ios_base.h
-#usr/include/c++/4.9.4/bits/istream.tcc
-#usr/include/c++/4.9.4/bits/list.tcc
-#usr/include/c++/4.9.4/bits/locale_classes.h
-#usr/include/c++/4.9.4/bits/locale_classes.tcc
-#usr/include/c++/4.9.4/bits/locale_facets.h
-#usr/include/c++/4.9.4/bits/locale_facets.tcc
-#usr/include/c++/4.9.4/bits/locale_facets_nonio.h
-#usr/include/c++/4.9.4/bits/locale_facets_nonio.tcc
-#usr/include/c++/4.9.4/bits/localefwd.h
-#usr/include/c++/4.9.4/bits/mask_array.h
-#usr/include/c++/4.9.4/bits/memoryfwd.h
-#usr/include/c++/4.9.4/bits/move.h
-#usr/include/c++/4.9.4/bits/nested_exception.h
-#usr/include/c++/4.9.4/bits/ostream.tcc
-#usr/include/c++/4.9.4/bits/ostream_insert.h
-#usr/include/c++/4.9.4/bits/parse_numbers.h
-#usr/include/c++/4.9.4/bits/postypes.h
-#usr/include/c++/4.9.4/bits/predefined_ops.h
-#usr/include/c++/4.9.4/bits/ptr_traits.h
-#usr/include/c++/4.9.4/bits/random.h
-#usr/include/c++/4.9.4/bits/random.tcc
-#usr/include/c++/4.9.4/bits/range_access.h
-#usr/include/c++/4.9.4/bits/regex.h
-#usr/include/c++/4.9.4/bits/regex.tcc
-#usr/include/c++/4.9.4/bits/regex_automaton.h
-#usr/include/c++/4.9.4/bits/regex_automaton.tcc
-#usr/include/c++/4.9.4/bits/regex_compiler.h
-#usr/include/c++/4.9.4/bits/regex_compiler.tcc
-#usr/include/c++/4.9.4/bits/regex_constants.h
-#usr/include/c++/4.9.4/bits/regex_error.h
-#usr/include/c++/4.9.4/bits/regex_executor.h
-#usr/include/c++/4.9.4/bits/regex_executor.tcc
-#usr/include/c++/4.9.4/bits/regex_scanner.h
-#usr/include/c++/4.9.4/bits/regex_scanner.tcc
-#usr/include/c++/4.9.4/bits/shared_ptr.h
-#usr/include/c++/4.9.4/bits/shared_ptr_base.h
-#usr/include/c++/4.9.4/bits/slice_array.h
-#usr/include/c++/4.9.4/bits/sstream.tcc
-#usr/include/c++/4.9.4/bits/stl_algo.h
-#usr/include/c++/4.9.4/bits/stl_algobase.h
-#usr/include/c++/4.9.4/bits/stl_bvector.h
-#usr/include/c++/4.9.4/bits/stl_construct.h
-#usr/include/c++/4.9.4/bits/stl_deque.h
-#usr/include/c++/4.9.4/bits/stl_function.h
-#usr/include/c++/4.9.4/bits/stl_heap.h
-#usr/include/c++/4.9.4/bits/stl_iterator.h
-#usr/include/c++/4.9.4/bits/stl_iterator_base_funcs.h
-#usr/include/c++/4.9.4/bits/stl_iterator_base_types.h
-#usr/include/c++/4.9.4/bits/stl_list.h
-#usr/include/c++/4.9.4/bits/stl_map.h
-#usr/include/c++/4.9.4/bits/stl_multimap.h
-#usr/include/c++/4.9.4/bits/stl_multiset.h
-#usr/include/c++/4.9.4/bits/stl_numeric.h
-#usr/include/c++/4.9.4/bits/stl_pair.h
-#usr/include/c++/4.9.4/bits/stl_queue.h
-#usr/include/c++/4.9.4/bits/stl_raw_storage_iter.h
-#usr/include/c++/4.9.4/bits/stl_relops.h
-#usr/include/c++/4.9.4/bits/stl_set.h
-#usr/include/c++/4.9.4/bits/stl_stack.h
-#usr/include/c++/4.9.4/bits/stl_tempbuf.h
-#usr/include/c++/4.9.4/bits/stl_tree.h
-#usr/include/c++/4.9.4/bits/stl_uninitialized.h
-#usr/include/c++/4.9.4/bits/stl_vector.h
-#usr/include/c++/4.9.4/bits/stream_iterator.h
-#usr/include/c++/4.9.4/bits/streambuf.tcc
-#usr/include/c++/4.9.4/bits/streambuf_iterator.h
-#usr/include/c++/4.9.4/bits/stringfwd.h
-#usr/include/c++/4.9.4/bits/unique_ptr.h
-#usr/include/c++/4.9.4/bits/unordered_map.h
-#usr/include/c++/4.9.4/bits/unordered_set.h
-#usr/include/c++/4.9.4/bits/uses_allocator.h
-#usr/include/c++/4.9.4/bits/valarray_after.h
-#usr/include/c++/4.9.4/bits/valarray_array.h
-#usr/include/c++/4.9.4/bits/valarray_array.tcc
-#usr/include/c++/4.9.4/bits/valarray_before.h
-#usr/include/c++/4.9.4/bits/vector.tcc
-#usr/include/c++/4.9.4/bitset
-#usr/include/c++/4.9.4/cassert
-#usr/include/c++/4.9.4/ccomplex
-#usr/include/c++/4.9.4/cctype
-#usr/include/c++/4.9.4/cerrno
-#usr/include/c++/4.9.4/cfenv
-#usr/include/c++/4.9.4/cfloat
-#usr/include/c++/4.9.4/chrono
-#usr/include/c++/4.9.4/cinttypes
-#usr/include/c++/4.9.4/ciso646
-#usr/include/c++/4.9.4/climits
-#usr/include/c++/4.9.4/clocale
-#usr/include/c++/4.9.4/cmath
-#usr/include/c++/4.9.4/complex
-#usr/include/c++/4.9.4/complex.h
-#usr/include/c++/4.9.4/condition_variable
-#usr/include/c++/4.9.4/csetjmp
-#usr/include/c++/4.9.4/csignal
-#usr/include/c++/4.9.4/cstdalign
-#usr/include/c++/4.9.4/cstdarg
-#usr/include/c++/4.9.4/cstdbool
-#usr/include/c++/4.9.4/cstddef
-#usr/include/c++/4.9.4/cstdint
-#usr/include/c++/4.9.4/cstdio
-#usr/include/c++/4.9.4/cstdlib
-#usr/include/c++/4.9.4/cstring
-#usr/include/c++/4.9.4/ctgmath
-#usr/include/c++/4.9.4/ctime
-#usr/include/c++/4.9.4/cwchar
-#usr/include/c++/4.9.4/cwctype
-#usr/include/c++/4.9.4/cxxabi.h
-#usr/include/c++/4.9.4/debug
-#usr/include/c++/4.9.4/debug/array
-#usr/include/c++/4.9.4/debug/bitset
-#usr/include/c++/4.9.4/debug/debug.h
-#usr/include/c++/4.9.4/debug/deque
-#usr/include/c++/4.9.4/debug/formatter.h
-#usr/include/c++/4.9.4/debug/forward_list
-#usr/include/c++/4.9.4/debug/functions.h
-#usr/include/c++/4.9.4/debug/list
-#usr/include/c++/4.9.4/debug/macros.h
-#usr/include/c++/4.9.4/debug/map
-#usr/include/c++/4.9.4/debug/map.h
-#usr/include/c++/4.9.4/debug/multimap.h
-#usr/include/c++/4.9.4/debug/multiset.h
-#usr/include/c++/4.9.4/debug/safe_base.h
-#usr/include/c++/4.9.4/debug/safe_iterator.h
-#usr/include/c++/4.9.4/debug/safe_iterator.tcc
-#usr/include/c++/4.9.4/debug/safe_local_iterator.h
-#usr/include/c++/4.9.4/debug/safe_local_iterator.tcc
-#usr/include/c++/4.9.4/debug/safe_sequence.h
-#usr/include/c++/4.9.4/debug/safe_sequence.tcc
-#usr/include/c++/4.9.4/debug/safe_unordered_base.h
-#usr/include/c++/4.9.4/debug/safe_unordered_container.h
-#usr/include/c++/4.9.4/debug/safe_unordered_container.tcc
-#usr/include/c++/4.9.4/debug/set
-#usr/include/c++/4.9.4/debug/set.h
-#usr/include/c++/4.9.4/debug/string
-#usr/include/c++/4.9.4/debug/unordered_map
-#usr/include/c++/4.9.4/debug/unordered_set
-#usr/include/c++/4.9.4/debug/vector
-#usr/include/c++/4.9.4/decimal
-#usr/include/c++/4.9.4/decimal/decimal
-#usr/include/c++/4.9.4/decimal/decimal.h
-#usr/include/c++/4.9.4/deque
-#usr/include/c++/4.9.4/exception
-#usr/include/c++/4.9.4/experimental
-#usr/include/c++/4.9.4/experimental/optional
-#usr/include/c++/4.9.4/experimental/string_view
-#usr/include/c++/4.9.4/experimental/string_view.tcc
-#usr/include/c++/4.9.4/ext
-#usr/include/c++/4.9.4/ext/algorithm
-#usr/include/c++/4.9.4/ext/aligned_buffer.h
-#usr/include/c++/4.9.4/ext/alloc_traits.h
-#usr/include/c++/4.9.4/ext/array_allocator.h
-#usr/include/c++/4.9.4/ext/atomicity.h
-#usr/include/c++/4.9.4/ext/bitmap_allocator.h
-#usr/include/c++/4.9.4/ext/cast.h
-#usr/include/c++/4.9.4/ext/cmath
-#usr/include/c++/4.9.4/ext/codecvt_specializations.h
-#usr/include/c++/4.9.4/ext/concurrence.h
-#usr/include/c++/4.9.4/ext/debug_allocator.h
-#usr/include/c++/4.9.4/ext/enc_filebuf.h
-#usr/include/c++/4.9.4/ext/extptr_allocator.h
-#usr/include/c++/4.9.4/ext/functional
-#usr/include/c++/4.9.4/ext/hash_map
-#usr/include/c++/4.9.4/ext/hash_set
-#usr/include/c++/4.9.4/ext/iterator
-#usr/include/c++/4.9.4/ext/malloc_allocator.h
-#usr/include/c++/4.9.4/ext/memory
-#usr/include/c++/4.9.4/ext/mt_allocator.h
-#usr/include/c++/4.9.4/ext/new_allocator.h
-#usr/include/c++/4.9.4/ext/numeric
-#usr/include/c++/4.9.4/ext/numeric_traits.h
-#usr/include/c++/4.9.4/ext/pb_ds
-#usr/include/c++/4.9.4/ext/pb_ds/assoc_container.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/traits.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/const_iterator.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/entry_pred.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/point_const_iterator.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/resize_policy.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binomial_heap_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binomial_heap_base_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/branch_policy
-#usr/include/c++/4.9.4/ext/pb_ds/detail/branch_policy/branch_policy.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/branch_policy/null_node_metadata.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/branch_policy/traits.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cond_dealtor.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/container_base_dispatch.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/debug_map_base.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/eq_fn
-#usr/include/c++/4.9.4/ext/pb_ds/detail/eq_fn/eq_by_less.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/hash_fn
-#usr/include/c++/4.9.4/ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/left_child_next_sibling_heap_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/left_child_next_sibling_heap_/point_const_iterator.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/list_update_map_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/list_update_map_/lu_map_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/list_update_policy
-#usr/include/c++/4.9.4/ext/pb_ds/detail/list_update_policy/lu_counter_metadata.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/ov_tree_map_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/ov_tree_map_/traits.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pairing_heap_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/synth_access_traits.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/traits.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/priority_queue_base_dispatch.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rb_tree_map_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rb_tree_map_/node.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rb_tree_map_/traits.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rc_binomial_heap_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rc_binomial_heap_/rc_binomial_heap_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/resize_policy
-#usr/include/c++/4.9.4/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/splay_tree_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/splay_tree_/node.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/splay_tree_/traits.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/standard_policies.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/thin_heap_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/tree_policy
-#usr/include/c++/4.9.4/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/tree_trace_base.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/trie_policy
-#usr/include/c++/4.9.4/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/trie_policy/sample_trie_access_traits.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/trie_policy/trie_string_access_traits_imp.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/type_utils.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/types_traits.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/unordered_iterator
-#usr/include/c++/4.9.4/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/unordered_iterator/iterator.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/unordered_iterator/point_const_iterator.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/exception.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/hash_policy.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/list_update_policy.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/priority_queue.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/tag_and_trait.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/tree_policy.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/trie_policy.hpp
-#usr/include/c++/4.9.4/ext/pod_char_traits.h
-#usr/include/c++/4.9.4/ext/pointer.h
-#usr/include/c++/4.9.4/ext/pool_allocator.h
-#usr/include/c++/4.9.4/ext/random
-#usr/include/c++/4.9.4/ext/random.tcc
-#usr/include/c++/4.9.4/ext/rb_tree
-#usr/include/c++/4.9.4/ext/rc_string_base.h
-#usr/include/c++/4.9.4/ext/rope
-#usr/include/c++/4.9.4/ext/ropeimpl.h
-#usr/include/c++/4.9.4/ext/slist
-#usr/include/c++/4.9.4/ext/sso_string_base.h
-#usr/include/c++/4.9.4/ext/stdio_filebuf.h
-#usr/include/c++/4.9.4/ext/stdio_sync_filebuf.h
-#usr/include/c++/4.9.4/ext/string_conversions.h
-#usr/include/c++/4.9.4/ext/throw_allocator.h
-#usr/include/c++/4.9.4/ext/type_traits.h
-#usr/include/c++/4.9.4/ext/typelist.h
-#usr/include/c++/4.9.4/ext/vstring.h
-#usr/include/c++/4.9.4/ext/vstring.tcc
-#usr/include/c++/4.9.4/ext/vstring_fwd.h
-#usr/include/c++/4.9.4/ext/vstring_util.h
-#usr/include/c++/4.9.4/fenv.h
-#usr/include/c++/4.9.4/forward_list
-#usr/include/c++/4.9.4/fstream
-#usr/include/c++/4.9.4/functional
-#usr/include/c++/4.9.4/future
-#usr/include/c++/4.9.4/i586-pc-linux-gnu
-#usr/include/c++/4.9.4/i586-pc-linux-gnu/bits
-#usr/include/c++/4.9.4/i586-pc-linux-gnu/bits/atomic_word.h
-#usr/include/c++/4.9.4/i586-pc-linux-gnu/bits/basic_file.h
-#usr/include/c++/4.9.4/i586-pc-linux-gnu/bits/c++allocator.h
-#usr/include/c++/4.9.4/i586-pc-linux-gnu/bits/c++config.h
-#usr/include/c++/4.9.4/i586-pc-linux-gnu/bits/c++io.h
-#usr/include/c++/4.9.4/i586-pc-linux-gnu/bits/c++locale.h
-#usr/include/c++/4.9.4/i586-pc-linux-gnu/bits/cpu_defines.h
-#usr/include/c++/4.9.4/i586-pc-linux-gnu/bits/ctype_base.h
-#usr/include/c++/4.9.4/i586-pc-linux-gnu/bits/ctype_inline.h
-#usr/include/c++/4.9.4/i586-pc-linux-gnu/bits/cxxabi_tweaks.h
-#usr/include/c++/4.9.4/i586-pc-linux-gnu/bits/error_constants.h
-#usr/include/c++/4.9.4/i586-pc-linux-gnu/bits/extc++.h
-#usr/include/c++/4.9.4/i586-pc-linux-gnu/bits/gthr-default.h
-#usr/include/c++/4.9.4/i586-pc-linux-gnu/bits/gthr-posix.h
-#usr/include/c++/4.9.4/i586-pc-linux-gnu/bits/gthr-single.h
-#usr/include/c++/4.9.4/i586-pc-linux-gnu/bits/gthr.h
-#usr/include/c++/4.9.4/i586-pc-linux-gnu/bits/messages_members.h
-#usr/include/c++/4.9.4/i586-pc-linux-gnu/bits/opt_random.h
-#usr/include/c++/4.9.4/i586-pc-linux-gnu/bits/os_defines.h
-#usr/include/c++/4.9.4/i586-pc-linux-gnu/bits/stdc++.h
-#usr/include/c++/4.9.4/i586-pc-linux-gnu/bits/stdtr1c++.h
-#usr/include/c++/4.9.4/i586-pc-linux-gnu/bits/time_members.h
-#usr/include/c++/4.9.4/i586-pc-linux-gnu/ext
-#usr/include/c++/4.9.4/i586-pc-linux-gnu/ext/opt_random.h
-#usr/include/c++/4.9.4/initializer_list
-#usr/include/c++/4.9.4/iomanip
-#usr/include/c++/4.9.4/ios
-#usr/include/c++/4.9.4/iosfwd
-#usr/include/c++/4.9.4/iostream
-#usr/include/c++/4.9.4/istream
-#usr/include/c++/4.9.4/iterator
-#usr/include/c++/4.9.4/limits
-#usr/include/c++/4.9.4/list
-#usr/include/c++/4.9.4/locale
-#usr/include/c++/4.9.4/map
-#usr/include/c++/4.9.4/memory
-#usr/include/c++/4.9.4/mutex
-#usr/include/c++/4.9.4/new
-#usr/include/c++/4.9.4/numeric
-#usr/include/c++/4.9.4/ostream
-#usr/include/c++/4.9.4/parallel
-#usr/include/c++/4.9.4/parallel/algo.h
-#usr/include/c++/4.9.4/parallel/algobase.h
-#usr/include/c++/4.9.4/parallel/algorithm
-#usr/include/c++/4.9.4/parallel/algorithmfwd.h
-#usr/include/c++/4.9.4/parallel/balanced_quicksort.h
-#usr/include/c++/4.9.4/parallel/base.h
-#usr/include/c++/4.9.4/parallel/basic_iterator.h
-#usr/include/c++/4.9.4/parallel/checkers.h
-#usr/include/c++/4.9.4/parallel/compatibility.h
-#usr/include/c++/4.9.4/parallel/compiletime_settings.h
-#usr/include/c++/4.9.4/parallel/equally_split.h
-#usr/include/c++/4.9.4/parallel/features.h
-#usr/include/c++/4.9.4/parallel/find.h
-#usr/include/c++/4.9.4/parallel/find_selectors.h
-#usr/include/c++/4.9.4/parallel/for_each.h
-#usr/include/c++/4.9.4/parallel/for_each_selectors.h
-#usr/include/c++/4.9.4/parallel/iterator.h
-#usr/include/c++/4.9.4/parallel/list_partition.h
-#usr/include/c++/4.9.4/parallel/losertree.h
-#usr/include/c++/4.9.4/parallel/merge.h
-#usr/include/c++/4.9.4/parallel/multiseq_selection.h
-#usr/include/c++/4.9.4/parallel/multiway_merge.h
-#usr/include/c++/4.9.4/parallel/multiway_mergesort.h
-#usr/include/c++/4.9.4/parallel/numeric
-#usr/include/c++/4.9.4/parallel/numericfwd.h
-#usr/include/c++/4.9.4/parallel/omp_loop.h
-#usr/include/c++/4.9.4/parallel/omp_loop_static.h
-#usr/include/c++/4.9.4/parallel/par_loop.h
-#usr/include/c++/4.9.4/parallel/parallel.h
-#usr/include/c++/4.9.4/parallel/partial_sum.h
-#usr/include/c++/4.9.4/parallel/partition.h
-#usr/include/c++/4.9.4/parallel/queue.h
-#usr/include/c++/4.9.4/parallel/quicksort.h
-#usr/include/c++/4.9.4/parallel/random_number.h
-#usr/include/c++/4.9.4/parallel/random_shuffle.h
-#usr/include/c++/4.9.4/parallel/search.h
-#usr/include/c++/4.9.4/parallel/set_operations.h
-#usr/include/c++/4.9.4/parallel/settings.h
-#usr/include/c++/4.9.4/parallel/sort.h
-#usr/include/c++/4.9.4/parallel/tags.h
-#usr/include/c++/4.9.4/parallel/types.h
-#usr/include/c++/4.9.4/parallel/unique_copy.h
-#usr/include/c++/4.9.4/parallel/workstealing.h
-#usr/include/c++/4.9.4/profile
-#usr/include/c++/4.9.4/profile/array
-#usr/include/c++/4.9.4/profile/base.h
-#usr/include/c++/4.9.4/profile/bitset
-#usr/include/c++/4.9.4/profile/deque
-#usr/include/c++/4.9.4/profile/forward_list
-#usr/include/c++/4.9.4/profile/impl
-#usr/include/c++/4.9.4/profile/impl/profiler.h
-#usr/include/c++/4.9.4/profile/impl/profiler_algos.h
-#usr/include/c++/4.9.4/profile/impl/profiler_container_size.h
-#usr/include/c++/4.9.4/profile/impl/profiler_hash_func.h
-#usr/include/c++/4.9.4/profile/impl/profiler_hashtable_size.h
-#usr/include/c++/4.9.4/profile/impl/profiler_list_to_slist.h
-#usr/include/c++/4.9.4/profile/impl/profiler_list_to_vector.h
-#usr/include/c++/4.9.4/profile/impl/profiler_map_to_unordered_map.h
-#usr/include/c++/4.9.4/profile/impl/profiler_node.h
-#usr/include/c++/4.9.4/profile/impl/profiler_state.h
-#usr/include/c++/4.9.4/profile/impl/profiler_trace.h
-#usr/include/c++/4.9.4/profile/impl/profiler_vector_size.h
-#usr/include/c++/4.9.4/profile/impl/profiler_vector_to_list.h
-#usr/include/c++/4.9.4/profile/iterator_tracker.h
-#usr/include/c++/4.9.4/profile/list
-#usr/include/c++/4.9.4/profile/map
-#usr/include/c++/4.9.4/profile/map.h
-#usr/include/c++/4.9.4/profile/multimap.h
-#usr/include/c++/4.9.4/profile/multiset.h
-#usr/include/c++/4.9.4/profile/set
-#usr/include/c++/4.9.4/profile/set.h
-#usr/include/c++/4.9.4/profile/unordered_base.h
-#usr/include/c++/4.9.4/profile/unordered_map
-#usr/include/c++/4.9.4/profile/unordered_set
-#usr/include/c++/4.9.4/profile/vector
-#usr/include/c++/4.9.4/queue
-#usr/include/c++/4.9.4/random
-#usr/include/c++/4.9.4/ratio
-#usr/include/c++/4.9.4/regex
-#usr/include/c++/4.9.4/scoped_allocator
-#usr/include/c++/4.9.4/set
-#usr/include/c++/4.9.4/shared_mutex
-#usr/include/c++/4.9.4/sstream
-#usr/include/c++/4.9.4/stack
-#usr/include/c++/4.9.4/stdexcept
-#usr/include/c++/4.9.4/streambuf
-#usr/include/c++/4.9.4/string
-#usr/include/c++/4.9.4/system_error
-#usr/include/c++/4.9.4/tgmath.h
-#usr/include/c++/4.9.4/thread
-#usr/include/c++/4.9.4/tr1
-#usr/include/c++/4.9.4/tr1/array
-#usr/include/c++/4.9.4/tr1/bessel_function.tcc
-#usr/include/c++/4.9.4/tr1/beta_function.tcc
-#usr/include/c++/4.9.4/tr1/ccomplex
-#usr/include/c++/4.9.4/tr1/cctype
-#usr/include/c++/4.9.4/tr1/cfenv
-#usr/include/c++/4.9.4/tr1/cfloat
-#usr/include/c++/4.9.4/tr1/cinttypes
-#usr/include/c++/4.9.4/tr1/climits
-#usr/include/c++/4.9.4/tr1/cmath
-#usr/include/c++/4.9.4/tr1/complex
-#usr/include/c++/4.9.4/tr1/complex.h
-#usr/include/c++/4.9.4/tr1/cstdarg
-#usr/include/c++/4.9.4/tr1/cstdbool
-#usr/include/c++/4.9.4/tr1/cstdint
-#usr/include/c++/4.9.4/tr1/cstdio
-#usr/include/c++/4.9.4/tr1/cstdlib
-#usr/include/c++/4.9.4/tr1/ctgmath
-#usr/include/c++/4.9.4/tr1/ctime
-#usr/include/c++/4.9.4/tr1/ctype.h
-#usr/include/c++/4.9.4/tr1/cwchar
-#usr/include/c++/4.9.4/tr1/cwctype
-#usr/include/c++/4.9.4/tr1/ell_integral.tcc
-#usr/include/c++/4.9.4/tr1/exp_integral.tcc
-#usr/include/c++/4.9.4/tr1/fenv.h
-#usr/include/c++/4.9.4/tr1/float.h
-#usr/include/c++/4.9.4/tr1/functional
-#usr/include/c++/4.9.4/tr1/functional_hash.h
-#usr/include/c++/4.9.4/tr1/gamma.tcc
-#usr/include/c++/4.9.4/tr1/hashtable.h
-#usr/include/c++/4.9.4/tr1/hashtable_policy.h
-#usr/include/c++/4.9.4/tr1/hypergeometric.tcc
-#usr/include/c++/4.9.4/tr1/inttypes.h
-#usr/include/c++/4.9.4/tr1/legendre_function.tcc
-#usr/include/c++/4.9.4/tr1/limits.h
-#usr/include/c++/4.9.4/tr1/math.h
-#usr/include/c++/4.9.4/tr1/memory
-#usr/include/c++/4.9.4/tr1/modified_bessel_func.tcc
-#usr/include/c++/4.9.4/tr1/poly_hermite.tcc
-#usr/include/c++/4.9.4/tr1/poly_laguerre.tcc
-#usr/include/c++/4.9.4/tr1/random
-#usr/include/c++/4.9.4/tr1/random.h
-#usr/include/c++/4.9.4/tr1/random.tcc
-#usr/include/c++/4.9.4/tr1/regex
-#usr/include/c++/4.9.4/tr1/riemann_zeta.tcc
-#usr/include/c++/4.9.4/tr1/shared_ptr.h
-#usr/include/c++/4.9.4/tr1/special_function_util.h
-#usr/include/c++/4.9.4/tr1/stdarg.h
-#usr/include/c++/4.9.4/tr1/stdbool.h
-#usr/include/c++/4.9.4/tr1/stdint.h
-#usr/include/c++/4.9.4/tr1/stdio.h
-#usr/include/c++/4.9.4/tr1/stdlib.h
-#usr/include/c++/4.9.4/tr1/tgmath.h
-#usr/include/c++/4.9.4/tr1/tuple
-#usr/include/c++/4.9.4/tr1/type_traits
-#usr/include/c++/4.9.4/tr1/unordered_map
-#usr/include/c++/4.9.4/tr1/unordered_map.h
-#usr/include/c++/4.9.4/tr1/unordered_set
-#usr/include/c++/4.9.4/tr1/unordered_set.h
-#usr/include/c++/4.9.4/tr1/utility
-#usr/include/c++/4.9.4/tr1/wchar.h
-#usr/include/c++/4.9.4/tr1/wctype.h
-#usr/include/c++/4.9.4/tr2
-#usr/include/c++/4.9.4/tr2/bool_set
-#usr/include/c++/4.9.4/tr2/bool_set.tcc
-#usr/include/c++/4.9.4/tr2/dynamic_bitset
-#usr/include/c++/4.9.4/tr2/dynamic_bitset.tcc
-#usr/include/c++/4.9.4/tr2/ratio
-#usr/include/c++/4.9.4/tr2/type_traits
-#usr/include/c++/4.9.4/tuple
-#usr/include/c++/4.9.4/type_traits
-#usr/include/c++/4.9.4/typeindex
-#usr/include/c++/4.9.4/typeinfo
-#usr/include/c++/4.9.4/unordered_map
-#usr/include/c++/4.9.4/unordered_set
-#usr/include/c++/4.9.4/utility
-#usr/include/c++/4.9.4/valarray
-#usr/include/c++/4.9.4/vector
+#usr/include/c++/6.3.0
+#usr/include/c++/6.3.0/algorithm
+#usr/include/c++/6.3.0/array
+#usr/include/c++/6.3.0/atomic
+#usr/include/c++/6.3.0/backward
+#usr/include/c++/6.3.0/backward/auto_ptr.h
+#usr/include/c++/6.3.0/backward/backward_warning.h
+#usr/include/c++/6.3.0/backward/binders.h
+#usr/include/c++/6.3.0/backward/hash_fun.h
+#usr/include/c++/6.3.0/backward/hash_map
+#usr/include/c++/6.3.0/backward/hash_set
+#usr/include/c++/6.3.0/backward/hashtable.h
+#usr/include/c++/6.3.0/backward/strstream
+#usr/include/c++/6.3.0/bits
+#usr/include/c++/6.3.0/bits/algorithmfwd.h
+#usr/include/c++/6.3.0/bits/alloc_traits.h
+#usr/include/c++/6.3.0/bits/allocated_ptr.h
+#usr/include/c++/6.3.0/bits/allocator.h
+#usr/include/c++/6.3.0/bits/atomic_base.h
+#usr/include/c++/6.3.0/bits/atomic_futex.h
+#usr/include/c++/6.3.0/bits/atomic_lockfree_defines.h
+#usr/include/c++/6.3.0/bits/basic_ios.h
+#usr/include/c++/6.3.0/bits/basic_ios.tcc
+#usr/include/c++/6.3.0/bits/basic_string.h
+#usr/include/c++/6.3.0/bits/basic_string.tcc
+#usr/include/c++/6.3.0/bits/boost_concept_check.h
+#usr/include/c++/6.3.0/bits/c++0x_warning.h
+#usr/include/c++/6.3.0/bits/c++14_warning.h
+#usr/include/c++/6.3.0/bits/char_traits.h
+#usr/include/c++/6.3.0/bits/codecvt.h
+#usr/include/c++/6.3.0/bits/concept_check.h
+#usr/include/c++/6.3.0/bits/cpp_type_traits.h
+#usr/include/c++/6.3.0/bits/cxxabi_forced.h
+#usr/include/c++/6.3.0/bits/deque.tcc
+#usr/include/c++/6.3.0/bits/enable_special_members.h
+#usr/include/c++/6.3.0/bits/exception_defines.h
+#usr/include/c++/6.3.0/bits/exception_ptr.h
+#usr/include/c++/6.3.0/bits/forward_list.h
+#usr/include/c++/6.3.0/bits/forward_list.tcc
+#usr/include/c++/6.3.0/bits/fstream.tcc
+#usr/include/c++/6.3.0/bits/functexcept.h
+#usr/include/c++/6.3.0/bits/functional_hash.h
+#usr/include/c++/6.3.0/bits/gslice.h
+#usr/include/c++/6.3.0/bits/gslice_array.h
+#usr/include/c++/6.3.0/bits/hash_bytes.h
+#usr/include/c++/6.3.0/bits/hashtable.h
+#usr/include/c++/6.3.0/bits/hashtable_policy.h
+#usr/include/c++/6.3.0/bits/indirect_array.h
+#usr/include/c++/6.3.0/bits/ios_base.h
+#usr/include/c++/6.3.0/bits/istream.tcc
+#usr/include/c++/6.3.0/bits/list.tcc
+#usr/include/c++/6.3.0/bits/locale_classes.h
+#usr/include/c++/6.3.0/bits/locale_classes.tcc
+#usr/include/c++/6.3.0/bits/locale_conv.h
+#usr/include/c++/6.3.0/bits/locale_facets.h
+#usr/include/c++/6.3.0/bits/locale_facets.tcc
+#usr/include/c++/6.3.0/bits/locale_facets_nonio.h
+#usr/include/c++/6.3.0/bits/locale_facets_nonio.tcc
+#usr/include/c++/6.3.0/bits/localefwd.h
+#usr/include/c++/6.3.0/bits/mask_array.h
+#usr/include/c++/6.3.0/bits/memoryfwd.h
+#usr/include/c++/6.3.0/bits/move.h
+#usr/include/c++/6.3.0/bits/nested_exception.h
+#usr/include/c++/6.3.0/bits/ostream.tcc
+#usr/include/c++/6.3.0/bits/ostream_insert.h
+#usr/include/c++/6.3.0/bits/parse_numbers.h
+#usr/include/c++/6.3.0/bits/postypes.h
+#usr/include/c++/6.3.0/bits/predefined_ops.h
+#usr/include/c++/6.3.0/bits/ptr_traits.h
+#usr/include/c++/6.3.0/bits/quoted_string.h
+#usr/include/c++/6.3.0/bits/random.h
+#usr/include/c++/6.3.0/bits/random.tcc
+#usr/include/c++/6.3.0/bits/range_access.h
+#usr/include/c++/6.3.0/bits/regex.h
+#usr/include/c++/6.3.0/bits/regex.tcc
+#usr/include/c++/6.3.0/bits/regex_automaton.h
+#usr/include/c++/6.3.0/bits/regex_automaton.tcc
+#usr/include/c++/6.3.0/bits/regex_compiler.h
+#usr/include/c++/6.3.0/bits/regex_compiler.tcc
+#usr/include/c++/6.3.0/bits/regex_constants.h
+#usr/include/c++/6.3.0/bits/regex_error.h
+#usr/include/c++/6.3.0/bits/regex_executor.h
+#usr/include/c++/6.3.0/bits/regex_executor.tcc
+#usr/include/c++/6.3.0/bits/regex_scanner.h
+#usr/include/c++/6.3.0/bits/regex_scanner.tcc
+#usr/include/c++/6.3.0/bits/shared_ptr.h
+#usr/include/c++/6.3.0/bits/shared_ptr_atomic.h
+#usr/include/c++/6.3.0/bits/shared_ptr_base.h
+#usr/include/c++/6.3.0/bits/slice_array.h
+#usr/include/c++/6.3.0/bits/specfun.h
+#usr/include/c++/6.3.0/bits/sstream.tcc
+#usr/include/c++/6.3.0/bits/std_mutex.h
+#usr/include/c++/6.3.0/bits/stl_algo.h
+#usr/include/c++/6.3.0/bits/stl_algobase.h
+#usr/include/c++/6.3.0/bits/stl_bvector.h
+#usr/include/c++/6.3.0/bits/stl_construct.h
+#usr/include/c++/6.3.0/bits/stl_deque.h
+#usr/include/c++/6.3.0/bits/stl_function.h
+#usr/include/c++/6.3.0/bits/stl_heap.h
+#usr/include/c++/6.3.0/bits/stl_iterator.h
+#usr/include/c++/6.3.0/bits/stl_iterator_base_funcs.h
+#usr/include/c++/6.3.0/bits/stl_iterator_base_types.h
+#usr/include/c++/6.3.0/bits/stl_list.h
+#usr/include/c++/6.3.0/bits/stl_map.h
+#usr/include/c++/6.3.0/bits/stl_multimap.h
+#usr/include/c++/6.3.0/bits/stl_multiset.h
+#usr/include/c++/6.3.0/bits/stl_numeric.h
+#usr/include/c++/6.3.0/bits/stl_pair.h
+#usr/include/c++/6.3.0/bits/stl_queue.h
+#usr/include/c++/6.3.0/bits/stl_raw_storage_iter.h
+#usr/include/c++/6.3.0/bits/stl_relops.h
+#usr/include/c++/6.3.0/bits/stl_set.h
+#usr/include/c++/6.3.0/bits/stl_stack.h
+#usr/include/c++/6.3.0/bits/stl_tempbuf.h
+#usr/include/c++/6.3.0/bits/stl_tree.h
+#usr/include/c++/6.3.0/bits/stl_uninitialized.h
+#usr/include/c++/6.3.0/bits/stl_vector.h
+#usr/include/c++/6.3.0/bits/stream_iterator.h
+#usr/include/c++/6.3.0/bits/streambuf.tcc
+#usr/include/c++/6.3.0/bits/streambuf_iterator.h
+#usr/include/c++/6.3.0/bits/stringfwd.h
+#usr/include/c++/6.3.0/bits/uniform_int_dist.h
+#usr/include/c++/6.3.0/bits/unique_ptr.h
+#usr/include/c++/6.3.0/bits/unordered_map.h
+#usr/include/c++/6.3.0/bits/unordered_set.h
+#usr/include/c++/6.3.0/bits/uses_allocator.h
+#usr/include/c++/6.3.0/bits/valarray_after.h
+#usr/include/c++/6.3.0/bits/valarray_array.h
+#usr/include/c++/6.3.0/bits/valarray_array.tcc
+#usr/include/c++/6.3.0/bits/valarray_before.h
+#usr/include/c++/6.3.0/bits/vector.tcc
+#usr/include/c++/6.3.0/bitset
+#usr/include/c++/6.3.0/cassert
+#usr/include/c++/6.3.0/ccomplex
+#usr/include/c++/6.3.0/cctype
+#usr/include/c++/6.3.0/cerrno
+#usr/include/c++/6.3.0/cfenv
+#usr/include/c++/6.3.0/cfloat
+#usr/include/c++/6.3.0/chrono
+#usr/include/c++/6.3.0/cinttypes
+#usr/include/c++/6.3.0/ciso646
+#usr/include/c++/6.3.0/climits
+#usr/include/c++/6.3.0/clocale
+#usr/include/c++/6.3.0/cmath
+#usr/include/c++/6.3.0/codecvt
+#usr/include/c++/6.3.0/complex
+#usr/include/c++/6.3.0/complex.h
+#usr/include/c++/6.3.0/condition_variable
+#usr/include/c++/6.3.0/csetjmp
+#usr/include/c++/6.3.0/csignal
+#usr/include/c++/6.3.0/cstdalign
+#usr/include/c++/6.3.0/cstdarg
+#usr/include/c++/6.3.0/cstdbool
+#usr/include/c++/6.3.0/cstddef
+#usr/include/c++/6.3.0/cstdint
+#usr/include/c++/6.3.0/cstdio
+#usr/include/c++/6.3.0/cstdlib
+#usr/include/c++/6.3.0/cstring
+#usr/include/c++/6.3.0/ctgmath
+#usr/include/c++/6.3.0/ctime
+#usr/include/c++/6.3.0/cuchar
+#usr/include/c++/6.3.0/cwchar
+#usr/include/c++/6.3.0/cwctype
+#usr/include/c++/6.3.0/cxxabi.h
+#usr/include/c++/6.3.0/debug
+#usr/include/c++/6.3.0/debug/array
+#usr/include/c++/6.3.0/debug/assertions.h
+#usr/include/c++/6.3.0/debug/bitset
+#usr/include/c++/6.3.0/debug/debug.h
+#usr/include/c++/6.3.0/debug/deque
+#usr/include/c++/6.3.0/debug/formatter.h
+#usr/include/c++/6.3.0/debug/forward_list
+#usr/include/c++/6.3.0/debug/functions.h
+#usr/include/c++/6.3.0/debug/helper_functions.h
+#usr/include/c++/6.3.0/debug/list
+#usr/include/c++/6.3.0/debug/macros.h
+#usr/include/c++/6.3.0/debug/map
+#usr/include/c++/6.3.0/debug/map.h
+#usr/include/c++/6.3.0/debug/multimap.h
+#usr/include/c++/6.3.0/debug/multiset.h
+#usr/include/c++/6.3.0/debug/safe_base.h
+#usr/include/c++/6.3.0/debug/safe_container.h
+#usr/include/c++/6.3.0/debug/safe_iterator.h
+#usr/include/c++/6.3.0/debug/safe_iterator.tcc
+#usr/include/c++/6.3.0/debug/safe_local_iterator.h
+#usr/include/c++/6.3.0/debug/safe_local_iterator.tcc
+#usr/include/c++/6.3.0/debug/safe_sequence.h
+#usr/include/c++/6.3.0/debug/safe_sequence.tcc
+#usr/include/c++/6.3.0/debug/safe_unordered_base.h
+#usr/include/c++/6.3.0/debug/safe_unordered_container.h
+#usr/include/c++/6.3.0/debug/safe_unordered_container.tcc
+#usr/include/c++/6.3.0/debug/set
+#usr/include/c++/6.3.0/debug/set.h
+#usr/include/c++/6.3.0/debug/stl_iterator.h
+#usr/include/c++/6.3.0/debug/string
+#usr/include/c++/6.3.0/debug/unordered_map
+#usr/include/c++/6.3.0/debug/unordered_set
+#usr/include/c++/6.3.0/debug/vector
+#usr/include/c++/6.3.0/decimal
+#usr/include/c++/6.3.0/decimal/decimal
+#usr/include/c++/6.3.0/decimal/decimal.h
+#usr/include/c++/6.3.0/deque
+#usr/include/c++/6.3.0/exception
+#usr/include/c++/6.3.0/experimental
+#usr/include/c++/6.3.0/experimental/algorithm
+#usr/include/c++/6.3.0/experimental/any
+#usr/include/c++/6.3.0/experimental/array
+#usr/include/c++/6.3.0/experimental/bits
+#usr/include/c++/6.3.0/experimental/bits/erase_if.h
+#usr/include/c++/6.3.0/experimental/bits/fs_dir.h
+#usr/include/c++/6.3.0/experimental/bits/fs_fwd.h
+#usr/include/c++/6.3.0/experimental/bits/fs_ops.h
+#usr/include/c++/6.3.0/experimental/bits/fs_path.h
+#usr/include/c++/6.3.0/experimental/bits/lfts_config.h
+#usr/include/c++/6.3.0/experimental/bits/shared_ptr.h
+#usr/include/c++/6.3.0/experimental/bits/string_view.tcc
+#usr/include/c++/6.3.0/experimental/chrono
+#usr/include/c++/6.3.0/experimental/deque
+#usr/include/c++/6.3.0/experimental/filesystem
+#usr/include/c++/6.3.0/experimental/forward_list
+#usr/include/c++/6.3.0/experimental/functional
+#usr/include/c++/6.3.0/experimental/iterator
+#usr/include/c++/6.3.0/experimental/list
+#usr/include/c++/6.3.0/experimental/map
+#usr/include/c++/6.3.0/experimental/memory
+#usr/include/c++/6.3.0/experimental/memory_resource
+#usr/include/c++/6.3.0/experimental/numeric
+#usr/include/c++/6.3.0/experimental/optional
+#usr/include/c++/6.3.0/experimental/propagate_const
+#usr/include/c++/6.3.0/experimental/random
+#usr/include/c++/6.3.0/experimental/ratio
+#usr/include/c++/6.3.0/experimental/regex
+#usr/include/c++/6.3.0/experimental/set
+#usr/include/c++/6.3.0/experimental/string
+#usr/include/c++/6.3.0/experimental/string_view
+#usr/include/c++/6.3.0/experimental/system_error
+#usr/include/c++/6.3.0/experimental/tuple
+#usr/include/c++/6.3.0/experimental/type_traits
+#usr/include/c++/6.3.0/experimental/unordered_map
+#usr/include/c++/6.3.0/experimental/unordered_set
+#usr/include/c++/6.3.0/experimental/utility
+#usr/include/c++/6.3.0/experimental/vector
+#usr/include/c++/6.3.0/ext
+#usr/include/c++/6.3.0/ext/algorithm
+#usr/include/c++/6.3.0/ext/aligned_buffer.h
+#usr/include/c++/6.3.0/ext/alloc_traits.h
+#usr/include/c++/6.3.0/ext/array_allocator.h
+#usr/include/c++/6.3.0/ext/atomicity.h
+#usr/include/c++/6.3.0/ext/bitmap_allocator.h
+#usr/include/c++/6.3.0/ext/cast.h
+#usr/include/c++/6.3.0/ext/cmath
+#usr/include/c++/6.3.0/ext/codecvt_specializations.h
+#usr/include/c++/6.3.0/ext/concurrence.h
+#usr/include/c++/6.3.0/ext/debug_allocator.h
+#usr/include/c++/6.3.0/ext/enc_filebuf.h
+#usr/include/c++/6.3.0/ext/extptr_allocator.h
+#usr/include/c++/6.3.0/ext/functional
+#usr/include/c++/6.3.0/ext/hash_map
+#usr/include/c++/6.3.0/ext/hash_set
+#usr/include/c++/6.3.0/ext/iterator
+#usr/include/c++/6.3.0/ext/malloc_allocator.h
+#usr/include/c++/6.3.0/ext/memory
+#usr/include/c++/6.3.0/ext/mt_allocator.h
+#usr/include/c++/6.3.0/ext/new_allocator.h
+#usr/include/c++/6.3.0/ext/numeric
+#usr/include/c++/6.3.0/ext/numeric_traits.h
+#usr/include/c++/6.3.0/ext/pb_ds
+#usr/include/c++/6.3.0/ext/pb_ds/assoc_container.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/traits.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/const_iterator.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/entry_pred.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/point_const_iterator.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/resize_policy.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binomial_heap_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binomial_heap_base_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/branch_policy
+#usr/include/c++/6.3.0/ext/pb_ds/detail/branch_policy/branch_policy.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/branch_policy/null_node_metadata.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/branch_policy/traits.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cond_dealtor.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/container_base_dispatch.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/debug_map_base.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/eq_fn
+#usr/include/c++/6.3.0/ext/pb_ds/detail/eq_fn/eq_by_less.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/hash_fn
+#usr/include/c++/6.3.0/ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/point_const_iterator.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/list_update_map_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/list_update_map_/lu_map_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/list_update_policy
+#usr/include/c++/6.3.0/ext/pb_ds/detail/list_update_policy/lu_counter_metadata.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/ov_tree_map_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/ov_tree_map_/traits.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pairing_heap_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/synth_access_traits.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/traits.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/priority_queue_base_dispatch.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rb_tree_map_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rb_tree_map_/node.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rb_tree_map_/traits.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rc_binomial_heap_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rc_binomial_heap_/rc_binomial_heap_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/resize_policy
+#usr/include/c++/6.3.0/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/splay_tree_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/splay_tree_/node.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/splay_tree_/traits.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/standard_policies.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/thin_heap_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/tree_policy
+#usr/include/c++/6.3.0/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/tree_trace_base.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/trie_policy
+#usr/include/c++/6.3.0/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/trie_policy/sample_trie_access_traits.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/trie_policy/trie_string_access_traits_imp.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/type_utils.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/types_traits.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/unordered_iterator
+#usr/include/c++/6.3.0/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/unordered_iterator/iterator.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/unordered_iterator/point_const_iterator.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/exception.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/hash_policy.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/list_update_policy.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/priority_queue.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/tag_and_trait.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/tree_policy.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/trie_policy.hpp
+#usr/include/c++/6.3.0/ext/pod_char_traits.h
+#usr/include/c++/6.3.0/ext/pointer.h
+#usr/include/c++/6.3.0/ext/pool_allocator.h
+#usr/include/c++/6.3.0/ext/random
+#usr/include/c++/6.3.0/ext/random.tcc
+#usr/include/c++/6.3.0/ext/rb_tree
+#usr/include/c++/6.3.0/ext/rc_string_base.h
+#usr/include/c++/6.3.0/ext/rope
+#usr/include/c++/6.3.0/ext/ropeimpl.h
+#usr/include/c++/6.3.0/ext/slist
+#usr/include/c++/6.3.0/ext/sso_string_base.h
+#usr/include/c++/6.3.0/ext/stdio_filebuf.h
+#usr/include/c++/6.3.0/ext/stdio_sync_filebuf.h
+#usr/include/c++/6.3.0/ext/string_conversions.h
+#usr/include/c++/6.3.0/ext/throw_allocator.h
+#usr/include/c++/6.3.0/ext/type_traits.h
+#usr/include/c++/6.3.0/ext/typelist.h
+#usr/include/c++/6.3.0/ext/vstring.h
+#usr/include/c++/6.3.0/ext/vstring.tcc
+#usr/include/c++/6.3.0/ext/vstring_fwd.h
+#usr/include/c++/6.3.0/ext/vstring_util.h
+#usr/include/c++/6.3.0/fenv.h
+#usr/include/c++/6.3.0/forward_list
+#usr/include/c++/6.3.0/fstream
+#usr/include/c++/6.3.0/functional
+#usr/include/c++/6.3.0/future
+#usr/include/c++/6.3.0/i586-pc-linux-gnu
+#usr/include/c++/6.3.0/i586-pc-linux-gnu/bits
+#usr/include/c++/6.3.0/i586-pc-linux-gnu/bits/atomic_word.h
+#usr/include/c++/6.3.0/i586-pc-linux-gnu/bits/basic_file.h
+#usr/include/c++/6.3.0/i586-pc-linux-gnu/bits/c++allocator.h
+#usr/include/c++/6.3.0/i586-pc-linux-gnu/bits/c++config.h
+#usr/include/c++/6.3.0/i586-pc-linux-gnu/bits/c++io.h
+#usr/include/c++/6.3.0/i586-pc-linux-gnu/bits/c++locale.h
+#usr/include/c++/6.3.0/i586-pc-linux-gnu/bits/cpu_defines.h
+#usr/include/c++/6.3.0/i586-pc-linux-gnu/bits/ctype_base.h
+#usr/include/c++/6.3.0/i586-pc-linux-gnu/bits/ctype_inline.h
+#usr/include/c++/6.3.0/i586-pc-linux-gnu/bits/cxxabi_tweaks.h
+#usr/include/c++/6.3.0/i586-pc-linux-gnu/bits/error_constants.h
+#usr/include/c++/6.3.0/i586-pc-linux-gnu/bits/extc++.h
+#usr/include/c++/6.3.0/i586-pc-linux-gnu/bits/gthr-default.h
+#usr/include/c++/6.3.0/i586-pc-linux-gnu/bits/gthr-posix.h
+#usr/include/c++/6.3.0/i586-pc-linux-gnu/bits/gthr-single.h
+#usr/include/c++/6.3.0/i586-pc-linux-gnu/bits/gthr.h
+#usr/include/c++/6.3.0/i586-pc-linux-gnu/bits/messages_members.h
+#usr/include/c++/6.3.0/i586-pc-linux-gnu/bits/opt_random.h
+#usr/include/c++/6.3.0/i586-pc-linux-gnu/bits/os_defines.h
+#usr/include/c++/6.3.0/i586-pc-linux-gnu/bits/stdc++.h
+#usr/include/c++/6.3.0/i586-pc-linux-gnu/bits/stdtr1c++.h
+#usr/include/c++/6.3.0/i586-pc-linux-gnu/bits/time_members.h
+#usr/include/c++/6.3.0/i586-pc-linux-gnu/ext
+#usr/include/c++/6.3.0/i586-pc-linux-gnu/ext/opt_random.h
+#usr/include/c++/6.3.0/initializer_list
+#usr/include/c++/6.3.0/iomanip
+#usr/include/c++/6.3.0/ios
+#usr/include/c++/6.3.0/iosfwd
+#usr/include/c++/6.3.0/iostream
+#usr/include/c++/6.3.0/istream
+#usr/include/c++/6.3.0/iterator
+#usr/include/c++/6.3.0/limits
+#usr/include/c++/6.3.0/list
+#usr/include/c++/6.3.0/locale
+#usr/include/c++/6.3.0/map
+#usr/include/c++/6.3.0/math.h
+#usr/include/c++/6.3.0/memory
+#usr/include/c++/6.3.0/mutex
+#usr/include/c++/6.3.0/new
+#usr/include/c++/6.3.0/numeric
+#usr/include/c++/6.3.0/ostream
+#usr/include/c++/6.3.0/parallel
+#usr/include/c++/6.3.0/parallel/algo.h
+#usr/include/c++/6.3.0/parallel/algobase.h
+#usr/include/c++/6.3.0/parallel/algorithm
+#usr/include/c++/6.3.0/parallel/algorithmfwd.h
+#usr/include/c++/6.3.0/parallel/balanced_quicksort.h
+#usr/include/c++/6.3.0/parallel/base.h
+#usr/include/c++/6.3.0/parallel/basic_iterator.h
+#usr/include/c++/6.3.0/parallel/checkers.h
+#usr/include/c++/6.3.0/parallel/compatibility.h
+#usr/include/c++/6.3.0/parallel/compiletime_settings.h
+#usr/include/c++/6.3.0/parallel/equally_split.h
+#usr/include/c++/6.3.0/parallel/features.h
+#usr/include/c++/6.3.0/parallel/find.h
+#usr/include/c++/6.3.0/parallel/find_selectors.h
+#usr/include/c++/6.3.0/parallel/for_each.h
+#usr/include/c++/6.3.0/parallel/for_each_selectors.h
+#usr/include/c++/6.3.0/parallel/iterator.h
+#usr/include/c++/6.3.0/parallel/list_partition.h
+#usr/include/c++/6.3.0/parallel/losertree.h
+#usr/include/c++/6.3.0/parallel/merge.h
+#usr/include/c++/6.3.0/parallel/multiseq_selection.h
+#usr/include/c++/6.3.0/parallel/multiway_merge.h
+#usr/include/c++/6.3.0/parallel/multiway_mergesort.h
+#usr/include/c++/6.3.0/parallel/numeric
+#usr/include/c++/6.3.0/parallel/numericfwd.h
+#usr/include/c++/6.3.0/parallel/omp_loop.h
+#usr/include/c++/6.3.0/parallel/omp_loop_static.h
+#usr/include/c++/6.3.0/parallel/par_loop.h
+#usr/include/c++/6.3.0/parallel/parallel.h
+#usr/include/c++/6.3.0/parallel/partial_sum.h
+#usr/include/c++/6.3.0/parallel/partition.h
+#usr/include/c++/6.3.0/parallel/queue.h
+#usr/include/c++/6.3.0/parallel/quicksort.h
+#usr/include/c++/6.3.0/parallel/random_number.h
+#usr/include/c++/6.3.0/parallel/random_shuffle.h
+#usr/include/c++/6.3.0/parallel/search.h
+#usr/include/c++/6.3.0/parallel/set_operations.h
+#usr/include/c++/6.3.0/parallel/settings.h
+#usr/include/c++/6.3.0/parallel/sort.h
+#usr/include/c++/6.3.0/parallel/tags.h
+#usr/include/c++/6.3.0/parallel/types.h
+#usr/include/c++/6.3.0/parallel/unique_copy.h
+#usr/include/c++/6.3.0/parallel/workstealing.h
+#usr/include/c++/6.3.0/profile
+#usr/include/c++/6.3.0/profile/array
+#usr/include/c++/6.3.0/profile/base.h
+#usr/include/c++/6.3.0/profile/bitset
+#usr/include/c++/6.3.0/profile/deque
+#usr/include/c++/6.3.0/profile/forward_list
+#usr/include/c++/6.3.0/profile/impl
+#usr/include/c++/6.3.0/profile/impl/profiler.h
+#usr/include/c++/6.3.0/profile/impl/profiler_algos.h
+#usr/include/c++/6.3.0/profile/impl/profiler_container_size.h
+#usr/include/c++/6.3.0/profile/impl/profiler_hash_func.h
+#usr/include/c++/6.3.0/profile/impl/profiler_hashtable_size.h
+#usr/include/c++/6.3.0/profile/impl/profiler_list_to_slist.h
+#usr/include/c++/6.3.0/profile/impl/profiler_list_to_vector.h
+#usr/include/c++/6.3.0/profile/impl/profiler_map_to_unordered_map.h
+#usr/include/c++/6.3.0/profile/impl/profiler_node.h
+#usr/include/c++/6.3.0/profile/impl/profiler_state.h
+#usr/include/c++/6.3.0/profile/impl/profiler_trace.h
+#usr/include/c++/6.3.0/profile/impl/profiler_vector_size.h
+#usr/include/c++/6.3.0/profile/impl/profiler_vector_to_list.h
+#usr/include/c++/6.3.0/profile/iterator_tracker.h
+#usr/include/c++/6.3.0/profile/list
+#usr/include/c++/6.3.0/profile/map
+#usr/include/c++/6.3.0/profile/map.h
+#usr/include/c++/6.3.0/profile/multimap.h
+#usr/include/c++/6.3.0/profile/multiset.h
+#usr/include/c++/6.3.0/profile/ordered_base.h
+#usr/include/c++/6.3.0/profile/set
+#usr/include/c++/6.3.0/profile/set.h
+#usr/include/c++/6.3.0/profile/unordered_base.h
+#usr/include/c++/6.3.0/profile/unordered_map
+#usr/include/c++/6.3.0/profile/unordered_set
+#usr/include/c++/6.3.0/profile/vector
+#usr/include/c++/6.3.0/queue
+#usr/include/c++/6.3.0/random
+#usr/include/c++/6.3.0/ratio
+#usr/include/c++/6.3.0/regex
+#usr/include/c++/6.3.0/scoped_allocator
+#usr/include/c++/6.3.0/set
+#usr/include/c++/6.3.0/shared_mutex
+#usr/include/c++/6.3.0/sstream
+#usr/include/c++/6.3.0/stack
+#usr/include/c++/6.3.0/stdexcept
+#usr/include/c++/6.3.0/stdlib.h
+#usr/include/c++/6.3.0/streambuf
+#usr/include/c++/6.3.0/string
+#usr/include/c++/6.3.0/system_error
+#usr/include/c++/6.3.0/tgmath.h
+#usr/include/c++/6.3.0/thread
+#usr/include/c++/6.3.0/tr1
+#usr/include/c++/6.3.0/tr1/array
+#usr/include/c++/6.3.0/tr1/bessel_function.tcc
+#usr/include/c++/6.3.0/tr1/beta_function.tcc
+#usr/include/c++/6.3.0/tr1/ccomplex
+#usr/include/c++/6.3.0/tr1/cctype
+#usr/include/c++/6.3.0/tr1/cfenv
+#usr/include/c++/6.3.0/tr1/cfloat
+#usr/include/c++/6.3.0/tr1/cinttypes
+#usr/include/c++/6.3.0/tr1/climits
+#usr/include/c++/6.3.0/tr1/cmath
+#usr/include/c++/6.3.0/tr1/complex
+#usr/include/c++/6.3.0/tr1/complex.h
+#usr/include/c++/6.3.0/tr1/cstdarg
+#usr/include/c++/6.3.0/tr1/cstdbool
+#usr/include/c++/6.3.0/tr1/cstdint
+#usr/include/c++/6.3.0/tr1/cstdio
+#usr/include/c++/6.3.0/tr1/cstdlib
+#usr/include/c++/6.3.0/tr1/ctgmath
+#usr/include/c++/6.3.0/tr1/ctime
+#usr/include/c++/6.3.0/tr1/ctype.h
+#usr/include/c++/6.3.0/tr1/cwchar
+#usr/include/c++/6.3.0/tr1/cwctype
+#usr/include/c++/6.3.0/tr1/ell_integral.tcc
+#usr/include/c++/6.3.0/tr1/exp_integral.tcc
+#usr/include/c++/6.3.0/tr1/fenv.h
+#usr/include/c++/6.3.0/tr1/float.h
+#usr/include/c++/6.3.0/tr1/functional
+#usr/include/c++/6.3.0/tr1/functional_hash.h
+#usr/include/c++/6.3.0/tr1/gamma.tcc
+#usr/include/c++/6.3.0/tr1/hashtable.h
+#usr/include/c++/6.3.0/tr1/hashtable_policy.h
+#usr/include/c++/6.3.0/tr1/hypergeometric.tcc
+#usr/include/c++/6.3.0/tr1/inttypes.h
+#usr/include/c++/6.3.0/tr1/legendre_function.tcc
+#usr/include/c++/6.3.0/tr1/limits.h
+#usr/include/c++/6.3.0/tr1/math.h
+#usr/include/c++/6.3.0/tr1/memory
+#usr/include/c++/6.3.0/tr1/modified_bessel_func.tcc
+#usr/include/c++/6.3.0/tr1/poly_hermite.tcc
+#usr/include/c++/6.3.0/tr1/poly_laguerre.tcc
+#usr/include/c++/6.3.0/tr1/random
+#usr/include/c++/6.3.0/tr1/random.h
+#usr/include/c++/6.3.0/tr1/random.tcc
+#usr/include/c++/6.3.0/tr1/regex
+#usr/include/c++/6.3.0/tr1/riemann_zeta.tcc
+#usr/include/c++/6.3.0/tr1/shared_ptr.h
+#usr/include/c++/6.3.0/tr1/special_function_util.h
+#usr/include/c++/6.3.0/tr1/stdarg.h
+#usr/include/c++/6.3.0/tr1/stdbool.h
+#usr/include/c++/6.3.0/tr1/stdint.h
+#usr/include/c++/6.3.0/tr1/stdio.h
+#usr/include/c++/6.3.0/tr1/stdlib.h
+#usr/include/c++/6.3.0/tr1/tgmath.h
+#usr/include/c++/6.3.0/tr1/tuple
+#usr/include/c++/6.3.0/tr1/type_traits
+#usr/include/c++/6.3.0/tr1/unordered_map
+#usr/include/c++/6.3.0/tr1/unordered_map.h
+#usr/include/c++/6.3.0/tr1/unordered_set
+#usr/include/c++/6.3.0/tr1/unordered_set.h
+#usr/include/c++/6.3.0/tr1/utility
+#usr/include/c++/6.3.0/tr1/wchar.h
+#usr/include/c++/6.3.0/tr1/wctype.h
+#usr/include/c++/6.3.0/tr2
+#usr/include/c++/6.3.0/tr2/bool_set
+#usr/include/c++/6.3.0/tr2/bool_set.tcc
+#usr/include/c++/6.3.0/tr2/dynamic_bitset
+#usr/include/c++/6.3.0/tr2/dynamic_bitset.tcc
+#usr/include/c++/6.3.0/tr2/ratio
+#usr/include/c++/6.3.0/tr2/type_traits
+#usr/include/c++/6.3.0/tuple
+#usr/include/c++/6.3.0/type_traits
+#usr/include/c++/6.3.0/typeindex
+#usr/include/c++/6.3.0/typeinfo
+#usr/include/c++/6.3.0/unordered_map
+#usr/include/c++/6.3.0/unordered_set
+#usr/include/c++/6.3.0/utility
+#usr/include/c++/6.3.0/valarray
+#usr/include/c++/6.3.0/vector
 #usr/lib/gcc
 #usr/lib/gcc/i586-pc-linux-gnu
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/cc1
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/cc1plus
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/collect2
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/crtbegin.o
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/crtbeginS.o
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/crtbeginT.o
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/crtend.o
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/crtendS.o
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/crtfastmath.o
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/crtprec32.o
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/crtprec64.o
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/crtprec80.o
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/finclude
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include-fixed
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include-fixed/README
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include-fixed/limits.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include-fixed/syslimits.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/adxintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/ammintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/avx2intrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/avx512cdintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/avx512erintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/avx512fintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/avx512pfintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/avxintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/bmi2intrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/bmiintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/bmmintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/cilk
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/cilk/cilk.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/cilk/cilk_api.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/cilk/cilk_api_linux.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/cilk/cilk_stub.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/cilk/cilk_undocumented.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/cilk/common.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/cilk/holder.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/cilk/hyperobject_base.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/cilk/metaprogramming.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/cilk/reducer.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/cilk/reducer_file.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/cilk/reducer_list.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/cilk/reducer_max.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/cilk/reducer_min.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/cilk/reducer_min_max.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/cilk/reducer_opadd.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/cilk/reducer_opand.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/cilk/reducer_opmul.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/cilk/reducer_opor.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/cilk/reducer_opxor.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/cilk/reducer_ostream.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/cilk/reducer_string.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/cpuid.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/cross-stdarg.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/emmintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/f16cintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/float.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/fma4intrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/fmaintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/fxsrintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/ia32intrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/immintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/iso646.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/lwpintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/lzcntintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/mm3dnow.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/mm_malloc.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/mmintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/nmmintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/omp.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/pmmintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/popcntintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/prfchwintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/quadmath.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/quadmath_weak.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/rdseedintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/rtmintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/sanitizer
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/sanitizer/asan_interface.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/sanitizer/common_interface_defs.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/sanitizer/lsan_interface.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/shaintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/smmintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/ssp
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/ssp/ssp.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/ssp/stdio.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/ssp/string.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/ssp/unistd.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/stdalign.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/stdarg.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/stdatomic.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/stdbool.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/stddef.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/stdfix.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/stdint-gcc.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/stdint.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/stdnoreturn.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/tbmintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/tmmintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/unwind.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/varargs.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/wmmintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/x86intrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/xmmintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/xopintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/xsaveintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/xsaveoptintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/include/xtestintrin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/install-tools
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/install-tools/fixinc.sh
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/install-tools/fixinc_list
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/install-tools/fixincl
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/install-tools/gsyslimits.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/install-tools/include
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/install-tools/include/README
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/install-tools/include/limits.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/install-tools/macro_list
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/install-tools/mkheaders
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/install-tools/mkheaders.conf
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/install-tools/mkinstalldirs
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/libgcc.a
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/libgcc_eh.a
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/libgcov.a
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/liblto_plugin.la
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/liblto_plugin.so
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/liblto_plugin.so.0
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/liblto_plugin.so.0.0.0
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/lto-wrapper
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/lto1
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/gengtype
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/gtype.state
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/ada
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/ada/gcc-interface
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/ada/gcc-interface/ada-tree.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/alias.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/all-tree.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/alloc-pool.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/ansidecl.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/attribs.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/auto-host.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/b-header-vars
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/basic-block.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/bitmap.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/builtins.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/bversion.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/c-family
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/c-family/c-common.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/c-family/c-common.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/c-family/c-objc.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/c-family/c-pragma.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/c-family/c-pretty-print.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/c-tree.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/calls.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/cfg-flags.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/cfgexpand.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/cfghooks.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/cfgloop.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/cgraph.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/cif-code.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/cilk-builtins.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/cilkplus.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/config
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/config.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/config/dbxelf.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/config/elfos.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/config/glibc-stdint.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/config/gnu-user.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/config/i386
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/config/i386/att.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/config/i386/gnu-user-common.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/config/i386/gnu-user.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/config/i386/i386-opts.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/config/i386/i386-protos.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/config/i386/i386.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/config/i386/linux-common.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/config/i386/linux.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/config/i386/stringop.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/config/i386/unix.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/config/i386/x86-tune.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/config/initfini-array.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/config/linux-android.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/config/linux-protos.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/config/linux.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/config/vxworks-dummy.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/configargs.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/context.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/coretypes.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/cp
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/cp/cp-tree.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/cp/cp-tree.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/cp/cxx-pretty-print.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/cp/name-lookup.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/cp/type-utils.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/cppdefault.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/cpplib.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/debug.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/defaults.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/df.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/diagnostic-color.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/diagnostic-core.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/diagnostic.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/diagnostic.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/double-int.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/dumpfile.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/emit-rtl.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/except.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/filenames.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/fixed-value.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/flag-types.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/flags.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/fold-const.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/function.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/gcc-plugin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/gcc-symtab.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/genrtl.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/ggc.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/gimple-builder.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/gimple-expr.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/gimple-fold.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/gimple-iterator.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/gimple-low.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/gimple-pretty-print.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/gimple-ssa.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/gimple-walk.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/gimple.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/gimple.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/gimplify-me.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/gimplify.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/gsstruct.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/gtm-builtins.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/gtype-desc.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/hard-reg-set.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/hash-table.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/hashtab.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/highlev-plugin-common.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/hwint.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/incpath.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/input.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/insn-codes.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/insn-constants.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/insn-flags.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/insn-modes.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/insn-notes.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/internal-fn.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/internal-fn.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/intl.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/ipa-prop.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/ipa-ref-inline.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/ipa-ref.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/ipa-reference.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/ipa-utils.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/is-a.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/java
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/java/java-tree.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/langhooks.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/libiberty.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/line-map.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/machmode.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/md5.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/mode-classes.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/objc
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/objc/objc-tree.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/obstack.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/omp-builtins.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/options.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/opts.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/output.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/params.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/params.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/pass-instances.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/pass_manager.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/plugin-api.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/plugin-version.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/plugin.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/plugin.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/pointer-set.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/predict.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/predict.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/prefix.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/pretty-print.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/print-rtl.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/print-tree.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/real.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/realmpfr.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/reg-notes.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/regset.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/resource.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/rtl.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/rtl.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/safe-ctype.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/sanitizer.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/sbitmap.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/splay-tree.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/ssa-iterators.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/statistics.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/stmt.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/stor-layout.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/stringpool.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/symtab.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/sync-builtins.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/system.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/target-hooks-macros.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/target.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/target.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/timevar.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/timevar.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tm-preds.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tm.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tm_p.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/toplev.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-cfg.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-cfgcleanup.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-check.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-core.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-dfa.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-dump.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-eh.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-hasher.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-inline.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-into-ssa.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-iterator.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-nested.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-object-size.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-outof-ssa.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-parloops.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-pass.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-phinodes.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-pretty-print.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-ssa-address.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-ssa-alias.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-ssa-coalesce.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-ssa-dom.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-ssa-loop-ivopts.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-ssa-loop-manip.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-ssa-loop-niter.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-ssa-loop.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-ssa-operands.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-ssa-sccvn.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-ssa-ter.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-ssa-threadedge.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-ssa-threadupdate.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-ssa.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree-ssanames.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/tree.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/treestruct.def
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/varasm.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/vec.h
-#usr/lib/gcc/i586-pc-linux-gnu/4.9.4/plugin/include/version.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/cc1
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/cc1plus
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/collect2
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/crtbegin.o
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/crtbeginS.o
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/crtbeginT.o
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/crtend.o
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/crtendS.o
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/crtfastmath.o
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/crtprec32.o
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/crtprec64.o
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/crtprec80.o
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include-fixed
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include-fixed/README
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include-fixed/limits.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include-fixed/syslimits.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/adxintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/ammintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/avx2intrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/avx512bwintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/avx512cdintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/avx512dqintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/avx512erintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/avx512fintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/avx512ifmaintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/avx512ifmavlintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/avx512pfintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/avx512vbmiintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/avx512vbmivlintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/avx512vlbwintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/avx512vldqintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/avx512vlintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/avxintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/bmi2intrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/bmiintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/bmmintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/cilk
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/cilk/cilk.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/cilk/cilk_api.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/cilk/cilk_api_linux.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/cilk/cilk_stub.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/cilk/cilk_undocumented.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/cilk/common.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/cilk/holder.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/cilk/hyperobject_base.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/cilk/metaprogramming.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/cilk/reducer.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/cilk/reducer_file.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/cilk/reducer_list.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/cilk/reducer_max.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/cilk/reducer_min.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/cilk/reducer_min_max.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/cilk/reducer_opadd.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/cilk/reducer_opand.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/cilk/reducer_opmul.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/cilk/reducer_opor.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/cilk/reducer_opxor.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/cilk/reducer_ostream.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/cilk/reducer_string.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/clflushoptintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/clwbintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/clzerointrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/cpuid.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/cross-stdarg.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/emmintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/f16cintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/float.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/fma4intrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/fmaintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/fxsrintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/ia32intrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/immintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/iso646.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/lwpintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/lzcntintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/mm3dnow.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/mm_malloc.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/mmintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/mwaitxintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/nmmintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/omp.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/openacc.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/pkuintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/pmmintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/popcntintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/prfchwintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/quadmath.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/quadmath_weak.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/rdseedintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/rtmintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/sanitizer
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/sanitizer/asan_interface.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/sanitizer/common_interface_defs.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/sanitizer/lsan_interface.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/shaintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/smmintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/ssp
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/ssp/ssp.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/ssp/stdio.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/ssp/string.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/ssp/unistd.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/stdalign.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/stdarg.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/stdatomic.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/stdbool.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/stddef.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/stdfix.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/stdint-gcc.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/stdint.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/stdnoreturn.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/tbmintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/tmmintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/unwind.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/varargs.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/wmmintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/x86intrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/xmmintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/xopintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/xsavecintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/xsaveintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/xsaveoptintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/xsavesintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/include/xtestintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/install-tools
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/install-tools/fixinc.sh
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/install-tools/fixinc_list
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/install-tools/fixincl
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/install-tools/gsyslimits.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/install-tools/include
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/install-tools/include/README
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/install-tools/include/limits.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/install-tools/macro_list
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/install-tools/mkheaders
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/install-tools/mkheaders.conf
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/install-tools/mkinstalldirs
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/libgcc.a
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/libgcc_eh.a
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/libgcov.a
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/liblto_plugin.la
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/liblto_plugin.so
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/liblto_plugin.so.0
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/liblto_plugin.so.0.0.0
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/lto-wrapper
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/lto1
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/gengtype
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/gtype.state
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/ada
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/ada/gcc-interface
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/ada/gcc-interface/ada-tree.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/addresses.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/alias.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/all-tree.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/alloc-pool.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/ansidecl.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/asan.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/attribs.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/auto-host.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/auto-profile.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/b-header-vars
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/backend.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/basic-block.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/bb-reorder.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/bitmap.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/builtin-attrs.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/builtin-types.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/builtins.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/builtins.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/bversion.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/c-family
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/c-family/c-common.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/c-family/c-common.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/c-family/c-objc.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/c-family/c-pragma.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/c-family/c-pretty-print.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/c-tree.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/calls.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/ccmp.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/cfg-flags.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/cfg.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/cfganal.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/cfgbuild.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/cfgcleanup.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/cfgexpand.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/cfghooks.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/cfgloop.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/cfgloopmanip.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/cfgrtl.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/cgraph.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/chkp-builtins.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/cif-code.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/cilk-builtins.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/cilk.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/cilkplus.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/collect-utils.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/collect2-aix.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/collect2.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/conditions.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/config
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/config.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/config/dbxelf.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/config/elfos.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/config/glibc-stdint.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/config/gnu-user.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/config/i386
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/config/i386/att.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/config/i386/gnu-user-common.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/config/i386/gnu-user.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/config/i386/i386-opts.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/config/i386/i386-protos.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/config/i386/i386.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/config/i386/linux-common.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/config/i386/linux.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/config/i386/stringop.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/config/i386/unix.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/config/i386/x86-tune.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/config/initfini-array.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/config/linux-android.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/config/linux-protos.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/config/linux.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/config/vxworks-dummy.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/configargs.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/context.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/convert.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/coretypes.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/coverage.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/cp
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/cp/cp-tree.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/cp/cp-tree.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/cp/cxx-pretty-print.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/cp/name-lookup.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/cp/type-utils.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/cppbuiltin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/cppdefault.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/cpplib.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/cselib.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/data-streamer.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/dbgcnt.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/dbgcnt.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/dbxout.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/dce.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/ddg.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/debug.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/defaults.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/df.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/dfp.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/diagnostic-color.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/diagnostic-core.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/diagnostic.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/diagnostic.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/dojump.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/dominance.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/domwalk.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/double-int.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/dumpfile.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/dwarf2asm.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/dwarf2out.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/emit-rtl.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/errors.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/et-forest.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/except.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/explow.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/expmed.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/expr.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/fibonacci_heap.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/file-find.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/filenames.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/fixed-value.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/flag-types.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/flags.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/fold-const-call.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/fold-const.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/function.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gcc-plugin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gcc-rich-location.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gcc-symtab.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gcc.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gcov-counter.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gcov-io.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gcse-common.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gcse.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/generic-match.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gengtype.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/genrtl.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gensupport.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/ggc-internal.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/ggc.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gimple-builder.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gimple-expr.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gimple-fold.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gimple-iterator.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gimple-low.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gimple-match.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gimple-predict.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gimple-pretty-print.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gimple-ssa.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gimple-streamer.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gimple-walk.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gimple.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gimple.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gimplify-me.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gimplify.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/glimits.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/graph.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/graphds.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/graphite.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gsstruct.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gstab.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gsyms.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gsyslimits.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gtm-builtins.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/gtype-desc.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/hard-reg-set.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/hash-map-traits.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/hash-map.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/hash-set.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/hash-table.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/hash-traits.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/hashtab.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/highlev-plugin-common.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/hooks.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/hosthooks-def.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/hosthooks.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/hsa-brig-format.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/hsa.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/hw-doloop.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/hwint.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/ifcvt.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/inchash.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/incpath.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/input.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/insn-addr.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/insn-codes.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/insn-constants.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/insn-flags.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/insn-modes.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/insn-notes.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/internal-fn.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/internal-fn.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/intl.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/ipa-chkp.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/ipa-icf-gimple.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/ipa-icf.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/ipa-inline.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/ipa-prop.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/ipa-ref.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/ipa-reference.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/ipa-utils.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/ira-int.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/ira.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/is-a.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/java
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/java/java-tree.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/langhooks-def.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/langhooks.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/lcm.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/libfuncs.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/libiberty.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/limitx.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/limity.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/line-map.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/loop-unroll.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/lower-subreg.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/lra-int.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/lra.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/lto-compress.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/lto-section-names.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/lto-streamer.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/machmode.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/machmode.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/md5.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/mem-stats-traits.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/mem-stats.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/memory-block.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/mode-classes.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/objc
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/objc/objc-tree.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/obstack.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/omp-builtins.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/omp-low.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/optabs-libfuncs.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/optabs-query.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/optabs-tree.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/optabs.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/optabs.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/options.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/opts-diagnostic.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/opts.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/output.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/params-enum.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/params-list.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/params.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/params.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/params.list
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/pass-instances.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/pass_manager.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/passes.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/plugin-api.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/plugin-version.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/plugin.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/plugin.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/predict.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/predict.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/prefix.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/pretty-print.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/print-rtl.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/print-tree.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/profile.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/read-md.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/real.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/realmpfr.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/recog.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/reg-notes.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/regcprop.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/regrename.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/regs.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/regset.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/reload.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/resource.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/rtl-chkp.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/rtl-error.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/rtl-iter.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/rtl.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/rtl.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/rtlhash.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/rtlhooks-def.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/safe-ctype.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/sanitizer.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/sbitmap.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/sched-int.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/sdbout.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/sel-sched-dump.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/sel-sched-ir.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/sel-sched.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/sese.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/shrink-wrap.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/signop.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/sparseset.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/spellcheck.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/splay-tree.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/sreal.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/ssa-iterators.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/ssa.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/stab.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/statistics.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/stmt.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/stor-layout.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/streamer-hooks.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/stringpool.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/symbol-summary.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/symtab.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/sync-builtins.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/system.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/target-def.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/target-globals.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/target-hooks-macros.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/target-insns.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/target.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/target.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/targhooks.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/timevar.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/timevar.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tm-preds.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tm.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tm_p.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/toplev.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tracer.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/trans-mem.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-affine.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-cfg.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-cfgcleanup.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-check.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-chkp.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-chrec.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-core.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-data-ref.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-dfa.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-diagnostic.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-dump.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-eh.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-hash-traits.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-hasher.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-inline.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-into-ssa.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-iterator.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-nested.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-object-size.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-outof-ssa.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-parloops.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-pass.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-phinodes.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-pretty-print.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-scalar-evolution.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-address.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-alias.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-coalesce.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-dom.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-live.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-loop-ivopts.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-loop-manip.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-loop-niter.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-loop.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-operands.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-propagate.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-sccvn.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-scopedtables.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-ter.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-threadbackward.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-threadedge.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-threadupdate.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-ssa.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-ssanames.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-stdarg.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-streamer.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree-vectorizer.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tree.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/treestruct.def
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tsan.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/tsystem.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/typeclass.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/typed-splay-tree.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/ubsan.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/valtrack.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/value-prof.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/varasm.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/vec.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/version.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/vmsdbg.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/vtable-verify.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/wide-int-print.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/wide-int.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/xcoff.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/include/xcoffout.h
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/libcc1plugin.la
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/libcc1plugin.so
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/libcc1plugin.so.0
+#usr/lib/gcc/i586-pc-linux-gnu/6.3.0/plugin/libcc1plugin.so.0.0.0
 #usr/lib/libasan.a
 #usr/lib/libasan.la
 #usr/lib/libasan.so
-usr/lib/libasan.so.1
-usr/lib/libasan.so.1.0.0
+usr/lib/libasan.so.3
+usr/lib/libasan.so.3.0.0
 usr/lib/libasan_preinit.o
 #usr/lib/libatomic.a
 #usr/lib/libatomic.la
-usr/lib/libatomic.so
+#usr/lib/libatomic.so
 usr/lib/libatomic.so.1
-usr/lib/libatomic.so.1.1.0
+usr/lib/libatomic.so.1.2.0
+#usr/lib/libcc1.la
+#usr/lib/libcc1.so
+usr/lib/libcc1.so.0
+usr/lib/libcc1.so.0.0.0
 #usr/lib/libcilkrts.a
 #usr/lib/libcilkrts.la
 #usr/lib/libcilkrts.so
@@ -1122,6 +1368,17 @@ usr/lib/libgomp.so.1.0.0
 usr/lib/libitm.so.1
 usr/lib/libitm.so.1.0.0
 #usr/lib/libitm.spec
+#usr/lib/libmpx.a
+#usr/lib/libmpx.la
+#usr/lib/libmpx.so
+usr/lib/libmpx.so.2
+usr/lib/libmpx.so.2.0.0
+#usr/lib/libmpx.spec
+#usr/lib/libmpxwrappers.a
+#usr/lib/libmpxwrappers.la
+#usr/lib/libmpxwrappers.so
+usr/lib/libmpxwrappers.so.2
+usr/lib/libmpxwrappers.so.2.0.0
 #usr/lib/libquadmath.a
 #usr/lib/libquadmath.la
 #usr/lib/libquadmath.so
@@ -1136,8 +1393,9 @@ usr/lib/libssp.so.0.0.0
 #usr/lib/libssp_nonshared.a
 #usr/lib/libssp_nonshared.la
 #usr/lib/libstdc++.a
-usr/lib/libstdc++.so.6.0.20
-#usr/lib/libstdc++.so.6.0.20-gdb.py
+usr/lib/libstdc++.so.6.0.22
+#usr/lib/libstdc++fs.a
+#usr/lib/libstdc++fs.la
 #usr/lib/libsupc++.a
 #usr/lib/libsupc++.la
 #usr/lib/libubsan.a
@@ -1145,18 +1403,14 @@ usr/lib/libstdc++.so.6.0.20
 #usr/lib/libubsan.so
 usr/lib/libubsan.so.0
 usr/lib/libubsan.so.0.0.0
-#usr/lib/libvtv.a
-#usr/lib/libvtv.la
-#usr/lib/libvtv.so
-usr/lib/libvtv.so.0
-usr/lib/libvtv.so.0.0.0
-#usr/share/gcc-4.9.4
-#usr/share/gcc-4.9.4/python
-#usr/share/gcc-4.9.4/python/libstdcxx
-#usr/share/gcc-4.9.4/python/libstdcxx/__init__.py
-#usr/share/gcc-4.9.4/python/libstdcxx/v6
-#usr/share/gcc-4.9.4/python/libstdcxx/v6/__init__.py
-#usr/share/gcc-4.9.4/python/libstdcxx/v6/printers.py
+#usr/share/gcc-6.3.0
+#usr/share/gcc-6.3.0/python
+#usr/share/gcc-6.3.0/python/libstdcxx
+#usr/share/gcc-6.3.0/python/libstdcxx/__init__.py
+#usr/share/gcc-6.3.0/python/libstdcxx/v6
+#usr/share/gcc-6.3.0/python/libstdcxx/v6/__init__.py
+#usr/share/gcc-6.3.0/python/libstdcxx/v6/printers.py
+#usr/share/gcc-6.3.0/python/libstdcxx/v6/xmethods.py
 #usr/share/info/cpp.info
 #usr/share/info/cppinternals.info
 #usr/share/info/gcc.info
index d34a8f5986bbdfa727b6caad1950e2798a8d931b..e5d6e243736d20eff5cdbf50e044e87354523ecd 100644 (file)
@@ -1,48 +1,49 @@
 #etc/ld.so.cache
-etc/localtime
 etc/rpc
-lib/ld-2.12.so
+lib/ld-2.25.so
 lib/ld-linux.so.2
-lib/libBrokenLocale-2.12.so
+lib/libBrokenLocale-2.25.so
 lib/libBrokenLocale.so.1
 #lib/libSegFault.so
-lib/libanl-2.12.so
+lib/libanl-2.25.so
 lib/libanl.so.1
-lib/libc-2.12.so
+lib/libc-2.25.so
 lib/libc.so.6
-lib/libcidn-2.12.so
+lib/libcidn-2.25.so
 lib/libcidn.so.1
-lib/libcrypt-2.12.so
+lib/libcrypt-2.25.so
 lib/libcrypt.so.1
-lib/libdl-2.12.so
+lib/libdl-2.25.so
 lib/libdl.so.2
-lib/libm-2.12.so
+lib/libm-2.25.so
 lib/libm.so.6
 #lib/libmemusage.so
-lib/libnsl-2.12.so
+lib/libnsl-2.25.so
 lib/libnsl.so.1
-lib/libnss_compat-2.12.so
+lib/libnss_compat-2.25.so
 lib/libnss_compat.so.2
-lib/libnss_dns-2.12.so
+lib/libnss_db-2.25.so
+lib/libnss_db.so.2
+lib/libnss_dns-2.25.so
 lib/libnss_dns.so.2
-lib/libnss_files-2.12.so
+lib/libnss_files-2.25.so
 lib/libnss_files.so.2
-lib/libnss_hesiod-2.12.so
+lib/libnss_hesiod-2.25.so
 lib/libnss_hesiod.so.2
-lib/libnss_nis-2.12.so
+lib/libnss_nis-2.25.so
 lib/libnss_nis.so.2
-lib/libnss_nisplus-2.12.so
+lib/libnss_nisplus-2.25.so
 lib/libnss_nisplus.so.2
 #lib/libpcprofile.so
-lib/libpthread-2.12.so
+lib/libpthread-2.25.so
 lib/libpthread.so.0
-lib/libresolv-2.12.so
+lib/libresolv-2.25.so
 lib/libresolv.so.2
-lib/librt-2.12.so
+lib/librt-2.25.so
 lib/librt.so.1
 lib/libthread_db-1.0.so
 lib/libthread_db.so.1
-lib/libutil-2.12.so
+lib/libutil-2.25.so
 lib/libutil.so.1
 sbin/ldconfig
 #sbin/sln
@@ -55,9 +56,12 @@ usr/bin/ldd
 usr/bin/lddlibc4
 usr/bin/locale
 #usr/bin/localedef
+#usr/bin/makedb
 #usr/bin/mtrace
 #usr/bin/pcprofiledump
+#usr/bin/pldd
 #usr/bin/rpcgen
+#usr/bin/sotruss
 #usr/bin/sprof
 #usr/bin/tzselect
 #usr/bin/xtrace
@@ -79,6 +83,7 @@ usr/bin/locale
 #usr/include/assert.h
 #usr/include/bits
 #usr/include/bits/a.out.h
+#usr/include/bits/byteswap-16.h
 #usr/include/bits/byteswap.h
 #usr/include/bits/cmathcalls.h
 #usr/include/bits/confname.h
@@ -87,30 +92,44 @@ usr/bin/locale
 #usr/include/bits/elfclass.h
 #usr/include/bits/endian.h
 #usr/include/bits/environments.h
+#usr/include/bits/epoll.h
 #usr/include/bits/errno.h
 #usr/include/bits/error.h
+#usr/include/bits/eventfd.h
+#usr/include/bits/fcntl-linux.h
 #usr/include/bits/fcntl.h
 #usr/include/bits/fcntl2.h
 #usr/include/bits/fenv.h
 #usr/include/bits/fenvinline.h
+#usr/include/bits/flt-eval-method.h
+#usr/include/bits/fp-fast.h
+#usr/include/bits/fp-logb.h
 #usr/include/bits/huge_val.h
 #usr/include/bits/huge_valf.h
 #usr/include/bits/huge_vall.h
+#usr/include/bits/hwcap.h
 #usr/include/bits/in.h
 #usr/include/bits/inf.h
 #usr/include/bits/initspin.h
+#usr/include/bits/inotify.h
 #usr/include/bits/ioctl-types.h
 #usr/include/bits/ioctls.h
 #usr/include/bits/ipc.h
 #usr/include/bits/ipctypes.h
-#usr/include/bits/libc-lock.h
+#usr/include/bits/iscanonical.h
+#usr/include/bits/libc-header-start.h
 #usr/include/bits/libio-ldbl.h
+#usr/include/bits/libm-simd-decl-stubs.h
 #usr/include/bits/link.h
 #usr/include/bits/local_lim.h
 #usr/include/bits/locale.h
+#usr/include/bits/long-double.h
+#usr/include/bits/math-finite.h
+#usr/include/bits/math-vector.h
 #usr/include/bits/mathcalls.h
 #usr/include/bits/mathdef.h
 #usr/include/bits/mathinline.h
+#usr/include/bits/mman-linux.h
 #usr/include/bits/mman.h
 #usr/include/bits/monetary-ldbl.h
 #usr/include/bits/mqueue.h
@@ -118,7 +137,9 @@ usr/bin/locale
 #usr/include/bits/msq.h
 #usr/include/bits/nan.h
 #usr/include/bits/netdb.h
+#usr/include/bits/param.h
 #usr/include/bits/poll.h
+#usr/include/bits/poll2.h
 #usr/include/bits/posix1_lim.h
 #usr/include/bits/posix2_lim.h
 #usr/include/bits/posix_opt.h
@@ -127,6 +148,7 @@ usr/bin/locale
 #usr/include/bits/resource.h
 #usr/include/bits/sched.h
 #usr/include/bits/select.h
+#usr/include/bits/select2.h
 #usr/include/bits/sem.h
 #usr/include/bits/semaphore.h
 #usr/include/bits/setjmp.h
@@ -135,6 +157,7 @@ usr/bin/locale
 #usr/include/bits/sigaction.h
 #usr/include/bits/sigcontext.h
 #usr/include/bits/siginfo.h
+#usr/include/bits/signalfd.h
 #usr/include/bits/signum.h
 #usr/include/bits/sigset.h
 #usr/include/bits/sigstack.h
@@ -142,29 +165,48 @@ usr/bin/locale
 #usr/include/bits/sockaddr.h
 #usr/include/bits/socket.h
 #usr/include/bits/socket2.h
+#usr/include/bits/socket_type.h
 #usr/include/bits/stab.def
 #usr/include/bits/stat.h
 #usr/include/bits/statfs.h
 #usr/include/bits/statvfs.h
 #usr/include/bits/stdio-ldbl.h
-#usr/include/bits/stdio-lock.h
 #usr/include/bits/stdio.h
 #usr/include/bits/stdio2.h
 #usr/include/bits/stdio_lim.h
+#usr/include/bits/stdlib-bsearch.h
+#usr/include/bits/stdlib-float.h
 #usr/include/bits/stdlib-ldbl.h
 #usr/include/bits/stdlib.h
 #usr/include/bits/string.h
 #usr/include/bits/string2.h
 #usr/include/bits/string3.h
+#usr/include/bits/strings_fortified.h
+#usr/include/bits/stropts.h
 #usr/include/bits/sys_errlist.h
 #usr/include/bits/syscall.h
+#usr/include/bits/sysctl.h
 #usr/include/bits/syslog-ldbl.h
 #usr/include/bits/syslog-path.h
 #usr/include/bits/syslog.h
+#usr/include/bits/sysmacros.h
 #usr/include/bits/termios.h
 #usr/include/bits/time.h
+#usr/include/bits/timerfd.h
+#usr/include/bits/timex.h
+#usr/include/bits/types
 #usr/include/bits/types.h
+#usr/include/bits/types/clock_t.h
+#usr/include/bits/types/clockid_t.h
+#usr/include/bits/types/struct_itimerspec.h
+#usr/include/bits/types/struct_osockaddr.h
+#usr/include/bits/types/struct_timespec.h
+#usr/include/bits/types/struct_timeval.h
+#usr/include/bits/types/struct_tm.h
+#usr/include/bits/types/time_t.h
+#usr/include/bits/types/timer_t.h
 #usr/include/bits/typesizes.h
+#usr/include/bits/uintn-identity.h
 #usr/include/bits/uio.h
 #usr/include/bits/unistd.h
 #usr/include/bits/ustat.h
@@ -178,6 +220,7 @@ usr/bin/locale
 #usr/include/bits/wchar2.h
 #usr/include/bits/wordsize.h
 #usr/include/bits/xopen_lim.h
+#usr/include/bits/xtitypes.h
 #usr/include/byteswap.h
 #usr/include/complex.h
 #usr/include/cpio.h
@@ -206,6 +249,7 @@ usr/bin/locale
 #usr/include/glob.h
 #usr/include/gnu
 #usr/include/gnu-versions.h
+#usr/include/gnu/lib-names-32.h
 #usr/include/gnu/lib-names.h
 #usr/include/gnu/libc-version.h
 #usr/include/gnu/stubs-32.h
@@ -283,6 +327,7 @@ usr/bin/locale
 #usr/include/paths.h
 #usr/include/poll.h
 #usr/include/printf.h
+#usr/include/proc_service.h
 #usr/include/protocols
 #usr/include/protocols/routed.h
 #usr/include/protocols/rwhod.h
@@ -365,14 +410,17 @@ usr/bin/locale
 #usr/include/signal.h
 #usr/include/spawn.h
 #usr/include/stab.h
+#usr/include/stdc-predef.h
 #usr/include/stdint.h
 #usr/include/stdio.h
 #usr/include/stdio_ext.h
 #usr/include/stdlib.h
 #usr/include/string.h
 #usr/include/strings.h
+#usr/include/stropts.h
 #usr/include/sys
 #usr/include/sys/acct.h
+#usr/include/sys/auxv.h
 #usr/include/sys/bitypes.h
 #usr/include/sys/cdefs.h
 #usr/include/sys/debugreg.h
@@ -381,6 +429,7 @@ usr/bin/locale
 #usr/include/sys/epoll.h
 #usr/include/sys/errno.h
 #usr/include/sys/eventfd.h
+#usr/include/sys/fanotify.h
 #usr/include/sys/fcntl.h
 #usr/include/sys/file.h
 #usr/include/sys/fsuid.h
@@ -391,7 +440,6 @@ usr/bin/locale
 #usr/include/sys/ioctl.h
 #usr/include/sys/ipc.h
 #usr/include/sys/kd.h
-#usr/include/sys/kdaemon.h
 #usr/include/sys/klog.h
 #usr/include/sys/mman.h
 #usr/include/sys/mount.h
@@ -408,6 +456,7 @@ usr/bin/locale
 #usr/include/sys/ptrace.h
 #usr/include/sys/queue.h
 #usr/include/sys/quota.h
+#usr/include/sys/random.h
 #usr/include/sys/raw.h
 #usr/include/sys/reboot.h
 #usr/include/sys/reg.h
@@ -424,6 +473,7 @@ usr/bin/locale
 #usr/include/sys/stat.h
 #usr/include/sys/statfs.h
 #usr/include/sys/statvfs.h
+#usr/include/sys/stropts.h
 #usr/include/sys/swap.h
 #usr/include/sys/syscall.h
 #usr/include/sys/sysctl.h
@@ -464,6 +514,7 @@ usr/bin/locale
 #usr/include/thread_db.h
 #usr/include/time.h
 #usr/include/ttyent.h
+#usr/include/uchar.h
 #usr/include/ucontext.h
 #usr/include/ulimit.h
 #usr/include/unistd.h
@@ -479,6 +530,8 @@ usr/bin/locale
 #usr/include/xlocale.h
 #usr/lib/Mcrt1.o
 #usr/lib/Scrt1.o
+#usr/lib/audit
+#usr/lib/audit/sotruss-lib.so
 #usr/lib/crt1.o
 #usr/lib/crti.o
 #usr/lib/crtn.o
@@ -501,6 +554,11 @@ usr/lib/gconv
 #usr/lib/gconv/CP1257.so
 #usr/lib/gconv/CP1258.so
 #usr/lib/gconv/CP737.so
+#usr/lib/gconv/CP770.so
+#usr/lib/gconv/CP771.so
+#usr/lib/gconv/CP772.so
+#usr/lib/gconv/CP773.so
+#usr/lib/gconv/CP774.so
 #usr/lib/gconv/CP775.so
 #usr/lib/gconv/CP932.so
 #usr/lib/gconv/CSN_369103.so
@@ -738,12 +796,12 @@ usr/lib/gconv
 #usr/lib/glibc/getconf/POSIX_V6_ILP32_OFFBIG
 #usr/lib/glibc/getconf/POSIX_V7_ILP32_OFF32
 #usr/lib/glibc/getconf/POSIX_V7_ILP32_OFFBIG
-#usr/lib/glibc/pt_chown
+#usr/lib/glibc/getconf/XBS5_ILP32_OFF32
+#usr/lib/glibc/getconf/XBS5_ILP32_OFFBIG
 #usr/lib/libBrokenLocale.a
 #usr/lib/libBrokenLocale.so
 #usr/lib/libanl.a
 #usr/lib/libanl.so
-#usr/lib/libbsd-compat.a
 #usr/lib/libc.a
 #usr/lib/libc.so
 #usr/lib/libc_nonshared.a
@@ -760,6 +818,7 @@ usr/lib/gconv
 #usr/lib/libnsl.a
 #usr/lib/libnsl.so
 #usr/lib/libnss_compat.so
+#usr/lib/libnss_db.so
 #usr/lib/libnss_dns.so
 #usr/lib/libnss_files.so
 #usr/lib/libnss_hesiod.so
@@ -777,5945 +836,9 @@ usr/lib/gconv
 #usr/lib/libutil.a
 #usr/lib/libutil.so
 usr/lib/locale
-#usr/lib/locale/aa_DJ
-#usr/lib/locale/aa_DJ.utf8
-#usr/lib/locale/aa_DJ.utf8/LC_ADDRESS
-#usr/lib/locale/aa_DJ.utf8/LC_COLLATE
-#usr/lib/locale/aa_DJ.utf8/LC_CTYPE
-#usr/lib/locale/aa_DJ.utf8/LC_IDENTIFICATION
-#usr/lib/locale/aa_DJ.utf8/LC_MEASUREMENT
-#usr/lib/locale/aa_DJ.utf8/LC_MESSAGES
-#usr/lib/locale/aa_DJ.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/aa_DJ.utf8/LC_MONETARY
-#usr/lib/locale/aa_DJ.utf8/LC_NAME
-#usr/lib/locale/aa_DJ.utf8/LC_NUMERIC
-#usr/lib/locale/aa_DJ.utf8/LC_PAPER
-#usr/lib/locale/aa_DJ.utf8/LC_TELEPHONE
-#usr/lib/locale/aa_DJ.utf8/LC_TIME
-#usr/lib/locale/aa_DJ/LC_ADDRESS
-#usr/lib/locale/aa_DJ/LC_COLLATE
-#usr/lib/locale/aa_DJ/LC_CTYPE
-#usr/lib/locale/aa_DJ/LC_IDENTIFICATION
-#usr/lib/locale/aa_DJ/LC_MEASUREMENT
-#usr/lib/locale/aa_DJ/LC_MESSAGES
-#usr/lib/locale/aa_DJ/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/aa_DJ/LC_MONETARY
-#usr/lib/locale/aa_DJ/LC_NAME
-#usr/lib/locale/aa_DJ/LC_NUMERIC
-#usr/lib/locale/aa_DJ/LC_PAPER
-#usr/lib/locale/aa_DJ/LC_TELEPHONE
-#usr/lib/locale/aa_DJ/LC_TIME
-#usr/lib/locale/aa_ER
-#usr/lib/locale/aa_ER/LC_ADDRESS
-#usr/lib/locale/aa_ER/LC_COLLATE
-#usr/lib/locale/aa_ER/LC_CTYPE
-#usr/lib/locale/aa_ER/LC_IDENTIFICATION
-#usr/lib/locale/aa_ER/LC_MEASUREMENT
-#usr/lib/locale/aa_ER/LC_MESSAGES
-#usr/lib/locale/aa_ER/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/aa_ER/LC_MONETARY
-#usr/lib/locale/aa_ER/LC_NAME
-#usr/lib/locale/aa_ER/LC_NUMERIC
-#usr/lib/locale/aa_ER/LC_PAPER
-#usr/lib/locale/aa_ER/LC_TELEPHONE
-#usr/lib/locale/aa_ER/LC_TIME
-#usr/lib/locale/aa_ER@saaho
-#usr/lib/locale/aa_ER@saaho/LC_ADDRESS
-#usr/lib/locale/aa_ER@saaho/LC_COLLATE
-#usr/lib/locale/aa_ER@saaho/LC_CTYPE
-#usr/lib/locale/aa_ER@saaho/LC_IDENTIFICATION
-#usr/lib/locale/aa_ER@saaho/LC_MEASUREMENT
-#usr/lib/locale/aa_ER@saaho/LC_MESSAGES
-#usr/lib/locale/aa_ER@saaho/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/aa_ER@saaho/LC_MONETARY
-#usr/lib/locale/aa_ER@saaho/LC_NAME
-#usr/lib/locale/aa_ER@saaho/LC_NUMERIC
-#usr/lib/locale/aa_ER@saaho/LC_PAPER
-#usr/lib/locale/aa_ER@saaho/LC_TELEPHONE
-#usr/lib/locale/aa_ER@saaho/LC_TIME
-#usr/lib/locale/aa_ET
-#usr/lib/locale/aa_ET/LC_ADDRESS
-#usr/lib/locale/aa_ET/LC_COLLATE
-#usr/lib/locale/aa_ET/LC_CTYPE
-#usr/lib/locale/aa_ET/LC_IDENTIFICATION
-#usr/lib/locale/aa_ET/LC_MEASUREMENT
-#usr/lib/locale/aa_ET/LC_MESSAGES
-#usr/lib/locale/aa_ET/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/aa_ET/LC_MONETARY
-#usr/lib/locale/aa_ET/LC_NAME
-#usr/lib/locale/aa_ET/LC_NUMERIC
-#usr/lib/locale/aa_ET/LC_PAPER
-#usr/lib/locale/aa_ET/LC_TELEPHONE
-#usr/lib/locale/aa_ET/LC_TIME
-#usr/lib/locale/af_ZA
-#usr/lib/locale/af_ZA.utf8
-#usr/lib/locale/af_ZA.utf8/LC_ADDRESS
-#usr/lib/locale/af_ZA.utf8/LC_COLLATE
-#usr/lib/locale/af_ZA.utf8/LC_CTYPE
-#usr/lib/locale/af_ZA.utf8/LC_IDENTIFICATION
-#usr/lib/locale/af_ZA.utf8/LC_MEASUREMENT
-#usr/lib/locale/af_ZA.utf8/LC_MESSAGES
-#usr/lib/locale/af_ZA.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/af_ZA.utf8/LC_MONETARY
-#usr/lib/locale/af_ZA.utf8/LC_NAME
-#usr/lib/locale/af_ZA.utf8/LC_NUMERIC
-#usr/lib/locale/af_ZA.utf8/LC_PAPER
-#usr/lib/locale/af_ZA.utf8/LC_TELEPHONE
-#usr/lib/locale/af_ZA.utf8/LC_TIME
-#usr/lib/locale/af_ZA/LC_ADDRESS
-#usr/lib/locale/af_ZA/LC_COLLATE
-#usr/lib/locale/af_ZA/LC_CTYPE
-#usr/lib/locale/af_ZA/LC_IDENTIFICATION
-#usr/lib/locale/af_ZA/LC_MEASUREMENT
-#usr/lib/locale/af_ZA/LC_MESSAGES
-#usr/lib/locale/af_ZA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/af_ZA/LC_MONETARY
-#usr/lib/locale/af_ZA/LC_NAME
-#usr/lib/locale/af_ZA/LC_NUMERIC
-#usr/lib/locale/af_ZA/LC_PAPER
-#usr/lib/locale/af_ZA/LC_TELEPHONE
-#usr/lib/locale/af_ZA/LC_TIME
-#usr/lib/locale/am_ET
-#usr/lib/locale/am_ET/LC_ADDRESS
-#usr/lib/locale/am_ET/LC_COLLATE
-#usr/lib/locale/am_ET/LC_CTYPE
-#usr/lib/locale/am_ET/LC_IDENTIFICATION
-#usr/lib/locale/am_ET/LC_MEASUREMENT
-#usr/lib/locale/am_ET/LC_MESSAGES
-#usr/lib/locale/am_ET/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/am_ET/LC_MONETARY
-#usr/lib/locale/am_ET/LC_NAME
-#usr/lib/locale/am_ET/LC_NUMERIC
-#usr/lib/locale/am_ET/LC_PAPER
-#usr/lib/locale/am_ET/LC_TELEPHONE
-#usr/lib/locale/am_ET/LC_TIME
-#usr/lib/locale/an_ES
-#usr/lib/locale/an_ES.utf8
-#usr/lib/locale/an_ES.utf8/LC_ADDRESS
-#usr/lib/locale/an_ES.utf8/LC_COLLATE
-#usr/lib/locale/an_ES.utf8/LC_CTYPE
-#usr/lib/locale/an_ES.utf8/LC_IDENTIFICATION
-#usr/lib/locale/an_ES.utf8/LC_MEASUREMENT
-#usr/lib/locale/an_ES.utf8/LC_MESSAGES
-#usr/lib/locale/an_ES.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/an_ES.utf8/LC_MONETARY
-#usr/lib/locale/an_ES.utf8/LC_NAME
-#usr/lib/locale/an_ES.utf8/LC_NUMERIC
-#usr/lib/locale/an_ES.utf8/LC_PAPER
-#usr/lib/locale/an_ES.utf8/LC_TELEPHONE
-#usr/lib/locale/an_ES.utf8/LC_TIME
-#usr/lib/locale/an_ES/LC_ADDRESS
-#usr/lib/locale/an_ES/LC_COLLATE
-#usr/lib/locale/an_ES/LC_CTYPE
-#usr/lib/locale/an_ES/LC_IDENTIFICATION
-#usr/lib/locale/an_ES/LC_MEASUREMENT
-#usr/lib/locale/an_ES/LC_MESSAGES
-#usr/lib/locale/an_ES/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/an_ES/LC_MONETARY
-#usr/lib/locale/an_ES/LC_NAME
-#usr/lib/locale/an_ES/LC_NUMERIC
-#usr/lib/locale/an_ES/LC_PAPER
-#usr/lib/locale/an_ES/LC_TELEPHONE
-#usr/lib/locale/an_ES/LC_TIME
-#usr/lib/locale/ar_AE
-#usr/lib/locale/ar_AE.utf8
-#usr/lib/locale/ar_AE.utf8/LC_ADDRESS
-#usr/lib/locale/ar_AE.utf8/LC_COLLATE
-#usr/lib/locale/ar_AE.utf8/LC_CTYPE
-#usr/lib/locale/ar_AE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_AE.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_AE.utf8/LC_MESSAGES
-#usr/lib/locale/ar_AE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_AE.utf8/LC_MONETARY
-#usr/lib/locale/ar_AE.utf8/LC_NAME
-#usr/lib/locale/ar_AE.utf8/LC_NUMERIC
-#usr/lib/locale/ar_AE.utf8/LC_PAPER
-#usr/lib/locale/ar_AE.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_AE.utf8/LC_TIME
-#usr/lib/locale/ar_AE/LC_ADDRESS
-#usr/lib/locale/ar_AE/LC_COLLATE
-#usr/lib/locale/ar_AE/LC_CTYPE
-#usr/lib/locale/ar_AE/LC_IDENTIFICATION
-#usr/lib/locale/ar_AE/LC_MEASUREMENT
-#usr/lib/locale/ar_AE/LC_MESSAGES
-#usr/lib/locale/ar_AE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_AE/LC_MONETARY
-#usr/lib/locale/ar_AE/LC_NAME
-#usr/lib/locale/ar_AE/LC_NUMERIC
-#usr/lib/locale/ar_AE/LC_PAPER
-#usr/lib/locale/ar_AE/LC_TELEPHONE
-#usr/lib/locale/ar_AE/LC_TIME
-#usr/lib/locale/ar_BH
-#usr/lib/locale/ar_BH.utf8
-#usr/lib/locale/ar_BH.utf8/LC_ADDRESS
-#usr/lib/locale/ar_BH.utf8/LC_COLLATE
-#usr/lib/locale/ar_BH.utf8/LC_CTYPE
-#usr/lib/locale/ar_BH.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_BH.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_BH.utf8/LC_MESSAGES
-#usr/lib/locale/ar_BH.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_BH.utf8/LC_MONETARY
-#usr/lib/locale/ar_BH.utf8/LC_NAME
-#usr/lib/locale/ar_BH.utf8/LC_NUMERIC
-#usr/lib/locale/ar_BH.utf8/LC_PAPER
-#usr/lib/locale/ar_BH.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_BH.utf8/LC_TIME
-#usr/lib/locale/ar_BH/LC_ADDRESS
-#usr/lib/locale/ar_BH/LC_COLLATE
-#usr/lib/locale/ar_BH/LC_CTYPE
-#usr/lib/locale/ar_BH/LC_IDENTIFICATION
-#usr/lib/locale/ar_BH/LC_MEASUREMENT
-#usr/lib/locale/ar_BH/LC_MESSAGES
-#usr/lib/locale/ar_BH/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_BH/LC_MONETARY
-#usr/lib/locale/ar_BH/LC_NAME
-#usr/lib/locale/ar_BH/LC_NUMERIC
-#usr/lib/locale/ar_BH/LC_PAPER
-#usr/lib/locale/ar_BH/LC_TELEPHONE
-#usr/lib/locale/ar_BH/LC_TIME
-#usr/lib/locale/ar_DZ
-#usr/lib/locale/ar_DZ.utf8
-#usr/lib/locale/ar_DZ.utf8/LC_ADDRESS
-#usr/lib/locale/ar_DZ.utf8/LC_COLLATE
-#usr/lib/locale/ar_DZ.utf8/LC_CTYPE
-#usr/lib/locale/ar_DZ.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_DZ.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_DZ.utf8/LC_MESSAGES
-#usr/lib/locale/ar_DZ.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_DZ.utf8/LC_MONETARY
-#usr/lib/locale/ar_DZ.utf8/LC_NAME
-#usr/lib/locale/ar_DZ.utf8/LC_NUMERIC
-#usr/lib/locale/ar_DZ.utf8/LC_PAPER
-#usr/lib/locale/ar_DZ.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_DZ.utf8/LC_TIME
-#usr/lib/locale/ar_DZ/LC_ADDRESS
-#usr/lib/locale/ar_DZ/LC_COLLATE
-#usr/lib/locale/ar_DZ/LC_CTYPE
-#usr/lib/locale/ar_DZ/LC_IDENTIFICATION
-#usr/lib/locale/ar_DZ/LC_MEASUREMENT
-#usr/lib/locale/ar_DZ/LC_MESSAGES
-#usr/lib/locale/ar_DZ/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_DZ/LC_MONETARY
-#usr/lib/locale/ar_DZ/LC_NAME
-#usr/lib/locale/ar_DZ/LC_NUMERIC
-#usr/lib/locale/ar_DZ/LC_PAPER
-#usr/lib/locale/ar_DZ/LC_TELEPHONE
-#usr/lib/locale/ar_DZ/LC_TIME
-#usr/lib/locale/ar_EG
-#usr/lib/locale/ar_EG.utf8
-#usr/lib/locale/ar_EG.utf8/LC_ADDRESS
-#usr/lib/locale/ar_EG.utf8/LC_COLLATE
-#usr/lib/locale/ar_EG.utf8/LC_CTYPE
-#usr/lib/locale/ar_EG.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_EG.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_EG.utf8/LC_MESSAGES
-#usr/lib/locale/ar_EG.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_EG.utf8/LC_MONETARY
-#usr/lib/locale/ar_EG.utf8/LC_NAME
-#usr/lib/locale/ar_EG.utf8/LC_NUMERIC
-#usr/lib/locale/ar_EG.utf8/LC_PAPER
-#usr/lib/locale/ar_EG.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_EG.utf8/LC_TIME
-#usr/lib/locale/ar_EG/LC_ADDRESS
-#usr/lib/locale/ar_EG/LC_COLLATE
-#usr/lib/locale/ar_EG/LC_CTYPE
-#usr/lib/locale/ar_EG/LC_IDENTIFICATION
-#usr/lib/locale/ar_EG/LC_MEASUREMENT
-#usr/lib/locale/ar_EG/LC_MESSAGES
-#usr/lib/locale/ar_EG/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_EG/LC_MONETARY
-#usr/lib/locale/ar_EG/LC_NAME
-#usr/lib/locale/ar_EG/LC_NUMERIC
-#usr/lib/locale/ar_EG/LC_PAPER
-#usr/lib/locale/ar_EG/LC_TELEPHONE
-#usr/lib/locale/ar_EG/LC_TIME
-#usr/lib/locale/ar_IN
-#usr/lib/locale/ar_IN/LC_ADDRESS
-#usr/lib/locale/ar_IN/LC_COLLATE
-#usr/lib/locale/ar_IN/LC_CTYPE
-#usr/lib/locale/ar_IN/LC_IDENTIFICATION
-#usr/lib/locale/ar_IN/LC_MEASUREMENT
-#usr/lib/locale/ar_IN/LC_MESSAGES
-#usr/lib/locale/ar_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_IN/LC_MONETARY
-#usr/lib/locale/ar_IN/LC_NAME
-#usr/lib/locale/ar_IN/LC_NUMERIC
-#usr/lib/locale/ar_IN/LC_PAPER
-#usr/lib/locale/ar_IN/LC_TELEPHONE
-#usr/lib/locale/ar_IN/LC_TIME
-#usr/lib/locale/ar_IQ
-#usr/lib/locale/ar_IQ.utf8
-#usr/lib/locale/ar_IQ.utf8/LC_ADDRESS
-#usr/lib/locale/ar_IQ.utf8/LC_COLLATE
-#usr/lib/locale/ar_IQ.utf8/LC_CTYPE
-#usr/lib/locale/ar_IQ.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_IQ.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_IQ.utf8/LC_MESSAGES
-#usr/lib/locale/ar_IQ.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_IQ.utf8/LC_MONETARY
-#usr/lib/locale/ar_IQ.utf8/LC_NAME
-#usr/lib/locale/ar_IQ.utf8/LC_NUMERIC
-#usr/lib/locale/ar_IQ.utf8/LC_PAPER
-#usr/lib/locale/ar_IQ.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_IQ.utf8/LC_TIME
-#usr/lib/locale/ar_IQ/LC_ADDRESS
-#usr/lib/locale/ar_IQ/LC_COLLATE
-#usr/lib/locale/ar_IQ/LC_CTYPE
-#usr/lib/locale/ar_IQ/LC_IDENTIFICATION
-#usr/lib/locale/ar_IQ/LC_MEASUREMENT
-#usr/lib/locale/ar_IQ/LC_MESSAGES
-#usr/lib/locale/ar_IQ/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_IQ/LC_MONETARY
-#usr/lib/locale/ar_IQ/LC_NAME
-#usr/lib/locale/ar_IQ/LC_NUMERIC
-#usr/lib/locale/ar_IQ/LC_PAPER
-#usr/lib/locale/ar_IQ/LC_TELEPHONE
-#usr/lib/locale/ar_IQ/LC_TIME
-#usr/lib/locale/ar_JO
-#usr/lib/locale/ar_JO.utf8
-#usr/lib/locale/ar_JO.utf8/LC_ADDRESS
-#usr/lib/locale/ar_JO.utf8/LC_COLLATE
-#usr/lib/locale/ar_JO.utf8/LC_CTYPE
-#usr/lib/locale/ar_JO.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_JO.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_JO.utf8/LC_MESSAGES
-#usr/lib/locale/ar_JO.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_JO.utf8/LC_MONETARY
-#usr/lib/locale/ar_JO.utf8/LC_NAME
-#usr/lib/locale/ar_JO.utf8/LC_NUMERIC
-#usr/lib/locale/ar_JO.utf8/LC_PAPER
-#usr/lib/locale/ar_JO.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_JO.utf8/LC_TIME
-#usr/lib/locale/ar_JO/LC_ADDRESS
-#usr/lib/locale/ar_JO/LC_COLLATE
-#usr/lib/locale/ar_JO/LC_CTYPE
-#usr/lib/locale/ar_JO/LC_IDENTIFICATION
-#usr/lib/locale/ar_JO/LC_MEASUREMENT
-#usr/lib/locale/ar_JO/LC_MESSAGES
-#usr/lib/locale/ar_JO/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_JO/LC_MONETARY
-#usr/lib/locale/ar_JO/LC_NAME
-#usr/lib/locale/ar_JO/LC_NUMERIC
-#usr/lib/locale/ar_JO/LC_PAPER
-#usr/lib/locale/ar_JO/LC_TELEPHONE
-#usr/lib/locale/ar_JO/LC_TIME
-#usr/lib/locale/ar_KW
-#usr/lib/locale/ar_KW.utf8
-#usr/lib/locale/ar_KW.utf8/LC_ADDRESS
-#usr/lib/locale/ar_KW.utf8/LC_COLLATE
-#usr/lib/locale/ar_KW.utf8/LC_CTYPE
-#usr/lib/locale/ar_KW.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_KW.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_KW.utf8/LC_MESSAGES
-#usr/lib/locale/ar_KW.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_KW.utf8/LC_MONETARY
-#usr/lib/locale/ar_KW.utf8/LC_NAME
-#usr/lib/locale/ar_KW.utf8/LC_NUMERIC
-#usr/lib/locale/ar_KW.utf8/LC_PAPER
-#usr/lib/locale/ar_KW.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_KW.utf8/LC_TIME
-#usr/lib/locale/ar_KW/LC_ADDRESS
-#usr/lib/locale/ar_KW/LC_COLLATE
-#usr/lib/locale/ar_KW/LC_CTYPE
-#usr/lib/locale/ar_KW/LC_IDENTIFICATION
-#usr/lib/locale/ar_KW/LC_MEASUREMENT
-#usr/lib/locale/ar_KW/LC_MESSAGES
-#usr/lib/locale/ar_KW/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_KW/LC_MONETARY
-#usr/lib/locale/ar_KW/LC_NAME
-#usr/lib/locale/ar_KW/LC_NUMERIC
-#usr/lib/locale/ar_KW/LC_PAPER
-#usr/lib/locale/ar_KW/LC_TELEPHONE
-#usr/lib/locale/ar_KW/LC_TIME
-#usr/lib/locale/ar_LB
-#usr/lib/locale/ar_LB.utf8
-#usr/lib/locale/ar_LB.utf8/LC_ADDRESS
-#usr/lib/locale/ar_LB.utf8/LC_COLLATE
-#usr/lib/locale/ar_LB.utf8/LC_CTYPE
-#usr/lib/locale/ar_LB.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_LB.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_LB.utf8/LC_MESSAGES
-#usr/lib/locale/ar_LB.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_LB.utf8/LC_MONETARY
-#usr/lib/locale/ar_LB.utf8/LC_NAME
-#usr/lib/locale/ar_LB.utf8/LC_NUMERIC
-#usr/lib/locale/ar_LB.utf8/LC_PAPER
-#usr/lib/locale/ar_LB.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_LB.utf8/LC_TIME
-#usr/lib/locale/ar_LB/LC_ADDRESS
-#usr/lib/locale/ar_LB/LC_COLLATE
-#usr/lib/locale/ar_LB/LC_CTYPE
-#usr/lib/locale/ar_LB/LC_IDENTIFICATION
-#usr/lib/locale/ar_LB/LC_MEASUREMENT
-#usr/lib/locale/ar_LB/LC_MESSAGES
-#usr/lib/locale/ar_LB/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_LB/LC_MONETARY
-#usr/lib/locale/ar_LB/LC_NAME
-#usr/lib/locale/ar_LB/LC_NUMERIC
-#usr/lib/locale/ar_LB/LC_PAPER
-#usr/lib/locale/ar_LB/LC_TELEPHONE
-#usr/lib/locale/ar_LB/LC_TIME
-#usr/lib/locale/ar_LY
-#usr/lib/locale/ar_LY.utf8
-#usr/lib/locale/ar_LY.utf8/LC_ADDRESS
-#usr/lib/locale/ar_LY.utf8/LC_COLLATE
-#usr/lib/locale/ar_LY.utf8/LC_CTYPE
-#usr/lib/locale/ar_LY.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_LY.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_LY.utf8/LC_MESSAGES
-#usr/lib/locale/ar_LY.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_LY.utf8/LC_MONETARY
-#usr/lib/locale/ar_LY.utf8/LC_NAME
-#usr/lib/locale/ar_LY.utf8/LC_NUMERIC
-#usr/lib/locale/ar_LY.utf8/LC_PAPER
-#usr/lib/locale/ar_LY.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_LY.utf8/LC_TIME
-#usr/lib/locale/ar_LY/LC_ADDRESS
-#usr/lib/locale/ar_LY/LC_COLLATE
-#usr/lib/locale/ar_LY/LC_CTYPE
-#usr/lib/locale/ar_LY/LC_IDENTIFICATION
-#usr/lib/locale/ar_LY/LC_MEASUREMENT
-#usr/lib/locale/ar_LY/LC_MESSAGES
-#usr/lib/locale/ar_LY/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_LY/LC_MONETARY
-#usr/lib/locale/ar_LY/LC_NAME
-#usr/lib/locale/ar_LY/LC_NUMERIC
-#usr/lib/locale/ar_LY/LC_PAPER
-#usr/lib/locale/ar_LY/LC_TELEPHONE
-#usr/lib/locale/ar_LY/LC_TIME
-#usr/lib/locale/ar_MA
-#usr/lib/locale/ar_MA.utf8
-#usr/lib/locale/ar_MA.utf8/LC_ADDRESS
-#usr/lib/locale/ar_MA.utf8/LC_COLLATE
-#usr/lib/locale/ar_MA.utf8/LC_CTYPE
-#usr/lib/locale/ar_MA.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_MA.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_MA.utf8/LC_MESSAGES
-#usr/lib/locale/ar_MA.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_MA.utf8/LC_MONETARY
-#usr/lib/locale/ar_MA.utf8/LC_NAME
-#usr/lib/locale/ar_MA.utf8/LC_NUMERIC
-#usr/lib/locale/ar_MA.utf8/LC_PAPER
-#usr/lib/locale/ar_MA.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_MA.utf8/LC_TIME
-#usr/lib/locale/ar_MA/LC_ADDRESS
-#usr/lib/locale/ar_MA/LC_COLLATE
-#usr/lib/locale/ar_MA/LC_CTYPE
-#usr/lib/locale/ar_MA/LC_IDENTIFICATION
-#usr/lib/locale/ar_MA/LC_MEASUREMENT
-#usr/lib/locale/ar_MA/LC_MESSAGES
-#usr/lib/locale/ar_MA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_MA/LC_MONETARY
-#usr/lib/locale/ar_MA/LC_NAME
-#usr/lib/locale/ar_MA/LC_NUMERIC
-#usr/lib/locale/ar_MA/LC_PAPER
-#usr/lib/locale/ar_MA/LC_TELEPHONE
-#usr/lib/locale/ar_MA/LC_TIME
-#usr/lib/locale/ar_OM
-#usr/lib/locale/ar_OM.utf8
-#usr/lib/locale/ar_OM.utf8/LC_ADDRESS
-#usr/lib/locale/ar_OM.utf8/LC_COLLATE
-#usr/lib/locale/ar_OM.utf8/LC_CTYPE
-#usr/lib/locale/ar_OM.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_OM.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_OM.utf8/LC_MESSAGES
-#usr/lib/locale/ar_OM.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_OM.utf8/LC_MONETARY
-#usr/lib/locale/ar_OM.utf8/LC_NAME
-#usr/lib/locale/ar_OM.utf8/LC_NUMERIC
-#usr/lib/locale/ar_OM.utf8/LC_PAPER
-#usr/lib/locale/ar_OM.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_OM.utf8/LC_TIME
-#usr/lib/locale/ar_OM/LC_ADDRESS
-#usr/lib/locale/ar_OM/LC_COLLATE
-#usr/lib/locale/ar_OM/LC_CTYPE
-#usr/lib/locale/ar_OM/LC_IDENTIFICATION
-#usr/lib/locale/ar_OM/LC_MEASUREMENT
-#usr/lib/locale/ar_OM/LC_MESSAGES
-#usr/lib/locale/ar_OM/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_OM/LC_MONETARY
-#usr/lib/locale/ar_OM/LC_NAME
-#usr/lib/locale/ar_OM/LC_NUMERIC
-#usr/lib/locale/ar_OM/LC_PAPER
-#usr/lib/locale/ar_OM/LC_TELEPHONE
-#usr/lib/locale/ar_OM/LC_TIME
-#usr/lib/locale/ar_QA
-#usr/lib/locale/ar_QA.utf8
-#usr/lib/locale/ar_QA.utf8/LC_ADDRESS
-#usr/lib/locale/ar_QA.utf8/LC_COLLATE
-#usr/lib/locale/ar_QA.utf8/LC_CTYPE
-#usr/lib/locale/ar_QA.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_QA.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_QA.utf8/LC_MESSAGES
-#usr/lib/locale/ar_QA.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_QA.utf8/LC_MONETARY
-#usr/lib/locale/ar_QA.utf8/LC_NAME
-#usr/lib/locale/ar_QA.utf8/LC_NUMERIC
-#usr/lib/locale/ar_QA.utf8/LC_PAPER
-#usr/lib/locale/ar_QA.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_QA.utf8/LC_TIME
-#usr/lib/locale/ar_QA/LC_ADDRESS
-#usr/lib/locale/ar_QA/LC_COLLATE
-#usr/lib/locale/ar_QA/LC_CTYPE
-#usr/lib/locale/ar_QA/LC_IDENTIFICATION
-#usr/lib/locale/ar_QA/LC_MEASUREMENT
-#usr/lib/locale/ar_QA/LC_MESSAGES
-#usr/lib/locale/ar_QA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_QA/LC_MONETARY
-#usr/lib/locale/ar_QA/LC_NAME
-#usr/lib/locale/ar_QA/LC_NUMERIC
-#usr/lib/locale/ar_QA/LC_PAPER
-#usr/lib/locale/ar_QA/LC_TELEPHONE
-#usr/lib/locale/ar_QA/LC_TIME
-#usr/lib/locale/ar_SA
-#usr/lib/locale/ar_SA.utf8
-#usr/lib/locale/ar_SA.utf8/LC_ADDRESS
-#usr/lib/locale/ar_SA.utf8/LC_COLLATE
-#usr/lib/locale/ar_SA.utf8/LC_CTYPE
-#usr/lib/locale/ar_SA.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_SA.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_SA.utf8/LC_MESSAGES
-#usr/lib/locale/ar_SA.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_SA.utf8/LC_MONETARY
-#usr/lib/locale/ar_SA.utf8/LC_NAME
-#usr/lib/locale/ar_SA.utf8/LC_NUMERIC
-#usr/lib/locale/ar_SA.utf8/LC_PAPER
-#usr/lib/locale/ar_SA.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_SA.utf8/LC_TIME
-#usr/lib/locale/ar_SA/LC_ADDRESS
-#usr/lib/locale/ar_SA/LC_COLLATE
-#usr/lib/locale/ar_SA/LC_CTYPE
-#usr/lib/locale/ar_SA/LC_IDENTIFICATION
-#usr/lib/locale/ar_SA/LC_MEASUREMENT
-#usr/lib/locale/ar_SA/LC_MESSAGES
-#usr/lib/locale/ar_SA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_SA/LC_MONETARY
-#usr/lib/locale/ar_SA/LC_NAME
-#usr/lib/locale/ar_SA/LC_NUMERIC
-#usr/lib/locale/ar_SA/LC_PAPER
-#usr/lib/locale/ar_SA/LC_TELEPHONE
-#usr/lib/locale/ar_SA/LC_TIME
-#usr/lib/locale/ar_SD
-#usr/lib/locale/ar_SD.utf8
-#usr/lib/locale/ar_SD.utf8/LC_ADDRESS
-#usr/lib/locale/ar_SD.utf8/LC_COLLATE
-#usr/lib/locale/ar_SD.utf8/LC_CTYPE
-#usr/lib/locale/ar_SD.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_SD.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_SD.utf8/LC_MESSAGES
-#usr/lib/locale/ar_SD.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_SD.utf8/LC_MONETARY
-#usr/lib/locale/ar_SD.utf8/LC_NAME
-#usr/lib/locale/ar_SD.utf8/LC_NUMERIC
-#usr/lib/locale/ar_SD.utf8/LC_PAPER
-#usr/lib/locale/ar_SD.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_SD.utf8/LC_TIME
-#usr/lib/locale/ar_SD/LC_ADDRESS
-#usr/lib/locale/ar_SD/LC_COLLATE
-#usr/lib/locale/ar_SD/LC_CTYPE
-#usr/lib/locale/ar_SD/LC_IDENTIFICATION
-#usr/lib/locale/ar_SD/LC_MEASUREMENT
-#usr/lib/locale/ar_SD/LC_MESSAGES
-#usr/lib/locale/ar_SD/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_SD/LC_MONETARY
-#usr/lib/locale/ar_SD/LC_NAME
-#usr/lib/locale/ar_SD/LC_NUMERIC
-#usr/lib/locale/ar_SD/LC_PAPER
-#usr/lib/locale/ar_SD/LC_TELEPHONE
-#usr/lib/locale/ar_SD/LC_TIME
-#usr/lib/locale/ar_SY
-#usr/lib/locale/ar_SY.utf8
-#usr/lib/locale/ar_SY.utf8/LC_ADDRESS
-#usr/lib/locale/ar_SY.utf8/LC_COLLATE
-#usr/lib/locale/ar_SY.utf8/LC_CTYPE
-#usr/lib/locale/ar_SY.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_SY.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_SY.utf8/LC_MESSAGES
-#usr/lib/locale/ar_SY.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_SY.utf8/LC_MONETARY
-#usr/lib/locale/ar_SY.utf8/LC_NAME
-#usr/lib/locale/ar_SY.utf8/LC_NUMERIC
-#usr/lib/locale/ar_SY.utf8/LC_PAPER
-#usr/lib/locale/ar_SY.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_SY.utf8/LC_TIME
-#usr/lib/locale/ar_SY/LC_ADDRESS
-#usr/lib/locale/ar_SY/LC_COLLATE
-#usr/lib/locale/ar_SY/LC_CTYPE
-#usr/lib/locale/ar_SY/LC_IDENTIFICATION
-#usr/lib/locale/ar_SY/LC_MEASUREMENT
-#usr/lib/locale/ar_SY/LC_MESSAGES
-#usr/lib/locale/ar_SY/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_SY/LC_MONETARY
-#usr/lib/locale/ar_SY/LC_NAME
-#usr/lib/locale/ar_SY/LC_NUMERIC
-#usr/lib/locale/ar_SY/LC_PAPER
-#usr/lib/locale/ar_SY/LC_TELEPHONE
-#usr/lib/locale/ar_SY/LC_TIME
-#usr/lib/locale/ar_TN
-#usr/lib/locale/ar_TN.utf8
-#usr/lib/locale/ar_TN.utf8/LC_ADDRESS
-#usr/lib/locale/ar_TN.utf8/LC_COLLATE
-#usr/lib/locale/ar_TN.utf8/LC_CTYPE
-#usr/lib/locale/ar_TN.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_TN.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_TN.utf8/LC_MESSAGES
-#usr/lib/locale/ar_TN.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_TN.utf8/LC_MONETARY
-#usr/lib/locale/ar_TN.utf8/LC_NAME
-#usr/lib/locale/ar_TN.utf8/LC_NUMERIC
-#usr/lib/locale/ar_TN.utf8/LC_PAPER
-#usr/lib/locale/ar_TN.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_TN.utf8/LC_TIME
-#usr/lib/locale/ar_TN/LC_ADDRESS
-#usr/lib/locale/ar_TN/LC_COLLATE
-#usr/lib/locale/ar_TN/LC_CTYPE
-#usr/lib/locale/ar_TN/LC_IDENTIFICATION
-#usr/lib/locale/ar_TN/LC_MEASUREMENT
-#usr/lib/locale/ar_TN/LC_MESSAGES
-#usr/lib/locale/ar_TN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_TN/LC_MONETARY
-#usr/lib/locale/ar_TN/LC_NAME
-#usr/lib/locale/ar_TN/LC_NUMERIC
-#usr/lib/locale/ar_TN/LC_PAPER
-#usr/lib/locale/ar_TN/LC_TELEPHONE
-#usr/lib/locale/ar_TN/LC_TIME
-#usr/lib/locale/ar_YE
-#usr/lib/locale/ar_YE.utf8
-#usr/lib/locale/ar_YE.utf8/LC_ADDRESS
-#usr/lib/locale/ar_YE.utf8/LC_COLLATE
-#usr/lib/locale/ar_YE.utf8/LC_CTYPE
-#usr/lib/locale/ar_YE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_YE.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_YE.utf8/LC_MESSAGES
-#usr/lib/locale/ar_YE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_YE.utf8/LC_MONETARY
-#usr/lib/locale/ar_YE.utf8/LC_NAME
-#usr/lib/locale/ar_YE.utf8/LC_NUMERIC
-#usr/lib/locale/ar_YE.utf8/LC_PAPER
-#usr/lib/locale/ar_YE.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_YE.utf8/LC_TIME
-#usr/lib/locale/ar_YE/LC_ADDRESS
-#usr/lib/locale/ar_YE/LC_COLLATE
-#usr/lib/locale/ar_YE/LC_CTYPE
-#usr/lib/locale/ar_YE/LC_IDENTIFICATION
-#usr/lib/locale/ar_YE/LC_MEASUREMENT
-#usr/lib/locale/ar_YE/LC_MESSAGES
-#usr/lib/locale/ar_YE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_YE/LC_MONETARY
-#usr/lib/locale/ar_YE/LC_NAME
-#usr/lib/locale/ar_YE/LC_NUMERIC
-#usr/lib/locale/ar_YE/LC_PAPER
-#usr/lib/locale/ar_YE/LC_TELEPHONE
-#usr/lib/locale/ar_YE/LC_TIME
-#usr/lib/locale/as_IN
-#usr/lib/locale/as_IN/LC_ADDRESS
-#usr/lib/locale/as_IN/LC_COLLATE
-#usr/lib/locale/as_IN/LC_CTYPE
-#usr/lib/locale/as_IN/LC_IDENTIFICATION
-#usr/lib/locale/as_IN/LC_MEASUREMENT
-#usr/lib/locale/as_IN/LC_MESSAGES
-#usr/lib/locale/as_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/as_IN/LC_MONETARY
-#usr/lib/locale/as_IN/LC_NAME
-#usr/lib/locale/as_IN/LC_NUMERIC
-#usr/lib/locale/as_IN/LC_PAPER
-#usr/lib/locale/as_IN/LC_TELEPHONE
-#usr/lib/locale/as_IN/LC_TIME
-#usr/lib/locale/ast_ES
-#usr/lib/locale/ast_ES.utf8
-#usr/lib/locale/ast_ES.utf8/LC_ADDRESS
-#usr/lib/locale/ast_ES.utf8/LC_COLLATE
-#usr/lib/locale/ast_ES.utf8/LC_CTYPE
-#usr/lib/locale/ast_ES.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ast_ES.utf8/LC_MEASUREMENT
-#usr/lib/locale/ast_ES.utf8/LC_MESSAGES
-#usr/lib/locale/ast_ES.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ast_ES.utf8/LC_MONETARY
-#usr/lib/locale/ast_ES.utf8/LC_NAME
-#usr/lib/locale/ast_ES.utf8/LC_NUMERIC
-#usr/lib/locale/ast_ES.utf8/LC_PAPER
-#usr/lib/locale/ast_ES.utf8/LC_TELEPHONE
-#usr/lib/locale/ast_ES.utf8/LC_TIME
-#usr/lib/locale/ast_ES/LC_ADDRESS
-#usr/lib/locale/ast_ES/LC_COLLATE
-#usr/lib/locale/ast_ES/LC_CTYPE
-#usr/lib/locale/ast_ES/LC_IDENTIFICATION
-#usr/lib/locale/ast_ES/LC_MEASUREMENT
-#usr/lib/locale/ast_ES/LC_MESSAGES
-#usr/lib/locale/ast_ES/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ast_ES/LC_MONETARY
-#usr/lib/locale/ast_ES/LC_NAME
-#usr/lib/locale/ast_ES/LC_NUMERIC
-#usr/lib/locale/ast_ES/LC_PAPER
-#usr/lib/locale/ast_ES/LC_TELEPHONE
-#usr/lib/locale/ast_ES/LC_TIME
-#usr/lib/locale/az_AZ
-#usr/lib/locale/az_AZ/LC_ADDRESS
-#usr/lib/locale/az_AZ/LC_COLLATE
-#usr/lib/locale/az_AZ/LC_CTYPE
-#usr/lib/locale/az_AZ/LC_IDENTIFICATION
-#usr/lib/locale/az_AZ/LC_MEASUREMENT
-#usr/lib/locale/az_AZ/LC_MESSAGES
-#usr/lib/locale/az_AZ/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/az_AZ/LC_MONETARY
-#usr/lib/locale/az_AZ/LC_NAME
-#usr/lib/locale/az_AZ/LC_NUMERIC
-#usr/lib/locale/az_AZ/LC_PAPER
-#usr/lib/locale/az_AZ/LC_TELEPHONE
-#usr/lib/locale/az_AZ/LC_TIME
-#usr/lib/locale/be_BY
-#usr/lib/locale/be_BY.utf8
-#usr/lib/locale/be_BY.utf8/LC_ADDRESS
-#usr/lib/locale/be_BY.utf8/LC_COLLATE
-#usr/lib/locale/be_BY.utf8/LC_CTYPE
-#usr/lib/locale/be_BY.utf8/LC_IDENTIFICATION
-#usr/lib/locale/be_BY.utf8/LC_MEASUREMENT
-#usr/lib/locale/be_BY.utf8/LC_MESSAGES
-#usr/lib/locale/be_BY.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/be_BY.utf8/LC_MONETARY
-#usr/lib/locale/be_BY.utf8/LC_NAME
-#usr/lib/locale/be_BY.utf8/LC_NUMERIC
-#usr/lib/locale/be_BY.utf8/LC_PAPER
-#usr/lib/locale/be_BY.utf8/LC_TELEPHONE
-#usr/lib/locale/be_BY.utf8/LC_TIME
-#usr/lib/locale/be_BY/LC_ADDRESS
-#usr/lib/locale/be_BY/LC_COLLATE
-#usr/lib/locale/be_BY/LC_CTYPE
-#usr/lib/locale/be_BY/LC_IDENTIFICATION
-#usr/lib/locale/be_BY/LC_MEASUREMENT
-#usr/lib/locale/be_BY/LC_MESSAGES
-#usr/lib/locale/be_BY/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/be_BY/LC_MONETARY
-#usr/lib/locale/be_BY/LC_NAME
-#usr/lib/locale/be_BY/LC_NUMERIC
-#usr/lib/locale/be_BY/LC_PAPER
-#usr/lib/locale/be_BY/LC_TELEPHONE
-#usr/lib/locale/be_BY/LC_TIME
-#usr/lib/locale/be_BY@latin
-#usr/lib/locale/be_BY@latin/LC_ADDRESS
-#usr/lib/locale/be_BY@latin/LC_COLLATE
-#usr/lib/locale/be_BY@latin/LC_CTYPE
-#usr/lib/locale/be_BY@latin/LC_IDENTIFICATION
-#usr/lib/locale/be_BY@latin/LC_MEASUREMENT
-#usr/lib/locale/be_BY@latin/LC_MESSAGES
-#usr/lib/locale/be_BY@latin/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/be_BY@latin/LC_MONETARY
-#usr/lib/locale/be_BY@latin/LC_NAME
-#usr/lib/locale/be_BY@latin/LC_NUMERIC
-#usr/lib/locale/be_BY@latin/LC_PAPER
-#usr/lib/locale/be_BY@latin/LC_TELEPHONE
-#usr/lib/locale/be_BY@latin/LC_TIME
-#usr/lib/locale/ber_DZ
-#usr/lib/locale/ber_DZ/LC_ADDRESS
-#usr/lib/locale/ber_DZ/LC_COLLATE
-#usr/lib/locale/ber_DZ/LC_CTYPE
-#usr/lib/locale/ber_DZ/LC_IDENTIFICATION
-#usr/lib/locale/ber_DZ/LC_MEASUREMENT
-#usr/lib/locale/ber_DZ/LC_MESSAGES
-#usr/lib/locale/ber_DZ/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ber_DZ/LC_MONETARY
-#usr/lib/locale/ber_DZ/LC_NAME
-#usr/lib/locale/ber_DZ/LC_NUMERIC
-#usr/lib/locale/ber_DZ/LC_PAPER
-#usr/lib/locale/ber_DZ/LC_TELEPHONE
-#usr/lib/locale/ber_DZ/LC_TIME
-#usr/lib/locale/ber_MA
-#usr/lib/locale/ber_MA/LC_ADDRESS
-#usr/lib/locale/ber_MA/LC_COLLATE
-#usr/lib/locale/ber_MA/LC_CTYPE
-#usr/lib/locale/ber_MA/LC_IDENTIFICATION
-#usr/lib/locale/ber_MA/LC_MEASUREMENT
-#usr/lib/locale/ber_MA/LC_MESSAGES
-#usr/lib/locale/ber_MA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ber_MA/LC_MONETARY
-#usr/lib/locale/ber_MA/LC_NAME
-#usr/lib/locale/ber_MA/LC_NUMERIC
-#usr/lib/locale/ber_MA/LC_PAPER
-#usr/lib/locale/ber_MA/LC_TELEPHONE
-#usr/lib/locale/ber_MA/LC_TIME
-#usr/lib/locale/bg_BG
-#usr/lib/locale/bg_BG.utf8
-#usr/lib/locale/bg_BG.utf8/LC_ADDRESS
-#usr/lib/locale/bg_BG.utf8/LC_COLLATE
-#usr/lib/locale/bg_BG.utf8/LC_CTYPE
-#usr/lib/locale/bg_BG.utf8/LC_IDENTIFICATION
-#usr/lib/locale/bg_BG.utf8/LC_MEASUREMENT
-#usr/lib/locale/bg_BG.utf8/LC_MESSAGES
-#usr/lib/locale/bg_BG.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/bg_BG.utf8/LC_MONETARY
-#usr/lib/locale/bg_BG.utf8/LC_NAME
-#usr/lib/locale/bg_BG.utf8/LC_NUMERIC
-#usr/lib/locale/bg_BG.utf8/LC_PAPER
-#usr/lib/locale/bg_BG.utf8/LC_TELEPHONE
-#usr/lib/locale/bg_BG.utf8/LC_TIME
-#usr/lib/locale/bg_BG/LC_ADDRESS
-#usr/lib/locale/bg_BG/LC_COLLATE
-#usr/lib/locale/bg_BG/LC_CTYPE
-#usr/lib/locale/bg_BG/LC_IDENTIFICATION
-#usr/lib/locale/bg_BG/LC_MEASUREMENT
-#usr/lib/locale/bg_BG/LC_MESSAGES
-#usr/lib/locale/bg_BG/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/bg_BG/LC_MONETARY
-#usr/lib/locale/bg_BG/LC_NAME
-#usr/lib/locale/bg_BG/LC_NUMERIC
-#usr/lib/locale/bg_BG/LC_PAPER
-#usr/lib/locale/bg_BG/LC_TELEPHONE
-#usr/lib/locale/bg_BG/LC_TIME
-#usr/lib/locale/bn_BD
-#usr/lib/locale/bn_BD/LC_ADDRESS
-#usr/lib/locale/bn_BD/LC_COLLATE
-#usr/lib/locale/bn_BD/LC_CTYPE
-#usr/lib/locale/bn_BD/LC_IDENTIFICATION
-#usr/lib/locale/bn_BD/LC_MEASUREMENT
-#usr/lib/locale/bn_BD/LC_MESSAGES
-#usr/lib/locale/bn_BD/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/bn_BD/LC_MONETARY
-#usr/lib/locale/bn_BD/LC_NAME
-#usr/lib/locale/bn_BD/LC_NUMERIC
-#usr/lib/locale/bn_BD/LC_PAPER
-#usr/lib/locale/bn_BD/LC_TELEPHONE
-#usr/lib/locale/bn_BD/LC_TIME
-#usr/lib/locale/bn_IN
-#usr/lib/locale/bn_IN/LC_ADDRESS
-#usr/lib/locale/bn_IN/LC_COLLATE
-#usr/lib/locale/bn_IN/LC_CTYPE
-#usr/lib/locale/bn_IN/LC_IDENTIFICATION
-#usr/lib/locale/bn_IN/LC_MEASUREMENT
-#usr/lib/locale/bn_IN/LC_MESSAGES
-#usr/lib/locale/bn_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/bn_IN/LC_MONETARY
-#usr/lib/locale/bn_IN/LC_NAME
-#usr/lib/locale/bn_IN/LC_NUMERIC
-#usr/lib/locale/bn_IN/LC_PAPER
-#usr/lib/locale/bn_IN/LC_TELEPHONE
-#usr/lib/locale/bn_IN/LC_TIME
-#usr/lib/locale/bo_CN
-#usr/lib/locale/bo_CN/LC_ADDRESS
-#usr/lib/locale/bo_CN/LC_COLLATE
-#usr/lib/locale/bo_CN/LC_CTYPE
-#usr/lib/locale/bo_CN/LC_IDENTIFICATION
-#usr/lib/locale/bo_CN/LC_MEASUREMENT
-#usr/lib/locale/bo_CN/LC_MESSAGES
-#usr/lib/locale/bo_CN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/bo_CN/LC_MONETARY
-#usr/lib/locale/bo_CN/LC_NAME
-#usr/lib/locale/bo_CN/LC_NUMERIC
-#usr/lib/locale/bo_CN/LC_PAPER
-#usr/lib/locale/bo_CN/LC_TELEPHONE
-#usr/lib/locale/bo_CN/LC_TIME
-#usr/lib/locale/bo_IN
-#usr/lib/locale/bo_IN/LC_ADDRESS
-#usr/lib/locale/bo_IN/LC_COLLATE
-#usr/lib/locale/bo_IN/LC_CTYPE
-#usr/lib/locale/bo_IN/LC_IDENTIFICATION
-#usr/lib/locale/bo_IN/LC_MEASUREMENT
-#usr/lib/locale/bo_IN/LC_MESSAGES
-#usr/lib/locale/bo_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/bo_IN/LC_MONETARY
-#usr/lib/locale/bo_IN/LC_NAME
-#usr/lib/locale/bo_IN/LC_NUMERIC
-#usr/lib/locale/bo_IN/LC_PAPER
-#usr/lib/locale/bo_IN/LC_TELEPHONE
-#usr/lib/locale/bo_IN/LC_TIME
-#usr/lib/locale/br_FR
-#usr/lib/locale/br_FR.utf8
-#usr/lib/locale/br_FR.utf8/LC_ADDRESS
-#usr/lib/locale/br_FR.utf8/LC_COLLATE
-#usr/lib/locale/br_FR.utf8/LC_CTYPE
-#usr/lib/locale/br_FR.utf8/LC_IDENTIFICATION
-#usr/lib/locale/br_FR.utf8/LC_MEASUREMENT
-#usr/lib/locale/br_FR.utf8/LC_MESSAGES
-#usr/lib/locale/br_FR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/br_FR.utf8/LC_MONETARY
-#usr/lib/locale/br_FR.utf8/LC_NAME
-#usr/lib/locale/br_FR.utf8/LC_NUMERIC
-#usr/lib/locale/br_FR.utf8/LC_PAPER
-#usr/lib/locale/br_FR.utf8/LC_TELEPHONE
-#usr/lib/locale/br_FR.utf8/LC_TIME
-#usr/lib/locale/br_FR/LC_ADDRESS
-#usr/lib/locale/br_FR/LC_COLLATE
-#usr/lib/locale/br_FR/LC_CTYPE
-#usr/lib/locale/br_FR/LC_IDENTIFICATION
-#usr/lib/locale/br_FR/LC_MEASUREMENT
-#usr/lib/locale/br_FR/LC_MESSAGES
-#usr/lib/locale/br_FR/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/br_FR/LC_MONETARY
-#usr/lib/locale/br_FR/LC_NAME
-#usr/lib/locale/br_FR/LC_NUMERIC
-#usr/lib/locale/br_FR/LC_PAPER
-#usr/lib/locale/br_FR/LC_TELEPHONE
-#usr/lib/locale/br_FR/LC_TIME
-#usr/lib/locale/br_FR@euro
-#usr/lib/locale/br_FR@euro/LC_ADDRESS
-#usr/lib/locale/br_FR@euro/LC_COLLATE
-#usr/lib/locale/br_FR@euro/LC_CTYPE
-#usr/lib/locale/br_FR@euro/LC_IDENTIFICATION
-#usr/lib/locale/br_FR@euro/LC_MEASUREMENT
-#usr/lib/locale/br_FR@euro/LC_MESSAGES
-#usr/lib/locale/br_FR@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/br_FR@euro/LC_MONETARY
-#usr/lib/locale/br_FR@euro/LC_NAME
-#usr/lib/locale/br_FR@euro/LC_NUMERIC
-#usr/lib/locale/br_FR@euro/LC_PAPER
-#usr/lib/locale/br_FR@euro/LC_TELEPHONE
-#usr/lib/locale/br_FR@euro/LC_TIME
-#usr/lib/locale/bs_BA
-#usr/lib/locale/bs_BA.utf8
-#usr/lib/locale/bs_BA.utf8/LC_ADDRESS
-#usr/lib/locale/bs_BA.utf8/LC_COLLATE
-#usr/lib/locale/bs_BA.utf8/LC_CTYPE
-#usr/lib/locale/bs_BA.utf8/LC_IDENTIFICATION
-#usr/lib/locale/bs_BA.utf8/LC_MEASUREMENT
-#usr/lib/locale/bs_BA.utf8/LC_MESSAGES
-#usr/lib/locale/bs_BA.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/bs_BA.utf8/LC_MONETARY
-#usr/lib/locale/bs_BA.utf8/LC_NAME
-#usr/lib/locale/bs_BA.utf8/LC_NUMERIC
-#usr/lib/locale/bs_BA.utf8/LC_PAPER
-#usr/lib/locale/bs_BA.utf8/LC_TELEPHONE
-#usr/lib/locale/bs_BA.utf8/LC_TIME
-#usr/lib/locale/bs_BA/LC_ADDRESS
-#usr/lib/locale/bs_BA/LC_COLLATE
-#usr/lib/locale/bs_BA/LC_CTYPE
-#usr/lib/locale/bs_BA/LC_IDENTIFICATION
-#usr/lib/locale/bs_BA/LC_MEASUREMENT
-#usr/lib/locale/bs_BA/LC_MESSAGES
-#usr/lib/locale/bs_BA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/bs_BA/LC_MONETARY
-#usr/lib/locale/bs_BA/LC_NAME
-#usr/lib/locale/bs_BA/LC_NUMERIC
-#usr/lib/locale/bs_BA/LC_PAPER
-#usr/lib/locale/bs_BA/LC_TELEPHONE
-#usr/lib/locale/bs_BA/LC_TIME
-#usr/lib/locale/byn_ER
-#usr/lib/locale/byn_ER/LC_ADDRESS
-#usr/lib/locale/byn_ER/LC_COLLATE
-#usr/lib/locale/byn_ER/LC_CTYPE
-#usr/lib/locale/byn_ER/LC_IDENTIFICATION
-#usr/lib/locale/byn_ER/LC_MEASUREMENT
-#usr/lib/locale/byn_ER/LC_MESSAGES
-#usr/lib/locale/byn_ER/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/byn_ER/LC_MONETARY
-#usr/lib/locale/byn_ER/LC_NAME
-#usr/lib/locale/byn_ER/LC_NUMERIC
-#usr/lib/locale/byn_ER/LC_PAPER
-#usr/lib/locale/byn_ER/LC_TELEPHONE
-#usr/lib/locale/byn_ER/LC_TIME
-#usr/lib/locale/ca_AD
-#usr/lib/locale/ca_AD.utf8
-#usr/lib/locale/ca_AD.utf8/LC_ADDRESS
-#usr/lib/locale/ca_AD.utf8/LC_COLLATE
-#usr/lib/locale/ca_AD.utf8/LC_CTYPE
-#usr/lib/locale/ca_AD.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ca_AD.utf8/LC_MEASUREMENT
-#usr/lib/locale/ca_AD.utf8/LC_MESSAGES
-#usr/lib/locale/ca_AD.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ca_AD.utf8/LC_MONETARY
-#usr/lib/locale/ca_AD.utf8/LC_NAME
-#usr/lib/locale/ca_AD.utf8/LC_NUMERIC
-#usr/lib/locale/ca_AD.utf8/LC_PAPER
-#usr/lib/locale/ca_AD.utf8/LC_TELEPHONE
-#usr/lib/locale/ca_AD.utf8/LC_TIME
-#usr/lib/locale/ca_AD/LC_ADDRESS
-#usr/lib/locale/ca_AD/LC_COLLATE
-#usr/lib/locale/ca_AD/LC_CTYPE
-#usr/lib/locale/ca_AD/LC_IDENTIFICATION
-#usr/lib/locale/ca_AD/LC_MEASUREMENT
-#usr/lib/locale/ca_AD/LC_MESSAGES
-#usr/lib/locale/ca_AD/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ca_AD/LC_MONETARY
-#usr/lib/locale/ca_AD/LC_NAME
-#usr/lib/locale/ca_AD/LC_NUMERIC
-#usr/lib/locale/ca_AD/LC_PAPER
-#usr/lib/locale/ca_AD/LC_TELEPHONE
-#usr/lib/locale/ca_AD/LC_TIME
-#usr/lib/locale/ca_ES
-#usr/lib/locale/ca_ES.utf8
-#usr/lib/locale/ca_ES.utf8/LC_ADDRESS
-#usr/lib/locale/ca_ES.utf8/LC_COLLATE
-#usr/lib/locale/ca_ES.utf8/LC_CTYPE
-#usr/lib/locale/ca_ES.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ca_ES.utf8/LC_MEASUREMENT
-#usr/lib/locale/ca_ES.utf8/LC_MESSAGES
-#usr/lib/locale/ca_ES.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ca_ES.utf8/LC_MONETARY
-#usr/lib/locale/ca_ES.utf8/LC_NAME
-#usr/lib/locale/ca_ES.utf8/LC_NUMERIC
-#usr/lib/locale/ca_ES.utf8/LC_PAPER
-#usr/lib/locale/ca_ES.utf8/LC_TELEPHONE
-#usr/lib/locale/ca_ES.utf8/LC_TIME
-#usr/lib/locale/ca_ES/LC_ADDRESS
-#usr/lib/locale/ca_ES/LC_COLLATE
-#usr/lib/locale/ca_ES/LC_CTYPE
-#usr/lib/locale/ca_ES/LC_IDENTIFICATION
-#usr/lib/locale/ca_ES/LC_MEASUREMENT
-#usr/lib/locale/ca_ES/LC_MESSAGES
-#usr/lib/locale/ca_ES/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ca_ES/LC_MONETARY
-#usr/lib/locale/ca_ES/LC_NAME
-#usr/lib/locale/ca_ES/LC_NUMERIC
-#usr/lib/locale/ca_ES/LC_PAPER
-#usr/lib/locale/ca_ES/LC_TELEPHONE
-#usr/lib/locale/ca_ES/LC_TIME
-#usr/lib/locale/ca_ES@euro
-#usr/lib/locale/ca_ES@euro/LC_ADDRESS
-#usr/lib/locale/ca_ES@euro/LC_COLLATE
-#usr/lib/locale/ca_ES@euro/LC_CTYPE
-#usr/lib/locale/ca_ES@euro/LC_IDENTIFICATION
-#usr/lib/locale/ca_ES@euro/LC_MEASUREMENT
-#usr/lib/locale/ca_ES@euro/LC_MESSAGES
-#usr/lib/locale/ca_ES@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ca_ES@euro/LC_MONETARY
-#usr/lib/locale/ca_ES@euro/LC_NAME
-#usr/lib/locale/ca_ES@euro/LC_NUMERIC
-#usr/lib/locale/ca_ES@euro/LC_PAPER
-#usr/lib/locale/ca_ES@euro/LC_TELEPHONE
-#usr/lib/locale/ca_ES@euro/LC_TIME
-#usr/lib/locale/ca_FR
-#usr/lib/locale/ca_FR.utf8
-#usr/lib/locale/ca_FR.utf8/LC_ADDRESS
-#usr/lib/locale/ca_FR.utf8/LC_COLLATE
-#usr/lib/locale/ca_FR.utf8/LC_CTYPE
-#usr/lib/locale/ca_FR.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ca_FR.utf8/LC_MEASUREMENT
-#usr/lib/locale/ca_FR.utf8/LC_MESSAGES
-#usr/lib/locale/ca_FR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ca_FR.utf8/LC_MONETARY
-#usr/lib/locale/ca_FR.utf8/LC_NAME
-#usr/lib/locale/ca_FR.utf8/LC_NUMERIC
-#usr/lib/locale/ca_FR.utf8/LC_PAPER
-#usr/lib/locale/ca_FR.utf8/LC_TELEPHONE
-#usr/lib/locale/ca_FR.utf8/LC_TIME
-#usr/lib/locale/ca_FR/LC_ADDRESS
-#usr/lib/locale/ca_FR/LC_COLLATE
-#usr/lib/locale/ca_FR/LC_CTYPE
-#usr/lib/locale/ca_FR/LC_IDENTIFICATION
-#usr/lib/locale/ca_FR/LC_MEASUREMENT
-#usr/lib/locale/ca_FR/LC_MESSAGES
-#usr/lib/locale/ca_FR/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ca_FR/LC_MONETARY
-#usr/lib/locale/ca_FR/LC_NAME
-#usr/lib/locale/ca_FR/LC_NUMERIC
-#usr/lib/locale/ca_FR/LC_PAPER
-#usr/lib/locale/ca_FR/LC_TELEPHONE
-#usr/lib/locale/ca_FR/LC_TIME
-#usr/lib/locale/ca_IT
-#usr/lib/locale/ca_IT.utf8
-#usr/lib/locale/ca_IT.utf8/LC_ADDRESS
-#usr/lib/locale/ca_IT.utf8/LC_COLLATE
-#usr/lib/locale/ca_IT.utf8/LC_CTYPE
-#usr/lib/locale/ca_IT.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ca_IT.utf8/LC_MEASUREMENT
-#usr/lib/locale/ca_IT.utf8/LC_MESSAGES
-#usr/lib/locale/ca_IT.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ca_IT.utf8/LC_MONETARY
-#usr/lib/locale/ca_IT.utf8/LC_NAME
-#usr/lib/locale/ca_IT.utf8/LC_NUMERIC
-#usr/lib/locale/ca_IT.utf8/LC_PAPER
-#usr/lib/locale/ca_IT.utf8/LC_TELEPHONE
-#usr/lib/locale/ca_IT.utf8/LC_TIME
-#usr/lib/locale/ca_IT/LC_ADDRESS
-#usr/lib/locale/ca_IT/LC_COLLATE
-#usr/lib/locale/ca_IT/LC_CTYPE
-#usr/lib/locale/ca_IT/LC_IDENTIFICATION
-#usr/lib/locale/ca_IT/LC_MEASUREMENT
-#usr/lib/locale/ca_IT/LC_MESSAGES
-#usr/lib/locale/ca_IT/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ca_IT/LC_MONETARY
-#usr/lib/locale/ca_IT/LC_NAME
-#usr/lib/locale/ca_IT/LC_NUMERIC
-#usr/lib/locale/ca_IT/LC_PAPER
-#usr/lib/locale/ca_IT/LC_TELEPHONE
-#usr/lib/locale/ca_IT/LC_TIME
-#usr/lib/locale/crh_UA
-#usr/lib/locale/crh_UA/LC_ADDRESS
-#usr/lib/locale/crh_UA/LC_COLLATE
-#usr/lib/locale/crh_UA/LC_CTYPE
-#usr/lib/locale/crh_UA/LC_IDENTIFICATION
-#usr/lib/locale/crh_UA/LC_MEASUREMENT
-#usr/lib/locale/crh_UA/LC_MESSAGES
-#usr/lib/locale/crh_UA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/crh_UA/LC_MONETARY
-#usr/lib/locale/crh_UA/LC_NAME
-#usr/lib/locale/crh_UA/LC_NUMERIC
-#usr/lib/locale/crh_UA/LC_PAPER
-#usr/lib/locale/crh_UA/LC_TELEPHONE
-#usr/lib/locale/crh_UA/LC_TIME
-#usr/lib/locale/cs_CZ
-#usr/lib/locale/cs_CZ.utf8
-#usr/lib/locale/cs_CZ.utf8/LC_ADDRESS
-#usr/lib/locale/cs_CZ.utf8/LC_COLLATE
-#usr/lib/locale/cs_CZ.utf8/LC_CTYPE
-#usr/lib/locale/cs_CZ.utf8/LC_IDENTIFICATION
-#usr/lib/locale/cs_CZ.utf8/LC_MEASUREMENT
-#usr/lib/locale/cs_CZ.utf8/LC_MESSAGES
-#usr/lib/locale/cs_CZ.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/cs_CZ.utf8/LC_MONETARY
-#usr/lib/locale/cs_CZ.utf8/LC_NAME
-#usr/lib/locale/cs_CZ.utf8/LC_NUMERIC
-#usr/lib/locale/cs_CZ.utf8/LC_PAPER
-#usr/lib/locale/cs_CZ.utf8/LC_TELEPHONE
-#usr/lib/locale/cs_CZ.utf8/LC_TIME
-#usr/lib/locale/cs_CZ/LC_ADDRESS
-#usr/lib/locale/cs_CZ/LC_COLLATE
-#usr/lib/locale/cs_CZ/LC_CTYPE
-#usr/lib/locale/cs_CZ/LC_IDENTIFICATION
-#usr/lib/locale/cs_CZ/LC_MEASUREMENT
-#usr/lib/locale/cs_CZ/LC_MESSAGES
-#usr/lib/locale/cs_CZ/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/cs_CZ/LC_MONETARY
-#usr/lib/locale/cs_CZ/LC_NAME
-#usr/lib/locale/cs_CZ/LC_NUMERIC
-#usr/lib/locale/cs_CZ/LC_PAPER
-#usr/lib/locale/cs_CZ/LC_TELEPHONE
-#usr/lib/locale/cs_CZ/LC_TIME
-#usr/lib/locale/csb_PL
-#usr/lib/locale/csb_PL/LC_ADDRESS
-#usr/lib/locale/csb_PL/LC_COLLATE
-#usr/lib/locale/csb_PL/LC_CTYPE
-#usr/lib/locale/csb_PL/LC_IDENTIFICATION
-#usr/lib/locale/csb_PL/LC_MEASUREMENT
-#usr/lib/locale/csb_PL/LC_MESSAGES
-#usr/lib/locale/csb_PL/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/csb_PL/LC_MONETARY
-#usr/lib/locale/csb_PL/LC_NAME
-#usr/lib/locale/csb_PL/LC_NUMERIC
-#usr/lib/locale/csb_PL/LC_PAPER
-#usr/lib/locale/csb_PL/LC_TELEPHONE
-#usr/lib/locale/csb_PL/LC_TIME
-#usr/lib/locale/cv_RU
-#usr/lib/locale/cv_RU/LC_ADDRESS
-#usr/lib/locale/cv_RU/LC_COLLATE
-#usr/lib/locale/cv_RU/LC_CTYPE
-#usr/lib/locale/cv_RU/LC_IDENTIFICATION
-#usr/lib/locale/cv_RU/LC_MEASUREMENT
-#usr/lib/locale/cv_RU/LC_MESSAGES
-#usr/lib/locale/cv_RU/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/cv_RU/LC_MONETARY
-#usr/lib/locale/cv_RU/LC_NAME
-#usr/lib/locale/cv_RU/LC_NUMERIC
-#usr/lib/locale/cv_RU/LC_PAPER
-#usr/lib/locale/cv_RU/LC_TELEPHONE
-#usr/lib/locale/cv_RU/LC_TIME
-#usr/lib/locale/cy_GB
-#usr/lib/locale/cy_GB.utf8
-#usr/lib/locale/cy_GB.utf8/LC_ADDRESS
-#usr/lib/locale/cy_GB.utf8/LC_COLLATE
-#usr/lib/locale/cy_GB.utf8/LC_CTYPE
-#usr/lib/locale/cy_GB.utf8/LC_IDENTIFICATION
-#usr/lib/locale/cy_GB.utf8/LC_MEASUREMENT
-#usr/lib/locale/cy_GB.utf8/LC_MESSAGES
-#usr/lib/locale/cy_GB.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/cy_GB.utf8/LC_MONETARY
-#usr/lib/locale/cy_GB.utf8/LC_NAME
-#usr/lib/locale/cy_GB.utf8/LC_NUMERIC
-#usr/lib/locale/cy_GB.utf8/LC_PAPER
-#usr/lib/locale/cy_GB.utf8/LC_TELEPHONE
-#usr/lib/locale/cy_GB.utf8/LC_TIME
-#usr/lib/locale/cy_GB/LC_ADDRESS
-#usr/lib/locale/cy_GB/LC_COLLATE
-#usr/lib/locale/cy_GB/LC_CTYPE
-#usr/lib/locale/cy_GB/LC_IDENTIFICATION
-#usr/lib/locale/cy_GB/LC_MEASUREMENT
-#usr/lib/locale/cy_GB/LC_MESSAGES
-#usr/lib/locale/cy_GB/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/cy_GB/LC_MONETARY
-#usr/lib/locale/cy_GB/LC_NAME
-#usr/lib/locale/cy_GB/LC_NUMERIC
-#usr/lib/locale/cy_GB/LC_PAPER
-#usr/lib/locale/cy_GB/LC_TELEPHONE
-#usr/lib/locale/cy_GB/LC_TIME
-#usr/lib/locale/da_DK
-#usr/lib/locale/da_DK.iso885915
-#usr/lib/locale/da_DK.iso885915/LC_ADDRESS
-#usr/lib/locale/da_DK.iso885915/LC_COLLATE
-#usr/lib/locale/da_DK.iso885915/LC_CTYPE
-#usr/lib/locale/da_DK.iso885915/LC_IDENTIFICATION
-#usr/lib/locale/da_DK.iso885915/LC_MEASUREMENT
-#usr/lib/locale/da_DK.iso885915/LC_MESSAGES
-#usr/lib/locale/da_DK.iso885915/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/da_DK.iso885915/LC_MONETARY
-#usr/lib/locale/da_DK.iso885915/LC_NAME
-#usr/lib/locale/da_DK.iso885915/LC_NUMERIC
-#usr/lib/locale/da_DK.iso885915/LC_PAPER
-#usr/lib/locale/da_DK.iso885915/LC_TELEPHONE
-#usr/lib/locale/da_DK.iso885915/LC_TIME
-#usr/lib/locale/da_DK.utf8
-#usr/lib/locale/da_DK.utf8/LC_ADDRESS
-#usr/lib/locale/da_DK.utf8/LC_COLLATE
-#usr/lib/locale/da_DK.utf8/LC_CTYPE
-#usr/lib/locale/da_DK.utf8/LC_IDENTIFICATION
-#usr/lib/locale/da_DK.utf8/LC_MEASUREMENT
-#usr/lib/locale/da_DK.utf8/LC_MESSAGES
-#usr/lib/locale/da_DK.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/da_DK.utf8/LC_MONETARY
-#usr/lib/locale/da_DK.utf8/LC_NAME
-#usr/lib/locale/da_DK.utf8/LC_NUMERIC
-#usr/lib/locale/da_DK.utf8/LC_PAPER
-#usr/lib/locale/da_DK.utf8/LC_TELEPHONE
-#usr/lib/locale/da_DK.utf8/LC_TIME
-#usr/lib/locale/da_DK/LC_ADDRESS
-#usr/lib/locale/da_DK/LC_COLLATE
-#usr/lib/locale/da_DK/LC_CTYPE
-#usr/lib/locale/da_DK/LC_IDENTIFICATION
-#usr/lib/locale/da_DK/LC_MEASUREMENT
-#usr/lib/locale/da_DK/LC_MESSAGES
-#usr/lib/locale/da_DK/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/da_DK/LC_MONETARY
-#usr/lib/locale/da_DK/LC_NAME
-#usr/lib/locale/da_DK/LC_NUMERIC
-#usr/lib/locale/da_DK/LC_PAPER
-#usr/lib/locale/da_DK/LC_TELEPHONE
-#usr/lib/locale/da_DK/LC_TIME
-#usr/lib/locale/de_AT
-#usr/lib/locale/de_AT.utf8
-#usr/lib/locale/de_AT.utf8/LC_ADDRESS
-#usr/lib/locale/de_AT.utf8/LC_COLLATE
-#usr/lib/locale/de_AT.utf8/LC_CTYPE
-#usr/lib/locale/de_AT.utf8/LC_IDENTIFICATION
-#usr/lib/locale/de_AT.utf8/LC_MEASUREMENT
-#usr/lib/locale/de_AT.utf8/LC_MESSAGES
-#usr/lib/locale/de_AT.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/de_AT.utf8/LC_MONETARY
-#usr/lib/locale/de_AT.utf8/LC_NAME
-#usr/lib/locale/de_AT.utf8/LC_NUMERIC
-#usr/lib/locale/de_AT.utf8/LC_PAPER
-#usr/lib/locale/de_AT.utf8/LC_TELEPHONE
-#usr/lib/locale/de_AT.utf8/LC_TIME
-#usr/lib/locale/de_AT/LC_ADDRESS
-#usr/lib/locale/de_AT/LC_COLLATE
-#usr/lib/locale/de_AT/LC_CTYPE
-#usr/lib/locale/de_AT/LC_IDENTIFICATION
-#usr/lib/locale/de_AT/LC_MEASUREMENT
-#usr/lib/locale/de_AT/LC_MESSAGES
-#usr/lib/locale/de_AT/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/de_AT/LC_MONETARY
-#usr/lib/locale/de_AT/LC_NAME
-#usr/lib/locale/de_AT/LC_NUMERIC
-#usr/lib/locale/de_AT/LC_PAPER
-#usr/lib/locale/de_AT/LC_TELEPHONE
-#usr/lib/locale/de_AT/LC_TIME
-#usr/lib/locale/de_AT@euro
-#usr/lib/locale/de_AT@euro/LC_ADDRESS
-#usr/lib/locale/de_AT@euro/LC_COLLATE
-#usr/lib/locale/de_AT@euro/LC_CTYPE
-#usr/lib/locale/de_AT@euro/LC_IDENTIFICATION
-#usr/lib/locale/de_AT@euro/LC_MEASUREMENT
-#usr/lib/locale/de_AT@euro/LC_MESSAGES
-#usr/lib/locale/de_AT@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/de_AT@euro/LC_MONETARY
-#usr/lib/locale/de_AT@euro/LC_NAME
-#usr/lib/locale/de_AT@euro/LC_NUMERIC
-#usr/lib/locale/de_AT@euro/LC_PAPER
-#usr/lib/locale/de_AT@euro/LC_TELEPHONE
-#usr/lib/locale/de_AT@euro/LC_TIME
-#usr/lib/locale/de_BE
-#usr/lib/locale/de_BE.utf8
-#usr/lib/locale/de_BE.utf8/LC_ADDRESS
-#usr/lib/locale/de_BE.utf8/LC_COLLATE
-#usr/lib/locale/de_BE.utf8/LC_CTYPE
-#usr/lib/locale/de_BE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/de_BE.utf8/LC_MEASUREMENT
-#usr/lib/locale/de_BE.utf8/LC_MESSAGES
-#usr/lib/locale/de_BE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/de_BE.utf8/LC_MONETARY
-#usr/lib/locale/de_BE.utf8/LC_NAME
-#usr/lib/locale/de_BE.utf8/LC_NUMERIC
-#usr/lib/locale/de_BE.utf8/LC_PAPER
-#usr/lib/locale/de_BE.utf8/LC_TELEPHONE
-#usr/lib/locale/de_BE.utf8/LC_TIME
-#usr/lib/locale/de_BE/LC_ADDRESS
-#usr/lib/locale/de_BE/LC_COLLATE
-#usr/lib/locale/de_BE/LC_CTYPE
-#usr/lib/locale/de_BE/LC_IDENTIFICATION
-#usr/lib/locale/de_BE/LC_MEASUREMENT
-#usr/lib/locale/de_BE/LC_MESSAGES
-#usr/lib/locale/de_BE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/de_BE/LC_MONETARY
-#usr/lib/locale/de_BE/LC_NAME
-#usr/lib/locale/de_BE/LC_NUMERIC
-#usr/lib/locale/de_BE/LC_PAPER
-#usr/lib/locale/de_BE/LC_TELEPHONE
-#usr/lib/locale/de_BE/LC_TIME
-#usr/lib/locale/de_BE@euro
-#usr/lib/locale/de_BE@euro/LC_ADDRESS
-#usr/lib/locale/de_BE@euro/LC_COLLATE
-#usr/lib/locale/de_BE@euro/LC_CTYPE
-#usr/lib/locale/de_BE@euro/LC_IDENTIFICATION
-#usr/lib/locale/de_BE@euro/LC_MEASUREMENT
-#usr/lib/locale/de_BE@euro/LC_MESSAGES
-#usr/lib/locale/de_BE@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/de_BE@euro/LC_MONETARY
-#usr/lib/locale/de_BE@euro/LC_NAME
-#usr/lib/locale/de_BE@euro/LC_NUMERIC
-#usr/lib/locale/de_BE@euro/LC_PAPER
-#usr/lib/locale/de_BE@euro/LC_TELEPHONE
-#usr/lib/locale/de_BE@euro/LC_TIME
-#usr/lib/locale/de_CH
-#usr/lib/locale/de_CH.utf8
-#usr/lib/locale/de_CH.utf8/LC_ADDRESS
-#usr/lib/locale/de_CH.utf8/LC_COLLATE
-#usr/lib/locale/de_CH.utf8/LC_CTYPE
-#usr/lib/locale/de_CH.utf8/LC_IDENTIFICATION
-#usr/lib/locale/de_CH.utf8/LC_MEASUREMENT
-#usr/lib/locale/de_CH.utf8/LC_MESSAGES
-#usr/lib/locale/de_CH.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/de_CH.utf8/LC_MONETARY
-#usr/lib/locale/de_CH.utf8/LC_NAME
-#usr/lib/locale/de_CH.utf8/LC_NUMERIC
-#usr/lib/locale/de_CH.utf8/LC_PAPER
-#usr/lib/locale/de_CH.utf8/LC_TELEPHONE
-#usr/lib/locale/de_CH.utf8/LC_TIME
-#usr/lib/locale/de_CH/LC_ADDRESS
-#usr/lib/locale/de_CH/LC_COLLATE
-#usr/lib/locale/de_CH/LC_CTYPE
-#usr/lib/locale/de_CH/LC_IDENTIFICATION
-#usr/lib/locale/de_CH/LC_MEASUREMENT
-#usr/lib/locale/de_CH/LC_MESSAGES
-#usr/lib/locale/de_CH/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/de_CH/LC_MONETARY
-#usr/lib/locale/de_CH/LC_NAME
-#usr/lib/locale/de_CH/LC_NUMERIC
-#usr/lib/locale/de_CH/LC_PAPER
-#usr/lib/locale/de_CH/LC_TELEPHONE
-#usr/lib/locale/de_CH/LC_TIME
-#usr/lib/locale/de_DE
-#usr/lib/locale/de_DE.utf8
-#usr/lib/locale/de_DE.utf8/LC_ADDRESS
-#usr/lib/locale/de_DE.utf8/LC_COLLATE
-#usr/lib/locale/de_DE.utf8/LC_CTYPE
-#usr/lib/locale/de_DE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/de_DE.utf8/LC_MEASUREMENT
-#usr/lib/locale/de_DE.utf8/LC_MESSAGES
-#usr/lib/locale/de_DE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/de_DE.utf8/LC_MONETARY
-#usr/lib/locale/de_DE.utf8/LC_NAME
-#usr/lib/locale/de_DE.utf8/LC_NUMERIC
-#usr/lib/locale/de_DE.utf8/LC_PAPER
-#usr/lib/locale/de_DE.utf8/LC_TELEPHONE
-#usr/lib/locale/de_DE.utf8/LC_TIME
-#usr/lib/locale/de_DE/LC_ADDRESS
-#usr/lib/locale/de_DE/LC_COLLATE
-#usr/lib/locale/de_DE/LC_CTYPE
-#usr/lib/locale/de_DE/LC_IDENTIFICATION
-#usr/lib/locale/de_DE/LC_MEASUREMENT
-#usr/lib/locale/de_DE/LC_MESSAGES
-#usr/lib/locale/de_DE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/de_DE/LC_MONETARY
-#usr/lib/locale/de_DE/LC_NAME
-#usr/lib/locale/de_DE/LC_NUMERIC
-#usr/lib/locale/de_DE/LC_PAPER
-#usr/lib/locale/de_DE/LC_TELEPHONE
-#usr/lib/locale/de_DE/LC_TIME
-#usr/lib/locale/de_DE@euro
-#usr/lib/locale/de_DE@euro/LC_ADDRESS
-#usr/lib/locale/de_DE@euro/LC_COLLATE
-#usr/lib/locale/de_DE@euro/LC_CTYPE
-#usr/lib/locale/de_DE@euro/LC_IDENTIFICATION
-#usr/lib/locale/de_DE@euro/LC_MEASUREMENT
-#usr/lib/locale/de_DE@euro/LC_MESSAGES
-#usr/lib/locale/de_DE@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/de_DE@euro/LC_MONETARY
-#usr/lib/locale/de_DE@euro/LC_NAME
-#usr/lib/locale/de_DE@euro/LC_NUMERIC
-#usr/lib/locale/de_DE@euro/LC_PAPER
-#usr/lib/locale/de_DE@euro/LC_TELEPHONE
-#usr/lib/locale/de_DE@euro/LC_TIME
-#usr/lib/locale/de_LU
-#usr/lib/locale/de_LU.utf8
-#usr/lib/locale/de_LU.utf8/LC_ADDRESS
-#usr/lib/locale/de_LU.utf8/LC_COLLATE
-#usr/lib/locale/de_LU.utf8/LC_CTYPE
-#usr/lib/locale/de_LU.utf8/LC_IDENTIFICATION
-#usr/lib/locale/de_LU.utf8/LC_MEASUREMENT
-#usr/lib/locale/de_LU.utf8/LC_MESSAGES
-#usr/lib/locale/de_LU.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/de_LU.utf8/LC_MONETARY
-#usr/lib/locale/de_LU.utf8/LC_NAME
-#usr/lib/locale/de_LU.utf8/LC_NUMERIC
-#usr/lib/locale/de_LU.utf8/LC_PAPER
-#usr/lib/locale/de_LU.utf8/LC_TELEPHONE
-#usr/lib/locale/de_LU.utf8/LC_TIME
-#usr/lib/locale/de_LU/LC_ADDRESS
-#usr/lib/locale/de_LU/LC_COLLATE
-#usr/lib/locale/de_LU/LC_CTYPE
-#usr/lib/locale/de_LU/LC_IDENTIFICATION
-#usr/lib/locale/de_LU/LC_MEASUREMENT
-#usr/lib/locale/de_LU/LC_MESSAGES
-#usr/lib/locale/de_LU/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/de_LU/LC_MONETARY
-#usr/lib/locale/de_LU/LC_NAME
-#usr/lib/locale/de_LU/LC_NUMERIC
-#usr/lib/locale/de_LU/LC_PAPER
-#usr/lib/locale/de_LU/LC_TELEPHONE
-#usr/lib/locale/de_LU/LC_TIME
-#usr/lib/locale/de_LU@euro
-#usr/lib/locale/de_LU@euro/LC_ADDRESS
-#usr/lib/locale/de_LU@euro/LC_COLLATE
-#usr/lib/locale/de_LU@euro/LC_CTYPE
-#usr/lib/locale/de_LU@euro/LC_IDENTIFICATION
-#usr/lib/locale/de_LU@euro/LC_MEASUREMENT
-#usr/lib/locale/de_LU@euro/LC_MESSAGES
-#usr/lib/locale/de_LU@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/de_LU@euro/LC_MONETARY
-#usr/lib/locale/de_LU@euro/LC_NAME
-#usr/lib/locale/de_LU@euro/LC_NUMERIC
-#usr/lib/locale/de_LU@euro/LC_PAPER
-#usr/lib/locale/de_LU@euro/LC_TELEPHONE
-#usr/lib/locale/de_LU@euro/LC_TIME
-#usr/lib/locale/dv_MV
-#usr/lib/locale/dv_MV/LC_ADDRESS
-#usr/lib/locale/dv_MV/LC_COLLATE
-#usr/lib/locale/dv_MV/LC_CTYPE
-#usr/lib/locale/dv_MV/LC_IDENTIFICATION
-#usr/lib/locale/dv_MV/LC_MEASUREMENT
-#usr/lib/locale/dv_MV/LC_MESSAGES
-#usr/lib/locale/dv_MV/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/dv_MV/LC_MONETARY
-#usr/lib/locale/dv_MV/LC_NAME
-#usr/lib/locale/dv_MV/LC_NUMERIC
-#usr/lib/locale/dv_MV/LC_PAPER
-#usr/lib/locale/dv_MV/LC_TELEPHONE
-#usr/lib/locale/dv_MV/LC_TIME
-#usr/lib/locale/dz_BT
-#usr/lib/locale/dz_BT/LC_ADDRESS
-#usr/lib/locale/dz_BT/LC_COLLATE
-#usr/lib/locale/dz_BT/LC_CTYPE
-#usr/lib/locale/dz_BT/LC_IDENTIFICATION
-#usr/lib/locale/dz_BT/LC_MEASUREMENT
-#usr/lib/locale/dz_BT/LC_MESSAGES
-#usr/lib/locale/dz_BT/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/dz_BT/LC_MONETARY
-#usr/lib/locale/dz_BT/LC_NAME
-#usr/lib/locale/dz_BT/LC_NUMERIC
-#usr/lib/locale/dz_BT/LC_PAPER
-#usr/lib/locale/dz_BT/LC_TELEPHONE
-#usr/lib/locale/dz_BT/LC_TIME
-#usr/lib/locale/el_CY
-#usr/lib/locale/el_CY.utf8
-#usr/lib/locale/el_CY.utf8/LC_ADDRESS
-#usr/lib/locale/el_CY.utf8/LC_COLLATE
-#usr/lib/locale/el_CY.utf8/LC_CTYPE
-#usr/lib/locale/el_CY.utf8/LC_IDENTIFICATION
-#usr/lib/locale/el_CY.utf8/LC_MEASUREMENT
-#usr/lib/locale/el_CY.utf8/LC_MESSAGES
-#usr/lib/locale/el_CY.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/el_CY.utf8/LC_MONETARY
-#usr/lib/locale/el_CY.utf8/LC_NAME
-#usr/lib/locale/el_CY.utf8/LC_NUMERIC
-#usr/lib/locale/el_CY.utf8/LC_PAPER
-#usr/lib/locale/el_CY.utf8/LC_TELEPHONE
-#usr/lib/locale/el_CY.utf8/LC_TIME
-#usr/lib/locale/el_CY/LC_ADDRESS
-#usr/lib/locale/el_CY/LC_COLLATE
-#usr/lib/locale/el_CY/LC_CTYPE
-#usr/lib/locale/el_CY/LC_IDENTIFICATION
-#usr/lib/locale/el_CY/LC_MEASUREMENT
-#usr/lib/locale/el_CY/LC_MESSAGES
-#usr/lib/locale/el_CY/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/el_CY/LC_MONETARY
-#usr/lib/locale/el_CY/LC_NAME
-#usr/lib/locale/el_CY/LC_NUMERIC
-#usr/lib/locale/el_CY/LC_PAPER
-#usr/lib/locale/el_CY/LC_TELEPHONE
-#usr/lib/locale/el_CY/LC_TIME
-#usr/lib/locale/el_GR
-#usr/lib/locale/el_GR.utf8
-#usr/lib/locale/el_GR.utf8/LC_ADDRESS
-#usr/lib/locale/el_GR.utf8/LC_COLLATE
-#usr/lib/locale/el_GR.utf8/LC_CTYPE
-#usr/lib/locale/el_GR.utf8/LC_IDENTIFICATION
-#usr/lib/locale/el_GR.utf8/LC_MEASUREMENT
-#usr/lib/locale/el_GR.utf8/LC_MESSAGES
-#usr/lib/locale/el_GR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/el_GR.utf8/LC_MONETARY
-#usr/lib/locale/el_GR.utf8/LC_NAME
-#usr/lib/locale/el_GR.utf8/LC_NUMERIC
-#usr/lib/locale/el_GR.utf8/LC_PAPER
-#usr/lib/locale/el_GR.utf8/LC_TELEPHONE
-#usr/lib/locale/el_GR.utf8/LC_TIME
-#usr/lib/locale/el_GR/LC_ADDRESS
-#usr/lib/locale/el_GR/LC_COLLATE
-#usr/lib/locale/el_GR/LC_CTYPE
-#usr/lib/locale/el_GR/LC_IDENTIFICATION
-#usr/lib/locale/el_GR/LC_MEASUREMENT
-#usr/lib/locale/el_GR/LC_MESSAGES
-#usr/lib/locale/el_GR/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/el_GR/LC_MONETARY
-#usr/lib/locale/el_GR/LC_NAME
-#usr/lib/locale/el_GR/LC_NUMERIC
-#usr/lib/locale/el_GR/LC_PAPER
-#usr/lib/locale/el_GR/LC_TELEPHONE
-#usr/lib/locale/el_GR/LC_TIME
-#usr/lib/locale/en_AG
-#usr/lib/locale/en_AG/LC_ADDRESS
-#usr/lib/locale/en_AG/LC_COLLATE
-#usr/lib/locale/en_AG/LC_CTYPE
-#usr/lib/locale/en_AG/LC_IDENTIFICATION
-#usr/lib/locale/en_AG/LC_MEASUREMENT
-#usr/lib/locale/en_AG/LC_MESSAGES
-#usr/lib/locale/en_AG/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_AG/LC_MONETARY
-#usr/lib/locale/en_AG/LC_NAME
-#usr/lib/locale/en_AG/LC_NUMERIC
-#usr/lib/locale/en_AG/LC_PAPER
-#usr/lib/locale/en_AG/LC_TELEPHONE
-#usr/lib/locale/en_AG/LC_TIME
-#usr/lib/locale/en_AU
-#usr/lib/locale/en_AU.utf8
-#usr/lib/locale/en_AU.utf8/LC_ADDRESS
-#usr/lib/locale/en_AU.utf8/LC_COLLATE
-#usr/lib/locale/en_AU.utf8/LC_CTYPE
-#usr/lib/locale/en_AU.utf8/LC_IDENTIFICATION
-#usr/lib/locale/en_AU.utf8/LC_MEASUREMENT
-#usr/lib/locale/en_AU.utf8/LC_MESSAGES
-#usr/lib/locale/en_AU.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_AU.utf8/LC_MONETARY
-#usr/lib/locale/en_AU.utf8/LC_NAME
-#usr/lib/locale/en_AU.utf8/LC_NUMERIC
-#usr/lib/locale/en_AU.utf8/LC_PAPER
-#usr/lib/locale/en_AU.utf8/LC_TELEPHONE
-#usr/lib/locale/en_AU.utf8/LC_TIME
-#usr/lib/locale/en_AU/LC_ADDRESS
-#usr/lib/locale/en_AU/LC_COLLATE
-#usr/lib/locale/en_AU/LC_CTYPE
-#usr/lib/locale/en_AU/LC_IDENTIFICATION
-#usr/lib/locale/en_AU/LC_MEASUREMENT
-#usr/lib/locale/en_AU/LC_MESSAGES
-#usr/lib/locale/en_AU/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_AU/LC_MONETARY
-#usr/lib/locale/en_AU/LC_NAME
-#usr/lib/locale/en_AU/LC_NUMERIC
-#usr/lib/locale/en_AU/LC_PAPER
-#usr/lib/locale/en_AU/LC_TELEPHONE
-#usr/lib/locale/en_AU/LC_TIME
-#usr/lib/locale/en_BW
-#usr/lib/locale/en_BW.utf8
-#usr/lib/locale/en_BW.utf8/LC_ADDRESS
-#usr/lib/locale/en_BW.utf8/LC_COLLATE
-#usr/lib/locale/en_BW.utf8/LC_CTYPE
-#usr/lib/locale/en_BW.utf8/LC_IDENTIFICATION
-#usr/lib/locale/en_BW.utf8/LC_MEASUREMENT
-#usr/lib/locale/en_BW.utf8/LC_MESSAGES
-#usr/lib/locale/en_BW.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_BW.utf8/LC_MONETARY
-#usr/lib/locale/en_BW.utf8/LC_NAME
-#usr/lib/locale/en_BW.utf8/LC_NUMERIC
-#usr/lib/locale/en_BW.utf8/LC_PAPER
-#usr/lib/locale/en_BW.utf8/LC_TELEPHONE
-#usr/lib/locale/en_BW.utf8/LC_TIME
-#usr/lib/locale/en_BW/LC_ADDRESS
-#usr/lib/locale/en_BW/LC_COLLATE
-#usr/lib/locale/en_BW/LC_CTYPE
-#usr/lib/locale/en_BW/LC_IDENTIFICATION
-#usr/lib/locale/en_BW/LC_MEASUREMENT
-#usr/lib/locale/en_BW/LC_MESSAGES
-#usr/lib/locale/en_BW/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_BW/LC_MONETARY
-#usr/lib/locale/en_BW/LC_NAME
-#usr/lib/locale/en_BW/LC_NUMERIC
-#usr/lib/locale/en_BW/LC_PAPER
-#usr/lib/locale/en_BW/LC_TELEPHONE
-#usr/lib/locale/en_BW/LC_TIME
-#usr/lib/locale/en_CA
-#usr/lib/locale/en_CA.utf8
-#usr/lib/locale/en_CA.utf8/LC_ADDRESS
-#usr/lib/locale/en_CA.utf8/LC_COLLATE
-#usr/lib/locale/en_CA.utf8/LC_CTYPE
-#usr/lib/locale/en_CA.utf8/LC_IDENTIFICATION
-#usr/lib/locale/en_CA.utf8/LC_MEASUREMENT
-#usr/lib/locale/en_CA.utf8/LC_MESSAGES
-#usr/lib/locale/en_CA.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_CA.utf8/LC_MONETARY
-#usr/lib/locale/en_CA.utf8/LC_NAME
-#usr/lib/locale/en_CA.utf8/LC_NUMERIC
-#usr/lib/locale/en_CA.utf8/LC_PAPER
-#usr/lib/locale/en_CA.utf8/LC_TELEPHONE
-#usr/lib/locale/en_CA.utf8/LC_TIME
-#usr/lib/locale/en_CA/LC_ADDRESS
-#usr/lib/locale/en_CA/LC_COLLATE
-#usr/lib/locale/en_CA/LC_CTYPE
-#usr/lib/locale/en_CA/LC_IDENTIFICATION
-#usr/lib/locale/en_CA/LC_MEASUREMENT
-#usr/lib/locale/en_CA/LC_MESSAGES
-#usr/lib/locale/en_CA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_CA/LC_MONETARY
-#usr/lib/locale/en_CA/LC_NAME
-#usr/lib/locale/en_CA/LC_NUMERIC
-#usr/lib/locale/en_CA/LC_PAPER
-#usr/lib/locale/en_CA/LC_TELEPHONE
-#usr/lib/locale/en_CA/LC_TIME
-#usr/lib/locale/en_DK
-#usr/lib/locale/en_DK.utf8
-#usr/lib/locale/en_DK.utf8/LC_ADDRESS
-#usr/lib/locale/en_DK.utf8/LC_COLLATE
-#usr/lib/locale/en_DK.utf8/LC_CTYPE
-#usr/lib/locale/en_DK.utf8/LC_IDENTIFICATION
-#usr/lib/locale/en_DK.utf8/LC_MEASUREMENT
-#usr/lib/locale/en_DK.utf8/LC_MESSAGES
-#usr/lib/locale/en_DK.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_DK.utf8/LC_MONETARY
-#usr/lib/locale/en_DK.utf8/LC_NAME
-#usr/lib/locale/en_DK.utf8/LC_NUMERIC
-#usr/lib/locale/en_DK.utf8/LC_PAPER
-#usr/lib/locale/en_DK.utf8/LC_TELEPHONE
-#usr/lib/locale/en_DK.utf8/LC_TIME
-#usr/lib/locale/en_DK/LC_ADDRESS
-#usr/lib/locale/en_DK/LC_COLLATE
-#usr/lib/locale/en_DK/LC_CTYPE
-#usr/lib/locale/en_DK/LC_IDENTIFICATION
-#usr/lib/locale/en_DK/LC_MEASUREMENT
-#usr/lib/locale/en_DK/LC_MESSAGES
-#usr/lib/locale/en_DK/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_DK/LC_MONETARY
-#usr/lib/locale/en_DK/LC_NAME
-#usr/lib/locale/en_DK/LC_NUMERIC
-#usr/lib/locale/en_DK/LC_PAPER
-#usr/lib/locale/en_DK/LC_TELEPHONE
-#usr/lib/locale/en_DK/LC_TIME
-#usr/lib/locale/en_GB
-#usr/lib/locale/en_GB.iso885915
-#usr/lib/locale/en_GB.iso885915/LC_ADDRESS
-#usr/lib/locale/en_GB.iso885915/LC_COLLATE
-#usr/lib/locale/en_GB.iso885915/LC_CTYPE
-#usr/lib/locale/en_GB.iso885915/LC_IDENTIFICATION
-#usr/lib/locale/en_GB.iso885915/LC_MEASUREMENT
-#usr/lib/locale/en_GB.iso885915/LC_MESSAGES
-#usr/lib/locale/en_GB.iso885915/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_GB.iso885915/LC_MONETARY
-#usr/lib/locale/en_GB.iso885915/LC_NAME
-#usr/lib/locale/en_GB.iso885915/LC_NUMERIC
-#usr/lib/locale/en_GB.iso885915/LC_PAPER
-#usr/lib/locale/en_GB.iso885915/LC_TELEPHONE
-#usr/lib/locale/en_GB.iso885915/LC_TIME
-#usr/lib/locale/en_GB.utf8
-#usr/lib/locale/en_GB.utf8/LC_ADDRESS
-#usr/lib/locale/en_GB.utf8/LC_COLLATE
-#usr/lib/locale/en_GB.utf8/LC_CTYPE
-#usr/lib/locale/en_GB.utf8/LC_IDENTIFICATION
-#usr/lib/locale/en_GB.utf8/LC_MEASUREMENT
-#usr/lib/locale/en_GB.utf8/LC_MESSAGES
-#usr/lib/locale/en_GB.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_GB.utf8/LC_MONETARY
-#usr/lib/locale/en_GB.utf8/LC_NAME
-#usr/lib/locale/en_GB.utf8/LC_NUMERIC
-#usr/lib/locale/en_GB.utf8/LC_PAPER
-#usr/lib/locale/en_GB.utf8/LC_TELEPHONE
-#usr/lib/locale/en_GB.utf8/LC_TIME
-#usr/lib/locale/en_GB/LC_ADDRESS
-#usr/lib/locale/en_GB/LC_COLLATE
-#usr/lib/locale/en_GB/LC_CTYPE
-#usr/lib/locale/en_GB/LC_IDENTIFICATION
-#usr/lib/locale/en_GB/LC_MEASUREMENT
-#usr/lib/locale/en_GB/LC_MESSAGES
-#usr/lib/locale/en_GB/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_GB/LC_MONETARY
-#usr/lib/locale/en_GB/LC_NAME
-#usr/lib/locale/en_GB/LC_NUMERIC
-#usr/lib/locale/en_GB/LC_PAPER
-#usr/lib/locale/en_GB/LC_TELEPHONE
-#usr/lib/locale/en_GB/LC_TIME
-#usr/lib/locale/en_HK
-#usr/lib/locale/en_HK.utf8
-#usr/lib/locale/en_HK.utf8/LC_ADDRESS
-#usr/lib/locale/en_HK.utf8/LC_COLLATE
-#usr/lib/locale/en_HK.utf8/LC_CTYPE
-#usr/lib/locale/en_HK.utf8/LC_IDENTIFICATION
-#usr/lib/locale/en_HK.utf8/LC_MEASUREMENT
-#usr/lib/locale/en_HK.utf8/LC_MESSAGES
-#usr/lib/locale/en_HK.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_HK.utf8/LC_MONETARY
-#usr/lib/locale/en_HK.utf8/LC_NAME
-#usr/lib/locale/en_HK.utf8/LC_NUMERIC
-#usr/lib/locale/en_HK.utf8/LC_PAPER
-#usr/lib/locale/en_HK.utf8/LC_TELEPHONE
-#usr/lib/locale/en_HK.utf8/LC_TIME
-#usr/lib/locale/en_HK/LC_ADDRESS
-#usr/lib/locale/en_HK/LC_COLLATE
-#usr/lib/locale/en_HK/LC_CTYPE
-#usr/lib/locale/en_HK/LC_IDENTIFICATION
-#usr/lib/locale/en_HK/LC_MEASUREMENT
-#usr/lib/locale/en_HK/LC_MESSAGES
-#usr/lib/locale/en_HK/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_HK/LC_MONETARY
-#usr/lib/locale/en_HK/LC_NAME
-#usr/lib/locale/en_HK/LC_NUMERIC
-#usr/lib/locale/en_HK/LC_PAPER
-#usr/lib/locale/en_HK/LC_TELEPHONE
-#usr/lib/locale/en_HK/LC_TIME
-#usr/lib/locale/en_IE
-#usr/lib/locale/en_IE.utf8
-#usr/lib/locale/en_IE.utf8/LC_ADDRESS
-#usr/lib/locale/en_IE.utf8/LC_COLLATE
-#usr/lib/locale/en_IE.utf8/LC_CTYPE
-#usr/lib/locale/en_IE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/en_IE.utf8/LC_MEASUREMENT
-#usr/lib/locale/en_IE.utf8/LC_MESSAGES
-#usr/lib/locale/en_IE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_IE.utf8/LC_MONETARY
-#usr/lib/locale/en_IE.utf8/LC_NAME
-#usr/lib/locale/en_IE.utf8/LC_NUMERIC
-#usr/lib/locale/en_IE.utf8/LC_PAPER
-#usr/lib/locale/en_IE.utf8/LC_TELEPHONE
-#usr/lib/locale/en_IE.utf8/LC_TIME
-#usr/lib/locale/en_IE/LC_ADDRESS
-#usr/lib/locale/en_IE/LC_COLLATE
-#usr/lib/locale/en_IE/LC_CTYPE
-#usr/lib/locale/en_IE/LC_IDENTIFICATION
-#usr/lib/locale/en_IE/LC_MEASUREMENT
-#usr/lib/locale/en_IE/LC_MESSAGES
-#usr/lib/locale/en_IE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_IE/LC_MONETARY
-#usr/lib/locale/en_IE/LC_NAME
-#usr/lib/locale/en_IE/LC_NUMERIC
-#usr/lib/locale/en_IE/LC_PAPER
-#usr/lib/locale/en_IE/LC_TELEPHONE
-#usr/lib/locale/en_IE/LC_TIME
-#usr/lib/locale/en_IE@euro
-#usr/lib/locale/en_IE@euro/LC_ADDRESS
-#usr/lib/locale/en_IE@euro/LC_COLLATE
-#usr/lib/locale/en_IE@euro/LC_CTYPE
-#usr/lib/locale/en_IE@euro/LC_IDENTIFICATION
-#usr/lib/locale/en_IE@euro/LC_MEASUREMENT
-#usr/lib/locale/en_IE@euro/LC_MESSAGES
-#usr/lib/locale/en_IE@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_IE@euro/LC_MONETARY
-#usr/lib/locale/en_IE@euro/LC_NAME
-#usr/lib/locale/en_IE@euro/LC_NUMERIC
-#usr/lib/locale/en_IE@euro/LC_PAPER
-#usr/lib/locale/en_IE@euro/LC_TELEPHONE
-#usr/lib/locale/en_IE@euro/LC_TIME
-#usr/lib/locale/en_IN
-#usr/lib/locale/en_IN/LC_ADDRESS
-#usr/lib/locale/en_IN/LC_COLLATE
-#usr/lib/locale/en_IN/LC_CTYPE
-#usr/lib/locale/en_IN/LC_IDENTIFICATION
-#usr/lib/locale/en_IN/LC_MEASUREMENT
-#usr/lib/locale/en_IN/LC_MESSAGES
-#usr/lib/locale/en_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_IN/LC_MONETARY
-#usr/lib/locale/en_IN/LC_NAME
-#usr/lib/locale/en_IN/LC_NUMERIC
-#usr/lib/locale/en_IN/LC_PAPER
-#usr/lib/locale/en_IN/LC_TELEPHONE
-#usr/lib/locale/en_IN/LC_TIME
-#usr/lib/locale/en_NG
-#usr/lib/locale/en_NG/LC_ADDRESS
-#usr/lib/locale/en_NG/LC_COLLATE
-#usr/lib/locale/en_NG/LC_CTYPE
-#usr/lib/locale/en_NG/LC_IDENTIFICATION
-#usr/lib/locale/en_NG/LC_MEASUREMENT
-#usr/lib/locale/en_NG/LC_MESSAGES
-#usr/lib/locale/en_NG/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_NG/LC_MONETARY
-#usr/lib/locale/en_NG/LC_NAME
-#usr/lib/locale/en_NG/LC_NUMERIC
-#usr/lib/locale/en_NG/LC_PAPER
-#usr/lib/locale/en_NG/LC_TELEPHONE
-#usr/lib/locale/en_NG/LC_TIME
-#usr/lib/locale/en_NZ
-#usr/lib/locale/en_NZ.utf8
-#usr/lib/locale/en_NZ.utf8/LC_ADDRESS
-#usr/lib/locale/en_NZ.utf8/LC_COLLATE
-#usr/lib/locale/en_NZ.utf8/LC_CTYPE
-#usr/lib/locale/en_NZ.utf8/LC_IDENTIFICATION
-#usr/lib/locale/en_NZ.utf8/LC_MEASUREMENT
-#usr/lib/locale/en_NZ.utf8/LC_MESSAGES
-#usr/lib/locale/en_NZ.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_NZ.utf8/LC_MONETARY
-#usr/lib/locale/en_NZ.utf8/LC_NAME
-#usr/lib/locale/en_NZ.utf8/LC_NUMERIC
-#usr/lib/locale/en_NZ.utf8/LC_PAPER
-#usr/lib/locale/en_NZ.utf8/LC_TELEPHONE
-#usr/lib/locale/en_NZ.utf8/LC_TIME
-#usr/lib/locale/en_NZ/LC_ADDRESS
-#usr/lib/locale/en_NZ/LC_COLLATE
-#usr/lib/locale/en_NZ/LC_CTYPE
-#usr/lib/locale/en_NZ/LC_IDENTIFICATION
-#usr/lib/locale/en_NZ/LC_MEASUREMENT
-#usr/lib/locale/en_NZ/LC_MESSAGES
-#usr/lib/locale/en_NZ/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_NZ/LC_MONETARY
-#usr/lib/locale/en_NZ/LC_NAME
-#usr/lib/locale/en_NZ/LC_NUMERIC
-#usr/lib/locale/en_NZ/LC_PAPER
-#usr/lib/locale/en_NZ/LC_TELEPHONE
-#usr/lib/locale/en_NZ/LC_TIME
-#usr/lib/locale/en_PH
-#usr/lib/locale/en_PH.utf8
-#usr/lib/locale/en_PH.utf8/LC_ADDRESS
-#usr/lib/locale/en_PH.utf8/LC_COLLATE
-#usr/lib/locale/en_PH.utf8/LC_CTYPE
-#usr/lib/locale/en_PH.utf8/LC_IDENTIFICATION
-#usr/lib/locale/en_PH.utf8/LC_MEASUREMENT
-#usr/lib/locale/en_PH.utf8/LC_MESSAGES
-#usr/lib/locale/en_PH.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_PH.utf8/LC_MONETARY
-#usr/lib/locale/en_PH.utf8/LC_NAME
-#usr/lib/locale/en_PH.utf8/LC_NUMERIC
-#usr/lib/locale/en_PH.utf8/LC_PAPER
-#usr/lib/locale/en_PH.utf8/LC_TELEPHONE
-#usr/lib/locale/en_PH.utf8/LC_TIME
-#usr/lib/locale/en_PH/LC_ADDRESS
-#usr/lib/locale/en_PH/LC_COLLATE
-#usr/lib/locale/en_PH/LC_CTYPE
-#usr/lib/locale/en_PH/LC_IDENTIFICATION
-#usr/lib/locale/en_PH/LC_MEASUREMENT
-#usr/lib/locale/en_PH/LC_MESSAGES
-#usr/lib/locale/en_PH/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_PH/LC_MONETARY
-#usr/lib/locale/en_PH/LC_NAME
-#usr/lib/locale/en_PH/LC_NUMERIC
-#usr/lib/locale/en_PH/LC_PAPER
-#usr/lib/locale/en_PH/LC_TELEPHONE
-#usr/lib/locale/en_PH/LC_TIME
-#usr/lib/locale/en_SG
-#usr/lib/locale/en_SG.utf8
-#usr/lib/locale/en_SG.utf8/LC_ADDRESS
-#usr/lib/locale/en_SG.utf8/LC_COLLATE
-#usr/lib/locale/en_SG.utf8/LC_CTYPE
-#usr/lib/locale/en_SG.utf8/LC_IDENTIFICATION
-#usr/lib/locale/en_SG.utf8/LC_MEASUREMENT
-#usr/lib/locale/en_SG.utf8/LC_MESSAGES
-#usr/lib/locale/en_SG.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_SG.utf8/LC_MONETARY
-#usr/lib/locale/en_SG.utf8/LC_NAME
-#usr/lib/locale/en_SG.utf8/LC_NUMERIC
-#usr/lib/locale/en_SG.utf8/LC_PAPER
-#usr/lib/locale/en_SG.utf8/LC_TELEPHONE
-#usr/lib/locale/en_SG.utf8/LC_TIME
-#usr/lib/locale/en_SG/LC_ADDRESS
-#usr/lib/locale/en_SG/LC_COLLATE
-#usr/lib/locale/en_SG/LC_CTYPE
-#usr/lib/locale/en_SG/LC_IDENTIFICATION
-#usr/lib/locale/en_SG/LC_MEASUREMENT
-#usr/lib/locale/en_SG/LC_MESSAGES
-#usr/lib/locale/en_SG/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_SG/LC_MONETARY
-#usr/lib/locale/en_SG/LC_NAME
-#usr/lib/locale/en_SG/LC_NUMERIC
-#usr/lib/locale/en_SG/LC_PAPER
-#usr/lib/locale/en_SG/LC_TELEPHONE
-#usr/lib/locale/en_SG/LC_TIME
-#usr/lib/locale/en_US
-#usr/lib/locale/en_US.iso885915
-#usr/lib/locale/en_US.iso885915/LC_ADDRESS
-#usr/lib/locale/en_US.iso885915/LC_COLLATE
-#usr/lib/locale/en_US.iso885915/LC_CTYPE
-#usr/lib/locale/en_US.iso885915/LC_IDENTIFICATION
-#usr/lib/locale/en_US.iso885915/LC_MEASUREMENT
-#usr/lib/locale/en_US.iso885915/LC_MESSAGES
-#usr/lib/locale/en_US.iso885915/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_US.iso885915/LC_MONETARY
-#usr/lib/locale/en_US.iso885915/LC_NAME
-#usr/lib/locale/en_US.iso885915/LC_NUMERIC
-#usr/lib/locale/en_US.iso885915/LC_PAPER
-#usr/lib/locale/en_US.iso885915/LC_TELEPHONE
-#usr/lib/locale/en_US.iso885915/LC_TIME
-#usr/lib/locale/en_US.utf8
-#usr/lib/locale/en_US.utf8/LC_ADDRESS
-#usr/lib/locale/en_US.utf8/LC_COLLATE
-#usr/lib/locale/en_US.utf8/LC_CTYPE
-#usr/lib/locale/en_US.utf8/LC_IDENTIFICATION
-#usr/lib/locale/en_US.utf8/LC_MEASUREMENT
-#usr/lib/locale/en_US.utf8/LC_MESSAGES
-#usr/lib/locale/en_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_US.utf8/LC_MONETARY
-#usr/lib/locale/en_US.utf8/LC_NAME
-#usr/lib/locale/en_US.utf8/LC_NUMERIC
-#usr/lib/locale/en_US.utf8/LC_PAPER
-#usr/lib/locale/en_US.utf8/LC_TELEPHONE
-#usr/lib/locale/en_US.utf8/LC_TIME
-#usr/lib/locale/en_US/LC_ADDRESS
-#usr/lib/locale/en_US/LC_COLLATE
-#usr/lib/locale/en_US/LC_CTYPE
-#usr/lib/locale/en_US/LC_IDENTIFICATION
-#usr/lib/locale/en_US/LC_MEASUREMENT
-#usr/lib/locale/en_US/LC_MESSAGES
-#usr/lib/locale/en_US/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_US/LC_MONETARY
-#usr/lib/locale/en_US/LC_NAME
-#usr/lib/locale/en_US/LC_NUMERIC
-#usr/lib/locale/en_US/LC_PAPER
-#usr/lib/locale/en_US/LC_TELEPHONE
-#usr/lib/locale/en_US/LC_TIME
-#usr/lib/locale/en_ZA
-#usr/lib/locale/en_ZA.utf8
-#usr/lib/locale/en_ZA.utf8/LC_ADDRESS
-#usr/lib/locale/en_ZA.utf8/LC_COLLATE
-#usr/lib/locale/en_ZA.utf8/LC_CTYPE
-#usr/lib/locale/en_ZA.utf8/LC_IDENTIFICATION
-#usr/lib/locale/en_ZA.utf8/LC_MEASUREMENT
-#usr/lib/locale/en_ZA.utf8/LC_MESSAGES
-#usr/lib/locale/en_ZA.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_ZA.utf8/LC_MONETARY
-#usr/lib/locale/en_ZA.utf8/LC_NAME
-#usr/lib/locale/en_ZA.utf8/LC_NUMERIC
-#usr/lib/locale/en_ZA.utf8/LC_PAPER
-#usr/lib/locale/en_ZA.utf8/LC_TELEPHONE
-#usr/lib/locale/en_ZA.utf8/LC_TIME
-#usr/lib/locale/en_ZA/LC_ADDRESS
-#usr/lib/locale/en_ZA/LC_COLLATE
-#usr/lib/locale/en_ZA/LC_CTYPE
-#usr/lib/locale/en_ZA/LC_IDENTIFICATION
-#usr/lib/locale/en_ZA/LC_MEASUREMENT
-#usr/lib/locale/en_ZA/LC_MESSAGES
-#usr/lib/locale/en_ZA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_ZA/LC_MONETARY
-#usr/lib/locale/en_ZA/LC_NAME
-#usr/lib/locale/en_ZA/LC_NUMERIC
-#usr/lib/locale/en_ZA/LC_PAPER
-#usr/lib/locale/en_ZA/LC_TELEPHONE
-#usr/lib/locale/en_ZA/LC_TIME
-#usr/lib/locale/en_ZW
-#usr/lib/locale/en_ZW.utf8
-#usr/lib/locale/en_ZW.utf8/LC_ADDRESS
-#usr/lib/locale/en_ZW.utf8/LC_COLLATE
-#usr/lib/locale/en_ZW.utf8/LC_CTYPE
-#usr/lib/locale/en_ZW.utf8/LC_IDENTIFICATION
-#usr/lib/locale/en_ZW.utf8/LC_MEASUREMENT
-#usr/lib/locale/en_ZW.utf8/LC_MESSAGES
-#usr/lib/locale/en_ZW.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_ZW.utf8/LC_MONETARY
-#usr/lib/locale/en_ZW.utf8/LC_NAME
-#usr/lib/locale/en_ZW.utf8/LC_NUMERIC
-#usr/lib/locale/en_ZW.utf8/LC_PAPER
-#usr/lib/locale/en_ZW.utf8/LC_TELEPHONE
-#usr/lib/locale/en_ZW.utf8/LC_TIME
-#usr/lib/locale/en_ZW/LC_ADDRESS
-#usr/lib/locale/en_ZW/LC_COLLATE
-#usr/lib/locale/en_ZW/LC_CTYPE
-#usr/lib/locale/en_ZW/LC_IDENTIFICATION
-#usr/lib/locale/en_ZW/LC_MEASUREMENT
-#usr/lib/locale/en_ZW/LC_MESSAGES
-#usr/lib/locale/en_ZW/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_ZW/LC_MONETARY
-#usr/lib/locale/en_ZW/LC_NAME
-#usr/lib/locale/en_ZW/LC_NUMERIC
-#usr/lib/locale/en_ZW/LC_PAPER
-#usr/lib/locale/en_ZW/LC_TELEPHONE
-#usr/lib/locale/en_ZW/LC_TIME
-#usr/lib/locale/es_AR
-#usr/lib/locale/es_AR.utf8
-#usr/lib/locale/es_AR.utf8/LC_ADDRESS
-#usr/lib/locale/es_AR.utf8/LC_COLLATE
-#usr/lib/locale/es_AR.utf8/LC_CTYPE
-#usr/lib/locale/es_AR.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_AR.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_AR.utf8/LC_MESSAGES
-#usr/lib/locale/es_AR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_AR.utf8/LC_MONETARY
-#usr/lib/locale/es_AR.utf8/LC_NAME
-#usr/lib/locale/es_AR.utf8/LC_NUMERIC
-#usr/lib/locale/es_AR.utf8/LC_PAPER
-#usr/lib/locale/es_AR.utf8/LC_TELEPHONE
-#usr/lib/locale/es_AR.utf8/LC_TIME
-#usr/lib/locale/es_AR/LC_ADDRESS
-#usr/lib/locale/es_AR/LC_COLLATE
-#usr/lib/locale/es_AR/LC_CTYPE
-#usr/lib/locale/es_AR/LC_IDENTIFICATION
-#usr/lib/locale/es_AR/LC_MEASUREMENT
-#usr/lib/locale/es_AR/LC_MESSAGES
-#usr/lib/locale/es_AR/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_AR/LC_MONETARY
-#usr/lib/locale/es_AR/LC_NAME
-#usr/lib/locale/es_AR/LC_NUMERIC
-#usr/lib/locale/es_AR/LC_PAPER
-#usr/lib/locale/es_AR/LC_TELEPHONE
-#usr/lib/locale/es_AR/LC_TIME
-#usr/lib/locale/es_BO
-#usr/lib/locale/es_BO.utf8
-#usr/lib/locale/es_BO.utf8/LC_ADDRESS
-#usr/lib/locale/es_BO.utf8/LC_COLLATE
-#usr/lib/locale/es_BO.utf8/LC_CTYPE
-#usr/lib/locale/es_BO.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_BO.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_BO.utf8/LC_MESSAGES
-#usr/lib/locale/es_BO.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_BO.utf8/LC_MONETARY
-#usr/lib/locale/es_BO.utf8/LC_NAME
-#usr/lib/locale/es_BO.utf8/LC_NUMERIC
-#usr/lib/locale/es_BO.utf8/LC_PAPER
-#usr/lib/locale/es_BO.utf8/LC_TELEPHONE
-#usr/lib/locale/es_BO.utf8/LC_TIME
-#usr/lib/locale/es_BO/LC_ADDRESS
-#usr/lib/locale/es_BO/LC_COLLATE
-#usr/lib/locale/es_BO/LC_CTYPE
-#usr/lib/locale/es_BO/LC_IDENTIFICATION
-#usr/lib/locale/es_BO/LC_MEASUREMENT
-#usr/lib/locale/es_BO/LC_MESSAGES
-#usr/lib/locale/es_BO/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_BO/LC_MONETARY
-#usr/lib/locale/es_BO/LC_NAME
-#usr/lib/locale/es_BO/LC_NUMERIC
-#usr/lib/locale/es_BO/LC_PAPER
-#usr/lib/locale/es_BO/LC_TELEPHONE
-#usr/lib/locale/es_BO/LC_TIME
-#usr/lib/locale/es_CL
-#usr/lib/locale/es_CL.utf8
-#usr/lib/locale/es_CL.utf8/LC_ADDRESS
-#usr/lib/locale/es_CL.utf8/LC_COLLATE
-#usr/lib/locale/es_CL.utf8/LC_CTYPE
-#usr/lib/locale/es_CL.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_CL.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_CL.utf8/LC_MESSAGES
-#usr/lib/locale/es_CL.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_CL.utf8/LC_MONETARY
-#usr/lib/locale/es_CL.utf8/LC_NAME
-#usr/lib/locale/es_CL.utf8/LC_NUMERIC
-#usr/lib/locale/es_CL.utf8/LC_PAPER
-#usr/lib/locale/es_CL.utf8/LC_TELEPHONE
-#usr/lib/locale/es_CL.utf8/LC_TIME
-#usr/lib/locale/es_CL/LC_ADDRESS
-#usr/lib/locale/es_CL/LC_COLLATE
-#usr/lib/locale/es_CL/LC_CTYPE
-#usr/lib/locale/es_CL/LC_IDENTIFICATION
-#usr/lib/locale/es_CL/LC_MEASUREMENT
-#usr/lib/locale/es_CL/LC_MESSAGES
-#usr/lib/locale/es_CL/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_CL/LC_MONETARY
-#usr/lib/locale/es_CL/LC_NAME
-#usr/lib/locale/es_CL/LC_NUMERIC
-#usr/lib/locale/es_CL/LC_PAPER
-#usr/lib/locale/es_CL/LC_TELEPHONE
-#usr/lib/locale/es_CL/LC_TIME
-#usr/lib/locale/es_CO
-#usr/lib/locale/es_CO.utf8
-#usr/lib/locale/es_CO.utf8/LC_ADDRESS
-#usr/lib/locale/es_CO.utf8/LC_COLLATE
-#usr/lib/locale/es_CO.utf8/LC_CTYPE
-#usr/lib/locale/es_CO.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_CO.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_CO.utf8/LC_MESSAGES
-#usr/lib/locale/es_CO.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_CO.utf8/LC_MONETARY
-#usr/lib/locale/es_CO.utf8/LC_NAME
-#usr/lib/locale/es_CO.utf8/LC_NUMERIC
-#usr/lib/locale/es_CO.utf8/LC_PAPER
-#usr/lib/locale/es_CO.utf8/LC_TELEPHONE
-#usr/lib/locale/es_CO.utf8/LC_TIME
-#usr/lib/locale/es_CO/LC_ADDRESS
-#usr/lib/locale/es_CO/LC_COLLATE
-#usr/lib/locale/es_CO/LC_CTYPE
-#usr/lib/locale/es_CO/LC_IDENTIFICATION
-#usr/lib/locale/es_CO/LC_MEASUREMENT
-#usr/lib/locale/es_CO/LC_MESSAGES
-#usr/lib/locale/es_CO/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_CO/LC_MONETARY
-#usr/lib/locale/es_CO/LC_NAME
-#usr/lib/locale/es_CO/LC_NUMERIC
-#usr/lib/locale/es_CO/LC_PAPER
-#usr/lib/locale/es_CO/LC_TELEPHONE
-#usr/lib/locale/es_CO/LC_TIME
-#usr/lib/locale/es_CR
-#usr/lib/locale/es_CR.utf8
-#usr/lib/locale/es_CR.utf8/LC_ADDRESS
-#usr/lib/locale/es_CR.utf8/LC_COLLATE
-#usr/lib/locale/es_CR.utf8/LC_CTYPE
-#usr/lib/locale/es_CR.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_CR.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_CR.utf8/LC_MESSAGES
-#usr/lib/locale/es_CR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_CR.utf8/LC_MONETARY
-#usr/lib/locale/es_CR.utf8/LC_NAME
-#usr/lib/locale/es_CR.utf8/LC_NUMERIC
-#usr/lib/locale/es_CR.utf8/LC_PAPER
-#usr/lib/locale/es_CR.utf8/LC_TELEPHONE
-#usr/lib/locale/es_CR.utf8/LC_TIME
-#usr/lib/locale/es_CR/LC_ADDRESS
-#usr/lib/locale/es_CR/LC_COLLATE
-#usr/lib/locale/es_CR/LC_CTYPE
-#usr/lib/locale/es_CR/LC_IDENTIFICATION
-#usr/lib/locale/es_CR/LC_MEASUREMENT
-#usr/lib/locale/es_CR/LC_MESSAGES
-#usr/lib/locale/es_CR/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_CR/LC_MONETARY
-#usr/lib/locale/es_CR/LC_NAME
-#usr/lib/locale/es_CR/LC_NUMERIC
-#usr/lib/locale/es_CR/LC_PAPER
-#usr/lib/locale/es_CR/LC_TELEPHONE
-#usr/lib/locale/es_CR/LC_TIME
-#usr/lib/locale/es_DO
-#usr/lib/locale/es_DO.utf8
-#usr/lib/locale/es_DO.utf8/LC_ADDRESS
-#usr/lib/locale/es_DO.utf8/LC_COLLATE
-#usr/lib/locale/es_DO.utf8/LC_CTYPE
-#usr/lib/locale/es_DO.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_DO.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_DO.utf8/LC_MESSAGES
-#usr/lib/locale/es_DO.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_DO.utf8/LC_MONETARY
-#usr/lib/locale/es_DO.utf8/LC_NAME
-#usr/lib/locale/es_DO.utf8/LC_NUMERIC
-#usr/lib/locale/es_DO.utf8/LC_PAPER
-#usr/lib/locale/es_DO.utf8/LC_TELEPHONE
-#usr/lib/locale/es_DO.utf8/LC_TIME
-#usr/lib/locale/es_DO/LC_ADDRESS
-#usr/lib/locale/es_DO/LC_COLLATE
-#usr/lib/locale/es_DO/LC_CTYPE
-#usr/lib/locale/es_DO/LC_IDENTIFICATION
-#usr/lib/locale/es_DO/LC_MEASUREMENT
-#usr/lib/locale/es_DO/LC_MESSAGES
-#usr/lib/locale/es_DO/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_DO/LC_MONETARY
-#usr/lib/locale/es_DO/LC_NAME
-#usr/lib/locale/es_DO/LC_NUMERIC
-#usr/lib/locale/es_DO/LC_PAPER
-#usr/lib/locale/es_DO/LC_TELEPHONE
-#usr/lib/locale/es_DO/LC_TIME
-#usr/lib/locale/es_EC
-#usr/lib/locale/es_EC.utf8
-#usr/lib/locale/es_EC.utf8/LC_ADDRESS
-#usr/lib/locale/es_EC.utf8/LC_COLLATE
-#usr/lib/locale/es_EC.utf8/LC_CTYPE
-#usr/lib/locale/es_EC.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_EC.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_EC.utf8/LC_MESSAGES
-#usr/lib/locale/es_EC.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_EC.utf8/LC_MONETARY
-#usr/lib/locale/es_EC.utf8/LC_NAME
-#usr/lib/locale/es_EC.utf8/LC_NUMERIC
-#usr/lib/locale/es_EC.utf8/LC_PAPER
-#usr/lib/locale/es_EC.utf8/LC_TELEPHONE
-#usr/lib/locale/es_EC.utf8/LC_TIME
-#usr/lib/locale/es_EC/LC_ADDRESS
-#usr/lib/locale/es_EC/LC_COLLATE
-#usr/lib/locale/es_EC/LC_CTYPE
-#usr/lib/locale/es_EC/LC_IDENTIFICATION
-#usr/lib/locale/es_EC/LC_MEASUREMENT
-#usr/lib/locale/es_EC/LC_MESSAGES
-#usr/lib/locale/es_EC/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_EC/LC_MONETARY
-#usr/lib/locale/es_EC/LC_NAME
-#usr/lib/locale/es_EC/LC_NUMERIC
-#usr/lib/locale/es_EC/LC_PAPER
-#usr/lib/locale/es_EC/LC_TELEPHONE
-#usr/lib/locale/es_EC/LC_TIME
-#usr/lib/locale/es_ES
-#usr/lib/locale/es_ES.utf8
-#usr/lib/locale/es_ES.utf8/LC_ADDRESS
-#usr/lib/locale/es_ES.utf8/LC_COLLATE
-#usr/lib/locale/es_ES.utf8/LC_CTYPE
-#usr/lib/locale/es_ES.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_ES.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_ES.utf8/LC_MESSAGES
-#usr/lib/locale/es_ES.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_ES.utf8/LC_MONETARY
-#usr/lib/locale/es_ES.utf8/LC_NAME
-#usr/lib/locale/es_ES.utf8/LC_NUMERIC
-#usr/lib/locale/es_ES.utf8/LC_PAPER
-#usr/lib/locale/es_ES.utf8/LC_TELEPHONE
-#usr/lib/locale/es_ES.utf8/LC_TIME
-#usr/lib/locale/es_ES/LC_ADDRESS
-#usr/lib/locale/es_ES/LC_COLLATE
-#usr/lib/locale/es_ES/LC_CTYPE
-#usr/lib/locale/es_ES/LC_IDENTIFICATION
-#usr/lib/locale/es_ES/LC_MEASUREMENT
-#usr/lib/locale/es_ES/LC_MESSAGES
-#usr/lib/locale/es_ES/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_ES/LC_MONETARY
-#usr/lib/locale/es_ES/LC_NAME
-#usr/lib/locale/es_ES/LC_NUMERIC
-#usr/lib/locale/es_ES/LC_PAPER
-#usr/lib/locale/es_ES/LC_TELEPHONE
-#usr/lib/locale/es_ES/LC_TIME
-#usr/lib/locale/es_ES@euro
-#usr/lib/locale/es_ES@euro/LC_ADDRESS
-#usr/lib/locale/es_ES@euro/LC_COLLATE
-#usr/lib/locale/es_ES@euro/LC_CTYPE
-#usr/lib/locale/es_ES@euro/LC_IDENTIFICATION
-#usr/lib/locale/es_ES@euro/LC_MEASUREMENT
-#usr/lib/locale/es_ES@euro/LC_MESSAGES
-#usr/lib/locale/es_ES@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_ES@euro/LC_MONETARY
-#usr/lib/locale/es_ES@euro/LC_NAME
-#usr/lib/locale/es_ES@euro/LC_NUMERIC
-#usr/lib/locale/es_ES@euro/LC_PAPER
-#usr/lib/locale/es_ES@euro/LC_TELEPHONE
-#usr/lib/locale/es_ES@euro/LC_TIME
-#usr/lib/locale/es_GT
-#usr/lib/locale/es_GT.utf8
-#usr/lib/locale/es_GT.utf8/LC_ADDRESS
-#usr/lib/locale/es_GT.utf8/LC_COLLATE
-#usr/lib/locale/es_GT.utf8/LC_CTYPE
-#usr/lib/locale/es_GT.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_GT.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_GT.utf8/LC_MESSAGES
-#usr/lib/locale/es_GT.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_GT.utf8/LC_MONETARY
-#usr/lib/locale/es_GT.utf8/LC_NAME
-#usr/lib/locale/es_GT.utf8/LC_NUMERIC
-#usr/lib/locale/es_GT.utf8/LC_PAPER
-#usr/lib/locale/es_GT.utf8/LC_TELEPHONE
-#usr/lib/locale/es_GT.utf8/LC_TIME
-#usr/lib/locale/es_GT/LC_ADDRESS
-#usr/lib/locale/es_GT/LC_COLLATE
-#usr/lib/locale/es_GT/LC_CTYPE
-#usr/lib/locale/es_GT/LC_IDENTIFICATION
-#usr/lib/locale/es_GT/LC_MEASUREMENT
-#usr/lib/locale/es_GT/LC_MESSAGES
-#usr/lib/locale/es_GT/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_GT/LC_MONETARY
-#usr/lib/locale/es_GT/LC_NAME
-#usr/lib/locale/es_GT/LC_NUMERIC
-#usr/lib/locale/es_GT/LC_PAPER
-#usr/lib/locale/es_GT/LC_TELEPHONE
-#usr/lib/locale/es_GT/LC_TIME
-#usr/lib/locale/es_HN
-#usr/lib/locale/es_HN.utf8
-#usr/lib/locale/es_HN.utf8/LC_ADDRESS
-#usr/lib/locale/es_HN.utf8/LC_COLLATE
-#usr/lib/locale/es_HN.utf8/LC_CTYPE
-#usr/lib/locale/es_HN.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_HN.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_HN.utf8/LC_MESSAGES
-#usr/lib/locale/es_HN.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_HN.utf8/LC_MONETARY
-#usr/lib/locale/es_HN.utf8/LC_NAME
-#usr/lib/locale/es_HN.utf8/LC_NUMERIC
-#usr/lib/locale/es_HN.utf8/LC_PAPER
-#usr/lib/locale/es_HN.utf8/LC_TELEPHONE
-#usr/lib/locale/es_HN.utf8/LC_TIME
-#usr/lib/locale/es_HN/LC_ADDRESS
-#usr/lib/locale/es_HN/LC_COLLATE
-#usr/lib/locale/es_HN/LC_CTYPE
-#usr/lib/locale/es_HN/LC_IDENTIFICATION
-#usr/lib/locale/es_HN/LC_MEASUREMENT
-#usr/lib/locale/es_HN/LC_MESSAGES
-#usr/lib/locale/es_HN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_HN/LC_MONETARY
-#usr/lib/locale/es_HN/LC_NAME
-#usr/lib/locale/es_HN/LC_NUMERIC
-#usr/lib/locale/es_HN/LC_PAPER
-#usr/lib/locale/es_HN/LC_TELEPHONE
-#usr/lib/locale/es_HN/LC_TIME
-#usr/lib/locale/es_MX
-#usr/lib/locale/es_MX.utf8
-#usr/lib/locale/es_MX.utf8/LC_ADDRESS
-#usr/lib/locale/es_MX.utf8/LC_COLLATE
-#usr/lib/locale/es_MX.utf8/LC_CTYPE
-#usr/lib/locale/es_MX.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_MX.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_MX.utf8/LC_MESSAGES
-#usr/lib/locale/es_MX.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_MX.utf8/LC_MONETARY
-#usr/lib/locale/es_MX.utf8/LC_NAME
-#usr/lib/locale/es_MX.utf8/LC_NUMERIC
-#usr/lib/locale/es_MX.utf8/LC_PAPER
-#usr/lib/locale/es_MX.utf8/LC_TELEPHONE
-#usr/lib/locale/es_MX.utf8/LC_TIME
-#usr/lib/locale/es_MX/LC_ADDRESS
-#usr/lib/locale/es_MX/LC_COLLATE
-#usr/lib/locale/es_MX/LC_CTYPE
-#usr/lib/locale/es_MX/LC_IDENTIFICATION
-#usr/lib/locale/es_MX/LC_MEASUREMENT
-#usr/lib/locale/es_MX/LC_MESSAGES
-#usr/lib/locale/es_MX/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_MX/LC_MONETARY
-#usr/lib/locale/es_MX/LC_NAME
-#usr/lib/locale/es_MX/LC_NUMERIC
-#usr/lib/locale/es_MX/LC_PAPER
-#usr/lib/locale/es_MX/LC_TELEPHONE
-#usr/lib/locale/es_MX/LC_TIME
-#usr/lib/locale/es_NI
-#usr/lib/locale/es_NI.utf8
-#usr/lib/locale/es_NI.utf8/LC_ADDRESS
-#usr/lib/locale/es_NI.utf8/LC_COLLATE
-#usr/lib/locale/es_NI.utf8/LC_CTYPE
-#usr/lib/locale/es_NI.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_NI.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_NI.utf8/LC_MESSAGES
-#usr/lib/locale/es_NI.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_NI.utf8/LC_MONETARY
-#usr/lib/locale/es_NI.utf8/LC_NAME
-#usr/lib/locale/es_NI.utf8/LC_NUMERIC
-#usr/lib/locale/es_NI.utf8/LC_PAPER
-#usr/lib/locale/es_NI.utf8/LC_TELEPHONE
-#usr/lib/locale/es_NI.utf8/LC_TIME
-#usr/lib/locale/es_NI/LC_ADDRESS
-#usr/lib/locale/es_NI/LC_COLLATE
-#usr/lib/locale/es_NI/LC_CTYPE
-#usr/lib/locale/es_NI/LC_IDENTIFICATION
-#usr/lib/locale/es_NI/LC_MEASUREMENT
-#usr/lib/locale/es_NI/LC_MESSAGES
-#usr/lib/locale/es_NI/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_NI/LC_MONETARY
-#usr/lib/locale/es_NI/LC_NAME
-#usr/lib/locale/es_NI/LC_NUMERIC
-#usr/lib/locale/es_NI/LC_PAPER
-#usr/lib/locale/es_NI/LC_TELEPHONE
-#usr/lib/locale/es_NI/LC_TIME
-#usr/lib/locale/es_PA
-#usr/lib/locale/es_PA.utf8
-#usr/lib/locale/es_PA.utf8/LC_ADDRESS
-#usr/lib/locale/es_PA.utf8/LC_COLLATE
-#usr/lib/locale/es_PA.utf8/LC_CTYPE
-#usr/lib/locale/es_PA.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_PA.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_PA.utf8/LC_MESSAGES
-#usr/lib/locale/es_PA.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_PA.utf8/LC_MONETARY
-#usr/lib/locale/es_PA.utf8/LC_NAME
-#usr/lib/locale/es_PA.utf8/LC_NUMERIC
-#usr/lib/locale/es_PA.utf8/LC_PAPER
-#usr/lib/locale/es_PA.utf8/LC_TELEPHONE
-#usr/lib/locale/es_PA.utf8/LC_TIME
-#usr/lib/locale/es_PA/LC_ADDRESS
-#usr/lib/locale/es_PA/LC_COLLATE
-#usr/lib/locale/es_PA/LC_CTYPE
-#usr/lib/locale/es_PA/LC_IDENTIFICATION
-#usr/lib/locale/es_PA/LC_MEASUREMENT
-#usr/lib/locale/es_PA/LC_MESSAGES
-#usr/lib/locale/es_PA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_PA/LC_MONETARY
-#usr/lib/locale/es_PA/LC_NAME
-#usr/lib/locale/es_PA/LC_NUMERIC
-#usr/lib/locale/es_PA/LC_PAPER
-#usr/lib/locale/es_PA/LC_TELEPHONE
-#usr/lib/locale/es_PA/LC_TIME
-#usr/lib/locale/es_PE
-#usr/lib/locale/es_PE.utf8
-#usr/lib/locale/es_PE.utf8/LC_ADDRESS
-#usr/lib/locale/es_PE.utf8/LC_COLLATE
-#usr/lib/locale/es_PE.utf8/LC_CTYPE
-#usr/lib/locale/es_PE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_PE.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_PE.utf8/LC_MESSAGES
-#usr/lib/locale/es_PE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_PE.utf8/LC_MONETARY
-#usr/lib/locale/es_PE.utf8/LC_NAME
-#usr/lib/locale/es_PE.utf8/LC_NUMERIC
-#usr/lib/locale/es_PE.utf8/LC_PAPER
-#usr/lib/locale/es_PE.utf8/LC_TELEPHONE
-#usr/lib/locale/es_PE.utf8/LC_TIME
-#usr/lib/locale/es_PE/LC_ADDRESS
-#usr/lib/locale/es_PE/LC_COLLATE
-#usr/lib/locale/es_PE/LC_CTYPE
-#usr/lib/locale/es_PE/LC_IDENTIFICATION
-#usr/lib/locale/es_PE/LC_MEASUREMENT
-#usr/lib/locale/es_PE/LC_MESSAGES
-#usr/lib/locale/es_PE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_PE/LC_MONETARY
-#usr/lib/locale/es_PE/LC_NAME
-#usr/lib/locale/es_PE/LC_NUMERIC
-#usr/lib/locale/es_PE/LC_PAPER
-#usr/lib/locale/es_PE/LC_TELEPHONE
-#usr/lib/locale/es_PE/LC_TIME
-#usr/lib/locale/es_PR
-#usr/lib/locale/es_PR.utf8
-#usr/lib/locale/es_PR.utf8/LC_ADDRESS
-#usr/lib/locale/es_PR.utf8/LC_COLLATE
-#usr/lib/locale/es_PR.utf8/LC_CTYPE
-#usr/lib/locale/es_PR.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_PR.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_PR.utf8/LC_MESSAGES
-#usr/lib/locale/es_PR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_PR.utf8/LC_MONETARY
-#usr/lib/locale/es_PR.utf8/LC_NAME
-#usr/lib/locale/es_PR.utf8/LC_NUMERIC
-#usr/lib/locale/es_PR.utf8/LC_PAPER
-#usr/lib/locale/es_PR.utf8/LC_TELEPHONE
-#usr/lib/locale/es_PR.utf8/LC_TIME
-#usr/lib/locale/es_PR/LC_ADDRESS
-#usr/lib/locale/es_PR/LC_COLLATE
-#usr/lib/locale/es_PR/LC_CTYPE
-#usr/lib/locale/es_PR/LC_IDENTIFICATION
-#usr/lib/locale/es_PR/LC_MEASUREMENT
-#usr/lib/locale/es_PR/LC_MESSAGES
-#usr/lib/locale/es_PR/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_PR/LC_MONETARY
-#usr/lib/locale/es_PR/LC_NAME
-#usr/lib/locale/es_PR/LC_NUMERIC
-#usr/lib/locale/es_PR/LC_PAPER
-#usr/lib/locale/es_PR/LC_TELEPHONE
-#usr/lib/locale/es_PR/LC_TIME
-#usr/lib/locale/es_PY
-#usr/lib/locale/es_PY.utf8
-#usr/lib/locale/es_PY.utf8/LC_ADDRESS
-#usr/lib/locale/es_PY.utf8/LC_COLLATE
-#usr/lib/locale/es_PY.utf8/LC_CTYPE
-#usr/lib/locale/es_PY.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_PY.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_PY.utf8/LC_MESSAGES
-#usr/lib/locale/es_PY.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_PY.utf8/LC_MONETARY
-#usr/lib/locale/es_PY.utf8/LC_NAME
-#usr/lib/locale/es_PY.utf8/LC_NUMERIC
-#usr/lib/locale/es_PY.utf8/LC_PAPER
-#usr/lib/locale/es_PY.utf8/LC_TELEPHONE
-#usr/lib/locale/es_PY.utf8/LC_TIME
-#usr/lib/locale/es_PY/LC_ADDRESS
-#usr/lib/locale/es_PY/LC_COLLATE
-#usr/lib/locale/es_PY/LC_CTYPE
-#usr/lib/locale/es_PY/LC_IDENTIFICATION
-#usr/lib/locale/es_PY/LC_MEASUREMENT
-#usr/lib/locale/es_PY/LC_MESSAGES
-#usr/lib/locale/es_PY/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_PY/LC_MONETARY
-#usr/lib/locale/es_PY/LC_NAME
-#usr/lib/locale/es_PY/LC_NUMERIC
-#usr/lib/locale/es_PY/LC_PAPER
-#usr/lib/locale/es_PY/LC_TELEPHONE
-#usr/lib/locale/es_PY/LC_TIME
-#usr/lib/locale/es_SV
-#usr/lib/locale/es_SV.utf8
-#usr/lib/locale/es_SV.utf8/LC_ADDRESS
-#usr/lib/locale/es_SV.utf8/LC_COLLATE
-#usr/lib/locale/es_SV.utf8/LC_CTYPE
-#usr/lib/locale/es_SV.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_SV.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_SV.utf8/LC_MESSAGES
-#usr/lib/locale/es_SV.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_SV.utf8/LC_MONETARY
-#usr/lib/locale/es_SV.utf8/LC_NAME
-#usr/lib/locale/es_SV.utf8/LC_NUMERIC
-#usr/lib/locale/es_SV.utf8/LC_PAPER
-#usr/lib/locale/es_SV.utf8/LC_TELEPHONE
-#usr/lib/locale/es_SV.utf8/LC_TIME
-#usr/lib/locale/es_SV/LC_ADDRESS
-#usr/lib/locale/es_SV/LC_COLLATE
-#usr/lib/locale/es_SV/LC_CTYPE
-#usr/lib/locale/es_SV/LC_IDENTIFICATION
-#usr/lib/locale/es_SV/LC_MEASUREMENT
-#usr/lib/locale/es_SV/LC_MESSAGES
-#usr/lib/locale/es_SV/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_SV/LC_MONETARY
-#usr/lib/locale/es_SV/LC_NAME
-#usr/lib/locale/es_SV/LC_NUMERIC
-#usr/lib/locale/es_SV/LC_PAPER
-#usr/lib/locale/es_SV/LC_TELEPHONE
-#usr/lib/locale/es_SV/LC_TIME
-#usr/lib/locale/es_US
-#usr/lib/locale/es_US.utf8
-#usr/lib/locale/es_US.utf8/LC_ADDRESS
-#usr/lib/locale/es_US.utf8/LC_COLLATE
-#usr/lib/locale/es_US.utf8/LC_CTYPE
-#usr/lib/locale/es_US.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_US.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_US.utf8/LC_MESSAGES
-#usr/lib/locale/es_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_US.utf8/LC_MONETARY
-#usr/lib/locale/es_US.utf8/LC_NAME
-#usr/lib/locale/es_US.utf8/LC_NUMERIC
-#usr/lib/locale/es_US.utf8/LC_PAPER
-#usr/lib/locale/es_US.utf8/LC_TELEPHONE
-#usr/lib/locale/es_US.utf8/LC_TIME
-#usr/lib/locale/es_US/LC_ADDRESS
-#usr/lib/locale/es_US/LC_COLLATE
-#usr/lib/locale/es_US/LC_CTYPE
-#usr/lib/locale/es_US/LC_IDENTIFICATION
-#usr/lib/locale/es_US/LC_MEASUREMENT
-#usr/lib/locale/es_US/LC_MESSAGES
-#usr/lib/locale/es_US/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_US/LC_MONETARY
-#usr/lib/locale/es_US/LC_NAME
-#usr/lib/locale/es_US/LC_NUMERIC
-#usr/lib/locale/es_US/LC_PAPER
-#usr/lib/locale/es_US/LC_TELEPHONE
-#usr/lib/locale/es_US/LC_TIME
-#usr/lib/locale/es_UY
-#usr/lib/locale/es_UY.utf8
-#usr/lib/locale/es_UY.utf8/LC_ADDRESS
-#usr/lib/locale/es_UY.utf8/LC_COLLATE
-#usr/lib/locale/es_UY.utf8/LC_CTYPE
-#usr/lib/locale/es_UY.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_UY.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_UY.utf8/LC_MESSAGES
-#usr/lib/locale/es_UY.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_UY.utf8/LC_MONETARY
-#usr/lib/locale/es_UY.utf8/LC_NAME
-#usr/lib/locale/es_UY.utf8/LC_NUMERIC
-#usr/lib/locale/es_UY.utf8/LC_PAPER
-#usr/lib/locale/es_UY.utf8/LC_TELEPHONE
-#usr/lib/locale/es_UY.utf8/LC_TIME
-#usr/lib/locale/es_UY/LC_ADDRESS
-#usr/lib/locale/es_UY/LC_COLLATE
-#usr/lib/locale/es_UY/LC_CTYPE
-#usr/lib/locale/es_UY/LC_IDENTIFICATION
-#usr/lib/locale/es_UY/LC_MEASUREMENT
-#usr/lib/locale/es_UY/LC_MESSAGES
-#usr/lib/locale/es_UY/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_UY/LC_MONETARY
-#usr/lib/locale/es_UY/LC_NAME
-#usr/lib/locale/es_UY/LC_NUMERIC
-#usr/lib/locale/es_UY/LC_PAPER
-#usr/lib/locale/es_UY/LC_TELEPHONE
-#usr/lib/locale/es_UY/LC_TIME
-#usr/lib/locale/es_VE
-#usr/lib/locale/es_VE.utf8
-#usr/lib/locale/es_VE.utf8/LC_ADDRESS
-#usr/lib/locale/es_VE.utf8/LC_COLLATE
-#usr/lib/locale/es_VE.utf8/LC_CTYPE
-#usr/lib/locale/es_VE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_VE.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_VE.utf8/LC_MESSAGES
-#usr/lib/locale/es_VE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_VE.utf8/LC_MONETARY
-#usr/lib/locale/es_VE.utf8/LC_NAME
-#usr/lib/locale/es_VE.utf8/LC_NUMERIC
-#usr/lib/locale/es_VE.utf8/LC_PAPER
-#usr/lib/locale/es_VE.utf8/LC_TELEPHONE
-#usr/lib/locale/es_VE.utf8/LC_TIME
-#usr/lib/locale/es_VE/LC_ADDRESS
-#usr/lib/locale/es_VE/LC_COLLATE
-#usr/lib/locale/es_VE/LC_CTYPE
-#usr/lib/locale/es_VE/LC_IDENTIFICATION
-#usr/lib/locale/es_VE/LC_MEASUREMENT
-#usr/lib/locale/es_VE/LC_MESSAGES
-#usr/lib/locale/es_VE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_VE/LC_MONETARY
-#usr/lib/locale/es_VE/LC_NAME
-#usr/lib/locale/es_VE/LC_NUMERIC
-#usr/lib/locale/es_VE/LC_PAPER
-#usr/lib/locale/es_VE/LC_TELEPHONE
-#usr/lib/locale/es_VE/LC_TIME
-#usr/lib/locale/et_EE
-#usr/lib/locale/et_EE.iso885915
-#usr/lib/locale/et_EE.iso885915/LC_ADDRESS
-#usr/lib/locale/et_EE.iso885915/LC_COLLATE
-#usr/lib/locale/et_EE.iso885915/LC_CTYPE
-#usr/lib/locale/et_EE.iso885915/LC_IDENTIFICATION
-#usr/lib/locale/et_EE.iso885915/LC_MEASUREMENT
-#usr/lib/locale/et_EE.iso885915/LC_MESSAGES
-#usr/lib/locale/et_EE.iso885915/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/et_EE.iso885915/LC_MONETARY
-#usr/lib/locale/et_EE.iso885915/LC_NAME
-#usr/lib/locale/et_EE.iso885915/LC_NUMERIC
-#usr/lib/locale/et_EE.iso885915/LC_PAPER
-#usr/lib/locale/et_EE.iso885915/LC_TELEPHONE
-#usr/lib/locale/et_EE.iso885915/LC_TIME
-#usr/lib/locale/et_EE.utf8
-#usr/lib/locale/et_EE.utf8/LC_ADDRESS
-#usr/lib/locale/et_EE.utf8/LC_COLLATE
-#usr/lib/locale/et_EE.utf8/LC_CTYPE
-#usr/lib/locale/et_EE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/et_EE.utf8/LC_MEASUREMENT
-#usr/lib/locale/et_EE.utf8/LC_MESSAGES
-#usr/lib/locale/et_EE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/et_EE.utf8/LC_MONETARY
-#usr/lib/locale/et_EE.utf8/LC_NAME
-#usr/lib/locale/et_EE.utf8/LC_NUMERIC
-#usr/lib/locale/et_EE.utf8/LC_PAPER
-#usr/lib/locale/et_EE.utf8/LC_TELEPHONE
-#usr/lib/locale/et_EE.utf8/LC_TIME
-#usr/lib/locale/et_EE/LC_ADDRESS
-#usr/lib/locale/et_EE/LC_COLLATE
-#usr/lib/locale/et_EE/LC_CTYPE
-#usr/lib/locale/et_EE/LC_IDENTIFICATION
-#usr/lib/locale/et_EE/LC_MEASUREMENT
-#usr/lib/locale/et_EE/LC_MESSAGES
-#usr/lib/locale/et_EE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/et_EE/LC_MONETARY
-#usr/lib/locale/et_EE/LC_NAME
-#usr/lib/locale/et_EE/LC_NUMERIC
-#usr/lib/locale/et_EE/LC_PAPER
-#usr/lib/locale/et_EE/LC_TELEPHONE
-#usr/lib/locale/et_EE/LC_TIME
-#usr/lib/locale/eu_ES
-#usr/lib/locale/eu_ES.utf8
-#usr/lib/locale/eu_ES.utf8/LC_ADDRESS
-#usr/lib/locale/eu_ES.utf8/LC_COLLATE
-#usr/lib/locale/eu_ES.utf8/LC_CTYPE
-#usr/lib/locale/eu_ES.utf8/LC_IDENTIFICATION
-#usr/lib/locale/eu_ES.utf8/LC_MEASUREMENT
-#usr/lib/locale/eu_ES.utf8/LC_MESSAGES
-#usr/lib/locale/eu_ES.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/eu_ES.utf8/LC_MONETARY
-#usr/lib/locale/eu_ES.utf8/LC_NAME
-#usr/lib/locale/eu_ES.utf8/LC_NUMERIC
-#usr/lib/locale/eu_ES.utf8/LC_PAPER
-#usr/lib/locale/eu_ES.utf8/LC_TELEPHONE
-#usr/lib/locale/eu_ES.utf8/LC_TIME
-#usr/lib/locale/eu_ES/LC_ADDRESS
-#usr/lib/locale/eu_ES/LC_COLLATE
-#usr/lib/locale/eu_ES/LC_CTYPE
-#usr/lib/locale/eu_ES/LC_IDENTIFICATION
-#usr/lib/locale/eu_ES/LC_MEASUREMENT
-#usr/lib/locale/eu_ES/LC_MESSAGES
-#usr/lib/locale/eu_ES/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/eu_ES/LC_MONETARY
-#usr/lib/locale/eu_ES/LC_NAME
-#usr/lib/locale/eu_ES/LC_NUMERIC
-#usr/lib/locale/eu_ES/LC_PAPER
-#usr/lib/locale/eu_ES/LC_TELEPHONE
-#usr/lib/locale/eu_ES/LC_TIME
-#usr/lib/locale/eu_ES@euro
-#usr/lib/locale/eu_ES@euro/LC_ADDRESS
-#usr/lib/locale/eu_ES@euro/LC_COLLATE
-#usr/lib/locale/eu_ES@euro/LC_CTYPE
-#usr/lib/locale/eu_ES@euro/LC_IDENTIFICATION
-#usr/lib/locale/eu_ES@euro/LC_MEASUREMENT
-#usr/lib/locale/eu_ES@euro/LC_MESSAGES
-#usr/lib/locale/eu_ES@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/eu_ES@euro/LC_MONETARY
-#usr/lib/locale/eu_ES@euro/LC_NAME
-#usr/lib/locale/eu_ES@euro/LC_NUMERIC
-#usr/lib/locale/eu_ES@euro/LC_PAPER
-#usr/lib/locale/eu_ES@euro/LC_TELEPHONE
-#usr/lib/locale/eu_ES@euro/LC_TIME
-#usr/lib/locale/fa_IR
-#usr/lib/locale/fa_IR/LC_ADDRESS
-#usr/lib/locale/fa_IR/LC_COLLATE
-#usr/lib/locale/fa_IR/LC_CTYPE
-#usr/lib/locale/fa_IR/LC_IDENTIFICATION
-#usr/lib/locale/fa_IR/LC_MEASUREMENT
-#usr/lib/locale/fa_IR/LC_MESSAGES
-#usr/lib/locale/fa_IR/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fa_IR/LC_MONETARY
-#usr/lib/locale/fa_IR/LC_NAME
-#usr/lib/locale/fa_IR/LC_NUMERIC
-#usr/lib/locale/fa_IR/LC_PAPER
-#usr/lib/locale/fa_IR/LC_TELEPHONE
-#usr/lib/locale/fa_IR/LC_TIME
-#usr/lib/locale/fi_FI
-#usr/lib/locale/fi_FI.utf8
-#usr/lib/locale/fi_FI.utf8/LC_ADDRESS
-#usr/lib/locale/fi_FI.utf8/LC_COLLATE
-#usr/lib/locale/fi_FI.utf8/LC_CTYPE
-#usr/lib/locale/fi_FI.utf8/LC_IDENTIFICATION
-#usr/lib/locale/fi_FI.utf8/LC_MEASUREMENT
-#usr/lib/locale/fi_FI.utf8/LC_MESSAGES
-#usr/lib/locale/fi_FI.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fi_FI.utf8/LC_MONETARY
-#usr/lib/locale/fi_FI.utf8/LC_NAME
-#usr/lib/locale/fi_FI.utf8/LC_NUMERIC
-#usr/lib/locale/fi_FI.utf8/LC_PAPER
-#usr/lib/locale/fi_FI.utf8/LC_TELEPHONE
-#usr/lib/locale/fi_FI.utf8/LC_TIME
-#usr/lib/locale/fi_FI/LC_ADDRESS
-#usr/lib/locale/fi_FI/LC_COLLATE
-#usr/lib/locale/fi_FI/LC_CTYPE
-#usr/lib/locale/fi_FI/LC_IDENTIFICATION
-#usr/lib/locale/fi_FI/LC_MEASUREMENT
-#usr/lib/locale/fi_FI/LC_MESSAGES
-#usr/lib/locale/fi_FI/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fi_FI/LC_MONETARY
-#usr/lib/locale/fi_FI/LC_NAME
-#usr/lib/locale/fi_FI/LC_NUMERIC
-#usr/lib/locale/fi_FI/LC_PAPER
-#usr/lib/locale/fi_FI/LC_TELEPHONE
-#usr/lib/locale/fi_FI/LC_TIME
-#usr/lib/locale/fi_FI@euro
-#usr/lib/locale/fi_FI@euro/LC_ADDRESS
-#usr/lib/locale/fi_FI@euro/LC_COLLATE
-#usr/lib/locale/fi_FI@euro/LC_CTYPE
-#usr/lib/locale/fi_FI@euro/LC_IDENTIFICATION
-#usr/lib/locale/fi_FI@euro/LC_MEASUREMENT
-#usr/lib/locale/fi_FI@euro/LC_MESSAGES
-#usr/lib/locale/fi_FI@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fi_FI@euro/LC_MONETARY
-#usr/lib/locale/fi_FI@euro/LC_NAME
-#usr/lib/locale/fi_FI@euro/LC_NUMERIC
-#usr/lib/locale/fi_FI@euro/LC_PAPER
-#usr/lib/locale/fi_FI@euro/LC_TELEPHONE
-#usr/lib/locale/fi_FI@euro/LC_TIME
-#usr/lib/locale/fil_PH
-#usr/lib/locale/fil_PH/LC_ADDRESS
-#usr/lib/locale/fil_PH/LC_COLLATE
-#usr/lib/locale/fil_PH/LC_CTYPE
-#usr/lib/locale/fil_PH/LC_IDENTIFICATION
-#usr/lib/locale/fil_PH/LC_MEASUREMENT
-#usr/lib/locale/fil_PH/LC_MESSAGES
-#usr/lib/locale/fil_PH/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fil_PH/LC_MONETARY
-#usr/lib/locale/fil_PH/LC_NAME
-#usr/lib/locale/fil_PH/LC_NUMERIC
-#usr/lib/locale/fil_PH/LC_PAPER
-#usr/lib/locale/fil_PH/LC_TELEPHONE
-#usr/lib/locale/fil_PH/LC_TIME
-#usr/lib/locale/fo_FO
-#usr/lib/locale/fo_FO.utf8
-#usr/lib/locale/fo_FO.utf8/LC_ADDRESS
-#usr/lib/locale/fo_FO.utf8/LC_COLLATE
-#usr/lib/locale/fo_FO.utf8/LC_CTYPE
-#usr/lib/locale/fo_FO.utf8/LC_IDENTIFICATION
-#usr/lib/locale/fo_FO.utf8/LC_MEASUREMENT
-#usr/lib/locale/fo_FO.utf8/LC_MESSAGES
-#usr/lib/locale/fo_FO.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fo_FO.utf8/LC_MONETARY
-#usr/lib/locale/fo_FO.utf8/LC_NAME
-#usr/lib/locale/fo_FO.utf8/LC_NUMERIC
-#usr/lib/locale/fo_FO.utf8/LC_PAPER
-#usr/lib/locale/fo_FO.utf8/LC_TELEPHONE
-#usr/lib/locale/fo_FO.utf8/LC_TIME
-#usr/lib/locale/fo_FO/LC_ADDRESS
-#usr/lib/locale/fo_FO/LC_COLLATE
-#usr/lib/locale/fo_FO/LC_CTYPE
-#usr/lib/locale/fo_FO/LC_IDENTIFICATION
-#usr/lib/locale/fo_FO/LC_MEASUREMENT
-#usr/lib/locale/fo_FO/LC_MESSAGES
-#usr/lib/locale/fo_FO/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fo_FO/LC_MONETARY
-#usr/lib/locale/fo_FO/LC_NAME
-#usr/lib/locale/fo_FO/LC_NUMERIC
-#usr/lib/locale/fo_FO/LC_PAPER
-#usr/lib/locale/fo_FO/LC_TELEPHONE
-#usr/lib/locale/fo_FO/LC_TIME
-#usr/lib/locale/fr_BE
-#usr/lib/locale/fr_BE.utf8
-#usr/lib/locale/fr_BE.utf8/LC_ADDRESS
-#usr/lib/locale/fr_BE.utf8/LC_COLLATE
-#usr/lib/locale/fr_BE.utf8/LC_CTYPE
-#usr/lib/locale/fr_BE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/fr_BE.utf8/LC_MEASUREMENT
-#usr/lib/locale/fr_BE.utf8/LC_MESSAGES
-#usr/lib/locale/fr_BE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fr_BE.utf8/LC_MONETARY
-#usr/lib/locale/fr_BE.utf8/LC_NAME
-#usr/lib/locale/fr_BE.utf8/LC_NUMERIC
-#usr/lib/locale/fr_BE.utf8/LC_PAPER
-#usr/lib/locale/fr_BE.utf8/LC_TELEPHONE
-#usr/lib/locale/fr_BE.utf8/LC_TIME
-#usr/lib/locale/fr_BE/LC_ADDRESS
-#usr/lib/locale/fr_BE/LC_COLLATE
-#usr/lib/locale/fr_BE/LC_CTYPE
-#usr/lib/locale/fr_BE/LC_IDENTIFICATION
-#usr/lib/locale/fr_BE/LC_MEASUREMENT
-#usr/lib/locale/fr_BE/LC_MESSAGES
-#usr/lib/locale/fr_BE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fr_BE/LC_MONETARY
-#usr/lib/locale/fr_BE/LC_NAME
-#usr/lib/locale/fr_BE/LC_NUMERIC
-#usr/lib/locale/fr_BE/LC_PAPER
-#usr/lib/locale/fr_BE/LC_TELEPHONE
-#usr/lib/locale/fr_BE/LC_TIME
-#usr/lib/locale/fr_BE@euro
-#usr/lib/locale/fr_BE@euro/LC_ADDRESS
-#usr/lib/locale/fr_BE@euro/LC_COLLATE
-#usr/lib/locale/fr_BE@euro/LC_CTYPE
-#usr/lib/locale/fr_BE@euro/LC_IDENTIFICATION
-#usr/lib/locale/fr_BE@euro/LC_MEASUREMENT
-#usr/lib/locale/fr_BE@euro/LC_MESSAGES
-#usr/lib/locale/fr_BE@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fr_BE@euro/LC_MONETARY
-#usr/lib/locale/fr_BE@euro/LC_NAME
-#usr/lib/locale/fr_BE@euro/LC_NUMERIC
-#usr/lib/locale/fr_BE@euro/LC_PAPER
-#usr/lib/locale/fr_BE@euro/LC_TELEPHONE
-#usr/lib/locale/fr_BE@euro/LC_TIME
-#usr/lib/locale/fr_CA
-#usr/lib/locale/fr_CA.utf8
-#usr/lib/locale/fr_CA.utf8/LC_ADDRESS
-#usr/lib/locale/fr_CA.utf8/LC_COLLATE
-#usr/lib/locale/fr_CA.utf8/LC_CTYPE
-#usr/lib/locale/fr_CA.utf8/LC_IDENTIFICATION
-#usr/lib/locale/fr_CA.utf8/LC_MEASUREMENT
-#usr/lib/locale/fr_CA.utf8/LC_MESSAGES
-#usr/lib/locale/fr_CA.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fr_CA.utf8/LC_MONETARY
-#usr/lib/locale/fr_CA.utf8/LC_NAME
-#usr/lib/locale/fr_CA.utf8/LC_NUMERIC
-#usr/lib/locale/fr_CA.utf8/LC_PAPER
-#usr/lib/locale/fr_CA.utf8/LC_TELEPHONE
-#usr/lib/locale/fr_CA.utf8/LC_TIME
-#usr/lib/locale/fr_CA/LC_ADDRESS
-#usr/lib/locale/fr_CA/LC_COLLATE
-#usr/lib/locale/fr_CA/LC_CTYPE
-#usr/lib/locale/fr_CA/LC_IDENTIFICATION
-#usr/lib/locale/fr_CA/LC_MEASUREMENT
-#usr/lib/locale/fr_CA/LC_MESSAGES
-#usr/lib/locale/fr_CA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fr_CA/LC_MONETARY
-#usr/lib/locale/fr_CA/LC_NAME
-#usr/lib/locale/fr_CA/LC_NUMERIC
-#usr/lib/locale/fr_CA/LC_PAPER
-#usr/lib/locale/fr_CA/LC_TELEPHONE
-#usr/lib/locale/fr_CA/LC_TIME
-#usr/lib/locale/fr_CH
-#usr/lib/locale/fr_CH.utf8
-#usr/lib/locale/fr_CH.utf8/LC_ADDRESS
-#usr/lib/locale/fr_CH.utf8/LC_COLLATE
-#usr/lib/locale/fr_CH.utf8/LC_CTYPE
-#usr/lib/locale/fr_CH.utf8/LC_IDENTIFICATION
-#usr/lib/locale/fr_CH.utf8/LC_MEASUREMENT
-#usr/lib/locale/fr_CH.utf8/LC_MESSAGES
-#usr/lib/locale/fr_CH.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fr_CH.utf8/LC_MONETARY
-#usr/lib/locale/fr_CH.utf8/LC_NAME
-#usr/lib/locale/fr_CH.utf8/LC_NUMERIC
-#usr/lib/locale/fr_CH.utf8/LC_PAPER
-#usr/lib/locale/fr_CH.utf8/LC_TELEPHONE
-#usr/lib/locale/fr_CH.utf8/LC_TIME
-#usr/lib/locale/fr_CH/LC_ADDRESS
-#usr/lib/locale/fr_CH/LC_COLLATE
-#usr/lib/locale/fr_CH/LC_CTYPE
-#usr/lib/locale/fr_CH/LC_IDENTIFICATION
-#usr/lib/locale/fr_CH/LC_MEASUREMENT
-#usr/lib/locale/fr_CH/LC_MESSAGES
-#usr/lib/locale/fr_CH/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fr_CH/LC_MONETARY
-#usr/lib/locale/fr_CH/LC_NAME
-#usr/lib/locale/fr_CH/LC_NUMERIC
-#usr/lib/locale/fr_CH/LC_PAPER
-#usr/lib/locale/fr_CH/LC_TELEPHONE
-#usr/lib/locale/fr_CH/LC_TIME
-#usr/lib/locale/fr_FR
-#usr/lib/locale/fr_FR.utf8
-#usr/lib/locale/fr_FR.utf8/LC_ADDRESS
-#usr/lib/locale/fr_FR.utf8/LC_COLLATE
-#usr/lib/locale/fr_FR.utf8/LC_CTYPE
-#usr/lib/locale/fr_FR.utf8/LC_IDENTIFICATION
-#usr/lib/locale/fr_FR.utf8/LC_MEASUREMENT
-#usr/lib/locale/fr_FR.utf8/LC_MESSAGES
-#usr/lib/locale/fr_FR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fr_FR.utf8/LC_MONETARY
-#usr/lib/locale/fr_FR.utf8/LC_NAME
-#usr/lib/locale/fr_FR.utf8/LC_NUMERIC
-#usr/lib/locale/fr_FR.utf8/LC_PAPER
-#usr/lib/locale/fr_FR.utf8/LC_TELEPHONE
-#usr/lib/locale/fr_FR.utf8/LC_TIME
-#usr/lib/locale/fr_FR/LC_ADDRESS
-#usr/lib/locale/fr_FR/LC_COLLATE
-#usr/lib/locale/fr_FR/LC_CTYPE
-#usr/lib/locale/fr_FR/LC_IDENTIFICATION
-#usr/lib/locale/fr_FR/LC_MEASUREMENT
-#usr/lib/locale/fr_FR/LC_MESSAGES
-#usr/lib/locale/fr_FR/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fr_FR/LC_MONETARY
-#usr/lib/locale/fr_FR/LC_NAME
-#usr/lib/locale/fr_FR/LC_NUMERIC
-#usr/lib/locale/fr_FR/LC_PAPER
-#usr/lib/locale/fr_FR/LC_TELEPHONE
-#usr/lib/locale/fr_FR/LC_TIME
-#usr/lib/locale/fr_FR@euro
-#usr/lib/locale/fr_FR@euro/LC_ADDRESS
-#usr/lib/locale/fr_FR@euro/LC_COLLATE
-#usr/lib/locale/fr_FR@euro/LC_CTYPE
-#usr/lib/locale/fr_FR@euro/LC_IDENTIFICATION
-#usr/lib/locale/fr_FR@euro/LC_MEASUREMENT
-#usr/lib/locale/fr_FR@euro/LC_MESSAGES
-#usr/lib/locale/fr_FR@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fr_FR@euro/LC_MONETARY
-#usr/lib/locale/fr_FR@euro/LC_NAME
-#usr/lib/locale/fr_FR@euro/LC_NUMERIC
-#usr/lib/locale/fr_FR@euro/LC_PAPER
-#usr/lib/locale/fr_FR@euro/LC_TELEPHONE
-#usr/lib/locale/fr_FR@euro/LC_TIME
-#usr/lib/locale/fr_LU
-#usr/lib/locale/fr_LU.utf8
-#usr/lib/locale/fr_LU.utf8/LC_ADDRESS
-#usr/lib/locale/fr_LU.utf8/LC_COLLATE
-#usr/lib/locale/fr_LU.utf8/LC_CTYPE
-#usr/lib/locale/fr_LU.utf8/LC_IDENTIFICATION
-#usr/lib/locale/fr_LU.utf8/LC_MEASUREMENT
-#usr/lib/locale/fr_LU.utf8/LC_MESSAGES
-#usr/lib/locale/fr_LU.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fr_LU.utf8/LC_MONETARY
-#usr/lib/locale/fr_LU.utf8/LC_NAME
-#usr/lib/locale/fr_LU.utf8/LC_NUMERIC
-#usr/lib/locale/fr_LU.utf8/LC_PAPER
-#usr/lib/locale/fr_LU.utf8/LC_TELEPHONE
-#usr/lib/locale/fr_LU.utf8/LC_TIME
-#usr/lib/locale/fr_LU/LC_ADDRESS
-#usr/lib/locale/fr_LU/LC_COLLATE
-#usr/lib/locale/fr_LU/LC_CTYPE
-#usr/lib/locale/fr_LU/LC_IDENTIFICATION
-#usr/lib/locale/fr_LU/LC_MEASUREMENT
-#usr/lib/locale/fr_LU/LC_MESSAGES
-#usr/lib/locale/fr_LU/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fr_LU/LC_MONETARY
-#usr/lib/locale/fr_LU/LC_NAME
-#usr/lib/locale/fr_LU/LC_NUMERIC
-#usr/lib/locale/fr_LU/LC_PAPER
-#usr/lib/locale/fr_LU/LC_TELEPHONE
-#usr/lib/locale/fr_LU/LC_TIME
-#usr/lib/locale/fr_LU@euro
-#usr/lib/locale/fr_LU@euro/LC_ADDRESS
-#usr/lib/locale/fr_LU@euro/LC_COLLATE
-#usr/lib/locale/fr_LU@euro/LC_CTYPE
-#usr/lib/locale/fr_LU@euro/LC_IDENTIFICATION
-#usr/lib/locale/fr_LU@euro/LC_MEASUREMENT
-#usr/lib/locale/fr_LU@euro/LC_MESSAGES
-#usr/lib/locale/fr_LU@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fr_LU@euro/LC_MONETARY
-#usr/lib/locale/fr_LU@euro/LC_NAME
-#usr/lib/locale/fr_LU@euro/LC_NUMERIC
-#usr/lib/locale/fr_LU@euro/LC_PAPER
-#usr/lib/locale/fr_LU@euro/LC_TELEPHONE
-#usr/lib/locale/fr_LU@euro/LC_TIME
-#usr/lib/locale/fur_IT
-#usr/lib/locale/fur_IT/LC_ADDRESS
-#usr/lib/locale/fur_IT/LC_COLLATE
-#usr/lib/locale/fur_IT/LC_CTYPE
-#usr/lib/locale/fur_IT/LC_IDENTIFICATION
-#usr/lib/locale/fur_IT/LC_MEASUREMENT
-#usr/lib/locale/fur_IT/LC_MESSAGES
-#usr/lib/locale/fur_IT/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fur_IT/LC_MONETARY
-#usr/lib/locale/fur_IT/LC_NAME
-#usr/lib/locale/fur_IT/LC_NUMERIC
-#usr/lib/locale/fur_IT/LC_PAPER
-#usr/lib/locale/fur_IT/LC_TELEPHONE
-#usr/lib/locale/fur_IT/LC_TIME
-#usr/lib/locale/fy_DE
-#usr/lib/locale/fy_DE/LC_ADDRESS
-#usr/lib/locale/fy_DE/LC_COLLATE
-#usr/lib/locale/fy_DE/LC_CTYPE
-#usr/lib/locale/fy_DE/LC_IDENTIFICATION
-#usr/lib/locale/fy_DE/LC_MEASUREMENT
-#usr/lib/locale/fy_DE/LC_MESSAGES
-#usr/lib/locale/fy_DE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fy_DE/LC_MONETARY
-#usr/lib/locale/fy_DE/LC_NAME
-#usr/lib/locale/fy_DE/LC_NUMERIC
-#usr/lib/locale/fy_DE/LC_PAPER
-#usr/lib/locale/fy_DE/LC_TELEPHONE
-#usr/lib/locale/fy_DE/LC_TIME
-#usr/lib/locale/fy_NL
-#usr/lib/locale/fy_NL/LC_ADDRESS
-#usr/lib/locale/fy_NL/LC_COLLATE
-#usr/lib/locale/fy_NL/LC_CTYPE
-#usr/lib/locale/fy_NL/LC_IDENTIFICATION
-#usr/lib/locale/fy_NL/LC_MEASUREMENT
-#usr/lib/locale/fy_NL/LC_MESSAGES
-#usr/lib/locale/fy_NL/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fy_NL/LC_MONETARY
-#usr/lib/locale/fy_NL/LC_NAME
-#usr/lib/locale/fy_NL/LC_NUMERIC
-#usr/lib/locale/fy_NL/LC_PAPER
-#usr/lib/locale/fy_NL/LC_TELEPHONE
-#usr/lib/locale/fy_NL/LC_TIME
-#usr/lib/locale/ga_IE
-#usr/lib/locale/ga_IE.utf8
-#usr/lib/locale/ga_IE.utf8/LC_ADDRESS
-#usr/lib/locale/ga_IE.utf8/LC_COLLATE
-#usr/lib/locale/ga_IE.utf8/LC_CTYPE
-#usr/lib/locale/ga_IE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ga_IE.utf8/LC_MEASUREMENT
-#usr/lib/locale/ga_IE.utf8/LC_MESSAGES
-#usr/lib/locale/ga_IE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ga_IE.utf8/LC_MONETARY
-#usr/lib/locale/ga_IE.utf8/LC_NAME
-#usr/lib/locale/ga_IE.utf8/LC_NUMERIC
-#usr/lib/locale/ga_IE.utf8/LC_PAPER
-#usr/lib/locale/ga_IE.utf8/LC_TELEPHONE
-#usr/lib/locale/ga_IE.utf8/LC_TIME
-#usr/lib/locale/ga_IE/LC_ADDRESS
-#usr/lib/locale/ga_IE/LC_COLLATE
-#usr/lib/locale/ga_IE/LC_CTYPE
-#usr/lib/locale/ga_IE/LC_IDENTIFICATION
-#usr/lib/locale/ga_IE/LC_MEASUREMENT
-#usr/lib/locale/ga_IE/LC_MESSAGES
-#usr/lib/locale/ga_IE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ga_IE/LC_MONETARY
-#usr/lib/locale/ga_IE/LC_NAME
-#usr/lib/locale/ga_IE/LC_NUMERIC
-#usr/lib/locale/ga_IE/LC_PAPER
-#usr/lib/locale/ga_IE/LC_TELEPHONE
-#usr/lib/locale/ga_IE/LC_TIME
-#usr/lib/locale/ga_IE@euro
-#usr/lib/locale/ga_IE@euro/LC_ADDRESS
-#usr/lib/locale/ga_IE@euro/LC_COLLATE
-#usr/lib/locale/ga_IE@euro/LC_CTYPE
-#usr/lib/locale/ga_IE@euro/LC_IDENTIFICATION
-#usr/lib/locale/ga_IE@euro/LC_MEASUREMENT
-#usr/lib/locale/ga_IE@euro/LC_MESSAGES
-#usr/lib/locale/ga_IE@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ga_IE@euro/LC_MONETARY
-#usr/lib/locale/ga_IE@euro/LC_NAME
-#usr/lib/locale/ga_IE@euro/LC_NUMERIC
-#usr/lib/locale/ga_IE@euro/LC_PAPER
-#usr/lib/locale/ga_IE@euro/LC_TELEPHONE
-#usr/lib/locale/ga_IE@euro/LC_TIME
-#usr/lib/locale/gd_GB
-#usr/lib/locale/gd_GB.utf8
-#usr/lib/locale/gd_GB.utf8/LC_ADDRESS
-#usr/lib/locale/gd_GB.utf8/LC_COLLATE
-#usr/lib/locale/gd_GB.utf8/LC_CTYPE
-#usr/lib/locale/gd_GB.utf8/LC_IDENTIFICATION
-#usr/lib/locale/gd_GB.utf8/LC_MEASUREMENT
-#usr/lib/locale/gd_GB.utf8/LC_MESSAGES
-#usr/lib/locale/gd_GB.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/gd_GB.utf8/LC_MONETARY
-#usr/lib/locale/gd_GB.utf8/LC_NAME
-#usr/lib/locale/gd_GB.utf8/LC_NUMERIC
-#usr/lib/locale/gd_GB.utf8/LC_PAPER
-#usr/lib/locale/gd_GB.utf8/LC_TELEPHONE
-#usr/lib/locale/gd_GB.utf8/LC_TIME
-#usr/lib/locale/gd_GB/LC_ADDRESS
-#usr/lib/locale/gd_GB/LC_COLLATE
-#usr/lib/locale/gd_GB/LC_CTYPE
-#usr/lib/locale/gd_GB/LC_IDENTIFICATION
-#usr/lib/locale/gd_GB/LC_MEASUREMENT
-#usr/lib/locale/gd_GB/LC_MESSAGES
-#usr/lib/locale/gd_GB/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/gd_GB/LC_MONETARY
-#usr/lib/locale/gd_GB/LC_NAME
-#usr/lib/locale/gd_GB/LC_NUMERIC
-#usr/lib/locale/gd_GB/LC_PAPER
-#usr/lib/locale/gd_GB/LC_TELEPHONE
-#usr/lib/locale/gd_GB/LC_TIME
-#usr/lib/locale/gez_ER
-#usr/lib/locale/gez_ER/LC_ADDRESS
-#usr/lib/locale/gez_ER/LC_COLLATE
-#usr/lib/locale/gez_ER/LC_CTYPE
-#usr/lib/locale/gez_ER/LC_IDENTIFICATION
-#usr/lib/locale/gez_ER/LC_MEASUREMENT
-#usr/lib/locale/gez_ER/LC_MESSAGES
-#usr/lib/locale/gez_ER/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/gez_ER/LC_MONETARY
-#usr/lib/locale/gez_ER/LC_NAME
-#usr/lib/locale/gez_ER/LC_NUMERIC
-#usr/lib/locale/gez_ER/LC_PAPER
-#usr/lib/locale/gez_ER/LC_TELEPHONE
-#usr/lib/locale/gez_ER/LC_TIME
-#usr/lib/locale/gez_ER@abegede
-#usr/lib/locale/gez_ER@abegede/LC_ADDRESS
-#usr/lib/locale/gez_ER@abegede/LC_COLLATE
-#usr/lib/locale/gez_ER@abegede/LC_CTYPE
-#usr/lib/locale/gez_ER@abegede/LC_IDENTIFICATION
-#usr/lib/locale/gez_ER@abegede/LC_MEASUREMENT
-#usr/lib/locale/gez_ER@abegede/LC_MESSAGES
-#usr/lib/locale/gez_ER@abegede/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/gez_ER@abegede/LC_MONETARY
-#usr/lib/locale/gez_ER@abegede/LC_NAME
-#usr/lib/locale/gez_ER@abegede/LC_NUMERIC
-#usr/lib/locale/gez_ER@abegede/LC_PAPER
-#usr/lib/locale/gez_ER@abegede/LC_TELEPHONE
-#usr/lib/locale/gez_ER@abegede/LC_TIME
-#usr/lib/locale/gez_ET
-#usr/lib/locale/gez_ET/LC_ADDRESS
-#usr/lib/locale/gez_ET/LC_COLLATE
-#usr/lib/locale/gez_ET/LC_CTYPE
-#usr/lib/locale/gez_ET/LC_IDENTIFICATION
-#usr/lib/locale/gez_ET/LC_MEASUREMENT
-#usr/lib/locale/gez_ET/LC_MESSAGES
-#usr/lib/locale/gez_ET/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/gez_ET/LC_MONETARY
-#usr/lib/locale/gez_ET/LC_NAME
-#usr/lib/locale/gez_ET/LC_NUMERIC
-#usr/lib/locale/gez_ET/LC_PAPER
-#usr/lib/locale/gez_ET/LC_TELEPHONE
-#usr/lib/locale/gez_ET/LC_TIME
-#usr/lib/locale/gez_ET@abegede
-#usr/lib/locale/gez_ET@abegede/LC_ADDRESS
-#usr/lib/locale/gez_ET@abegede/LC_COLLATE
-#usr/lib/locale/gez_ET@abegede/LC_CTYPE
-#usr/lib/locale/gez_ET@abegede/LC_IDENTIFICATION
-#usr/lib/locale/gez_ET@abegede/LC_MEASUREMENT
-#usr/lib/locale/gez_ET@abegede/LC_MESSAGES
-#usr/lib/locale/gez_ET@abegede/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/gez_ET@abegede/LC_MONETARY
-#usr/lib/locale/gez_ET@abegede/LC_NAME
-#usr/lib/locale/gez_ET@abegede/LC_NUMERIC
-#usr/lib/locale/gez_ET@abegede/LC_PAPER
-#usr/lib/locale/gez_ET@abegede/LC_TELEPHONE
-#usr/lib/locale/gez_ET@abegede/LC_TIME
-#usr/lib/locale/gl_ES
-#usr/lib/locale/gl_ES.utf8
-#usr/lib/locale/gl_ES.utf8/LC_ADDRESS
-#usr/lib/locale/gl_ES.utf8/LC_COLLATE
-#usr/lib/locale/gl_ES.utf8/LC_CTYPE
-#usr/lib/locale/gl_ES.utf8/LC_IDENTIFICATION
-#usr/lib/locale/gl_ES.utf8/LC_MEASUREMENT
-#usr/lib/locale/gl_ES.utf8/LC_MESSAGES
-#usr/lib/locale/gl_ES.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/gl_ES.utf8/LC_MONETARY
-#usr/lib/locale/gl_ES.utf8/LC_NAME
-#usr/lib/locale/gl_ES.utf8/LC_NUMERIC
-#usr/lib/locale/gl_ES.utf8/LC_PAPER
-#usr/lib/locale/gl_ES.utf8/LC_TELEPHONE
-#usr/lib/locale/gl_ES.utf8/LC_TIME
-#usr/lib/locale/gl_ES/LC_ADDRESS
-#usr/lib/locale/gl_ES/LC_COLLATE
-#usr/lib/locale/gl_ES/LC_CTYPE
-#usr/lib/locale/gl_ES/LC_IDENTIFICATION
-#usr/lib/locale/gl_ES/LC_MEASUREMENT
-#usr/lib/locale/gl_ES/LC_MESSAGES
-#usr/lib/locale/gl_ES/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/gl_ES/LC_MONETARY
-#usr/lib/locale/gl_ES/LC_NAME
-#usr/lib/locale/gl_ES/LC_NUMERIC
-#usr/lib/locale/gl_ES/LC_PAPER
-#usr/lib/locale/gl_ES/LC_TELEPHONE
-#usr/lib/locale/gl_ES/LC_TIME
-#usr/lib/locale/gl_ES@euro
-#usr/lib/locale/gl_ES@euro/LC_ADDRESS
-#usr/lib/locale/gl_ES@euro/LC_COLLATE
-#usr/lib/locale/gl_ES@euro/LC_CTYPE
-#usr/lib/locale/gl_ES@euro/LC_IDENTIFICATION
-#usr/lib/locale/gl_ES@euro/LC_MEASUREMENT
-#usr/lib/locale/gl_ES@euro/LC_MESSAGES
-#usr/lib/locale/gl_ES@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/gl_ES@euro/LC_MONETARY
-#usr/lib/locale/gl_ES@euro/LC_NAME
-#usr/lib/locale/gl_ES@euro/LC_NUMERIC
-#usr/lib/locale/gl_ES@euro/LC_PAPER
-#usr/lib/locale/gl_ES@euro/LC_TELEPHONE
-#usr/lib/locale/gl_ES@euro/LC_TIME
-#usr/lib/locale/gu_IN
-#usr/lib/locale/gu_IN/LC_ADDRESS
-#usr/lib/locale/gu_IN/LC_COLLATE
-#usr/lib/locale/gu_IN/LC_CTYPE
-#usr/lib/locale/gu_IN/LC_IDENTIFICATION
-#usr/lib/locale/gu_IN/LC_MEASUREMENT
-#usr/lib/locale/gu_IN/LC_MESSAGES
-#usr/lib/locale/gu_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/gu_IN/LC_MONETARY
-#usr/lib/locale/gu_IN/LC_NAME
-#usr/lib/locale/gu_IN/LC_NUMERIC
-#usr/lib/locale/gu_IN/LC_PAPER
-#usr/lib/locale/gu_IN/LC_TELEPHONE
-#usr/lib/locale/gu_IN/LC_TIME
-#usr/lib/locale/gv_GB
-#usr/lib/locale/gv_GB.utf8
-#usr/lib/locale/gv_GB.utf8/LC_ADDRESS
-#usr/lib/locale/gv_GB.utf8/LC_COLLATE
-#usr/lib/locale/gv_GB.utf8/LC_CTYPE
-#usr/lib/locale/gv_GB.utf8/LC_IDENTIFICATION
-#usr/lib/locale/gv_GB.utf8/LC_MEASUREMENT
-#usr/lib/locale/gv_GB.utf8/LC_MESSAGES
-#usr/lib/locale/gv_GB.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/gv_GB.utf8/LC_MONETARY
-#usr/lib/locale/gv_GB.utf8/LC_NAME
-#usr/lib/locale/gv_GB.utf8/LC_NUMERIC
-#usr/lib/locale/gv_GB.utf8/LC_PAPER
-#usr/lib/locale/gv_GB.utf8/LC_TELEPHONE
-#usr/lib/locale/gv_GB.utf8/LC_TIME
-#usr/lib/locale/gv_GB/LC_ADDRESS
-#usr/lib/locale/gv_GB/LC_COLLATE
-#usr/lib/locale/gv_GB/LC_CTYPE
-#usr/lib/locale/gv_GB/LC_IDENTIFICATION
-#usr/lib/locale/gv_GB/LC_MEASUREMENT
-#usr/lib/locale/gv_GB/LC_MESSAGES
-#usr/lib/locale/gv_GB/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/gv_GB/LC_MONETARY
-#usr/lib/locale/gv_GB/LC_NAME
-#usr/lib/locale/gv_GB/LC_NUMERIC
-#usr/lib/locale/gv_GB/LC_PAPER
-#usr/lib/locale/gv_GB/LC_TELEPHONE
-#usr/lib/locale/gv_GB/LC_TIME
-#usr/lib/locale/ha_NG
-#usr/lib/locale/ha_NG/LC_ADDRESS
-#usr/lib/locale/ha_NG/LC_COLLATE
-#usr/lib/locale/ha_NG/LC_CTYPE
-#usr/lib/locale/ha_NG/LC_IDENTIFICATION
-#usr/lib/locale/ha_NG/LC_MEASUREMENT
-#usr/lib/locale/ha_NG/LC_MESSAGES
-#usr/lib/locale/ha_NG/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ha_NG/LC_MONETARY
-#usr/lib/locale/ha_NG/LC_NAME
-#usr/lib/locale/ha_NG/LC_NUMERIC
-#usr/lib/locale/ha_NG/LC_PAPER
-#usr/lib/locale/ha_NG/LC_TELEPHONE
-#usr/lib/locale/ha_NG/LC_TIME
-#usr/lib/locale/he_IL
-#usr/lib/locale/he_IL.utf8
-#usr/lib/locale/he_IL.utf8/LC_ADDRESS
-#usr/lib/locale/he_IL.utf8/LC_COLLATE
-#usr/lib/locale/he_IL.utf8/LC_CTYPE
-#usr/lib/locale/he_IL.utf8/LC_IDENTIFICATION
-#usr/lib/locale/he_IL.utf8/LC_MEASUREMENT
-#usr/lib/locale/he_IL.utf8/LC_MESSAGES
-#usr/lib/locale/he_IL.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/he_IL.utf8/LC_MONETARY
-#usr/lib/locale/he_IL.utf8/LC_NAME
-#usr/lib/locale/he_IL.utf8/LC_NUMERIC
-#usr/lib/locale/he_IL.utf8/LC_PAPER
-#usr/lib/locale/he_IL.utf8/LC_TELEPHONE
-#usr/lib/locale/he_IL.utf8/LC_TIME
-#usr/lib/locale/he_IL/LC_ADDRESS
-#usr/lib/locale/he_IL/LC_COLLATE
-#usr/lib/locale/he_IL/LC_CTYPE
-#usr/lib/locale/he_IL/LC_IDENTIFICATION
-#usr/lib/locale/he_IL/LC_MEASUREMENT
-#usr/lib/locale/he_IL/LC_MESSAGES
-#usr/lib/locale/he_IL/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/he_IL/LC_MONETARY
-#usr/lib/locale/he_IL/LC_NAME
-#usr/lib/locale/he_IL/LC_NUMERIC
-#usr/lib/locale/he_IL/LC_PAPER
-#usr/lib/locale/he_IL/LC_TELEPHONE
-#usr/lib/locale/he_IL/LC_TIME
-#usr/lib/locale/hi_IN
-#usr/lib/locale/hi_IN/LC_ADDRESS
-#usr/lib/locale/hi_IN/LC_COLLATE
-#usr/lib/locale/hi_IN/LC_CTYPE
-#usr/lib/locale/hi_IN/LC_IDENTIFICATION
-#usr/lib/locale/hi_IN/LC_MEASUREMENT
-#usr/lib/locale/hi_IN/LC_MESSAGES
-#usr/lib/locale/hi_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/hi_IN/LC_MONETARY
-#usr/lib/locale/hi_IN/LC_NAME
-#usr/lib/locale/hi_IN/LC_NUMERIC
-#usr/lib/locale/hi_IN/LC_PAPER
-#usr/lib/locale/hi_IN/LC_TELEPHONE
-#usr/lib/locale/hi_IN/LC_TIME
-#usr/lib/locale/hne_IN
-#usr/lib/locale/hne_IN/LC_ADDRESS
-#usr/lib/locale/hne_IN/LC_COLLATE
-#usr/lib/locale/hne_IN/LC_CTYPE
-#usr/lib/locale/hne_IN/LC_IDENTIFICATION
-#usr/lib/locale/hne_IN/LC_MEASUREMENT
-#usr/lib/locale/hne_IN/LC_MESSAGES
-#usr/lib/locale/hne_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/hne_IN/LC_MONETARY
-#usr/lib/locale/hne_IN/LC_NAME
-#usr/lib/locale/hne_IN/LC_NUMERIC
-#usr/lib/locale/hne_IN/LC_PAPER
-#usr/lib/locale/hne_IN/LC_TELEPHONE
-#usr/lib/locale/hne_IN/LC_TIME
-#usr/lib/locale/hr_HR
-#usr/lib/locale/hr_HR.utf8
-#usr/lib/locale/hr_HR.utf8/LC_ADDRESS
-#usr/lib/locale/hr_HR.utf8/LC_COLLATE
-#usr/lib/locale/hr_HR.utf8/LC_CTYPE
-#usr/lib/locale/hr_HR.utf8/LC_IDENTIFICATION
-#usr/lib/locale/hr_HR.utf8/LC_MEASUREMENT
-#usr/lib/locale/hr_HR.utf8/LC_MESSAGES
-#usr/lib/locale/hr_HR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/hr_HR.utf8/LC_MONETARY
-#usr/lib/locale/hr_HR.utf8/LC_NAME
-#usr/lib/locale/hr_HR.utf8/LC_NUMERIC
-#usr/lib/locale/hr_HR.utf8/LC_PAPER
-#usr/lib/locale/hr_HR.utf8/LC_TELEPHONE
-#usr/lib/locale/hr_HR.utf8/LC_TIME
-#usr/lib/locale/hr_HR/LC_ADDRESS
-#usr/lib/locale/hr_HR/LC_COLLATE
-#usr/lib/locale/hr_HR/LC_CTYPE
-#usr/lib/locale/hr_HR/LC_IDENTIFICATION
-#usr/lib/locale/hr_HR/LC_MEASUREMENT
-#usr/lib/locale/hr_HR/LC_MESSAGES
-#usr/lib/locale/hr_HR/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/hr_HR/LC_MONETARY
-#usr/lib/locale/hr_HR/LC_NAME
-#usr/lib/locale/hr_HR/LC_NUMERIC
-#usr/lib/locale/hr_HR/LC_PAPER
-#usr/lib/locale/hr_HR/LC_TELEPHONE
-#usr/lib/locale/hr_HR/LC_TIME
-#usr/lib/locale/hsb_DE
-#usr/lib/locale/hsb_DE.utf8
-#usr/lib/locale/hsb_DE.utf8/LC_ADDRESS
-#usr/lib/locale/hsb_DE.utf8/LC_COLLATE
-#usr/lib/locale/hsb_DE.utf8/LC_CTYPE
-#usr/lib/locale/hsb_DE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/hsb_DE.utf8/LC_MEASUREMENT
-#usr/lib/locale/hsb_DE.utf8/LC_MESSAGES
-#usr/lib/locale/hsb_DE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/hsb_DE.utf8/LC_MONETARY
-#usr/lib/locale/hsb_DE.utf8/LC_NAME
-#usr/lib/locale/hsb_DE.utf8/LC_NUMERIC
-#usr/lib/locale/hsb_DE.utf8/LC_PAPER
-#usr/lib/locale/hsb_DE.utf8/LC_TELEPHONE
-#usr/lib/locale/hsb_DE.utf8/LC_TIME
-#usr/lib/locale/hsb_DE/LC_ADDRESS
-#usr/lib/locale/hsb_DE/LC_COLLATE
-#usr/lib/locale/hsb_DE/LC_CTYPE
-#usr/lib/locale/hsb_DE/LC_IDENTIFICATION
-#usr/lib/locale/hsb_DE/LC_MEASUREMENT
-#usr/lib/locale/hsb_DE/LC_MESSAGES
-#usr/lib/locale/hsb_DE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/hsb_DE/LC_MONETARY
-#usr/lib/locale/hsb_DE/LC_NAME
-#usr/lib/locale/hsb_DE/LC_NUMERIC
-#usr/lib/locale/hsb_DE/LC_PAPER
-#usr/lib/locale/hsb_DE/LC_TELEPHONE
-#usr/lib/locale/hsb_DE/LC_TIME
-#usr/lib/locale/ht_HT
-#usr/lib/locale/ht_HT/LC_ADDRESS
-#usr/lib/locale/ht_HT/LC_COLLATE
-#usr/lib/locale/ht_HT/LC_CTYPE
-#usr/lib/locale/ht_HT/LC_IDENTIFICATION
-#usr/lib/locale/ht_HT/LC_MEASUREMENT
-#usr/lib/locale/ht_HT/LC_MESSAGES
-#usr/lib/locale/ht_HT/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ht_HT/LC_MONETARY
-#usr/lib/locale/ht_HT/LC_NAME
-#usr/lib/locale/ht_HT/LC_NUMERIC
-#usr/lib/locale/ht_HT/LC_PAPER
-#usr/lib/locale/ht_HT/LC_TELEPHONE
-#usr/lib/locale/ht_HT/LC_TIME
-#usr/lib/locale/hu_HU
-#usr/lib/locale/hu_HU.utf8
-#usr/lib/locale/hu_HU.utf8/LC_ADDRESS
-#usr/lib/locale/hu_HU.utf8/LC_COLLATE
-#usr/lib/locale/hu_HU.utf8/LC_CTYPE
-#usr/lib/locale/hu_HU.utf8/LC_IDENTIFICATION
-#usr/lib/locale/hu_HU.utf8/LC_MEASUREMENT
-#usr/lib/locale/hu_HU.utf8/LC_MESSAGES
-#usr/lib/locale/hu_HU.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/hu_HU.utf8/LC_MONETARY
-#usr/lib/locale/hu_HU.utf8/LC_NAME
-#usr/lib/locale/hu_HU.utf8/LC_NUMERIC
-#usr/lib/locale/hu_HU.utf8/LC_PAPER
-#usr/lib/locale/hu_HU.utf8/LC_TELEPHONE
-#usr/lib/locale/hu_HU.utf8/LC_TIME
-#usr/lib/locale/hu_HU/LC_ADDRESS
-#usr/lib/locale/hu_HU/LC_COLLATE
-#usr/lib/locale/hu_HU/LC_CTYPE
-#usr/lib/locale/hu_HU/LC_IDENTIFICATION
-#usr/lib/locale/hu_HU/LC_MEASUREMENT
-#usr/lib/locale/hu_HU/LC_MESSAGES
-#usr/lib/locale/hu_HU/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/hu_HU/LC_MONETARY
-#usr/lib/locale/hu_HU/LC_NAME
-#usr/lib/locale/hu_HU/LC_NUMERIC
-#usr/lib/locale/hu_HU/LC_PAPER
-#usr/lib/locale/hu_HU/LC_TELEPHONE
-#usr/lib/locale/hu_HU/LC_TIME
-#usr/lib/locale/hy_AM
-#usr/lib/locale/hy_AM.armscii8
-#usr/lib/locale/hy_AM.armscii8/LC_ADDRESS
-#usr/lib/locale/hy_AM.armscii8/LC_COLLATE
-#usr/lib/locale/hy_AM.armscii8/LC_CTYPE
-#usr/lib/locale/hy_AM.armscii8/LC_IDENTIFICATION
-#usr/lib/locale/hy_AM.armscii8/LC_MEASUREMENT
-#usr/lib/locale/hy_AM.armscii8/LC_MESSAGES
-#usr/lib/locale/hy_AM.armscii8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/hy_AM.armscii8/LC_MONETARY
-#usr/lib/locale/hy_AM.armscii8/LC_NAME
-#usr/lib/locale/hy_AM.armscii8/LC_NUMERIC
-#usr/lib/locale/hy_AM.armscii8/LC_PAPER
-#usr/lib/locale/hy_AM.armscii8/LC_TELEPHONE
-#usr/lib/locale/hy_AM.armscii8/LC_TIME
-#usr/lib/locale/hy_AM/LC_ADDRESS
-#usr/lib/locale/hy_AM/LC_COLLATE
-#usr/lib/locale/hy_AM/LC_CTYPE
-#usr/lib/locale/hy_AM/LC_IDENTIFICATION
-#usr/lib/locale/hy_AM/LC_MEASUREMENT
-#usr/lib/locale/hy_AM/LC_MESSAGES
-#usr/lib/locale/hy_AM/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/hy_AM/LC_MONETARY
-#usr/lib/locale/hy_AM/LC_NAME
-#usr/lib/locale/hy_AM/LC_NUMERIC
-#usr/lib/locale/hy_AM/LC_PAPER
-#usr/lib/locale/hy_AM/LC_TELEPHONE
-#usr/lib/locale/hy_AM/LC_TIME
-#usr/lib/locale/id_ID
-#usr/lib/locale/id_ID.utf8
-#usr/lib/locale/id_ID.utf8/LC_ADDRESS
-#usr/lib/locale/id_ID.utf8/LC_COLLATE
-#usr/lib/locale/id_ID.utf8/LC_CTYPE
-#usr/lib/locale/id_ID.utf8/LC_IDENTIFICATION
-#usr/lib/locale/id_ID.utf8/LC_MEASUREMENT
-#usr/lib/locale/id_ID.utf8/LC_MESSAGES
-#usr/lib/locale/id_ID.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/id_ID.utf8/LC_MONETARY
-#usr/lib/locale/id_ID.utf8/LC_NAME
-#usr/lib/locale/id_ID.utf8/LC_NUMERIC
-#usr/lib/locale/id_ID.utf8/LC_PAPER
-#usr/lib/locale/id_ID.utf8/LC_TELEPHONE
-#usr/lib/locale/id_ID.utf8/LC_TIME
-#usr/lib/locale/id_ID/LC_ADDRESS
-#usr/lib/locale/id_ID/LC_COLLATE
-#usr/lib/locale/id_ID/LC_CTYPE
-#usr/lib/locale/id_ID/LC_IDENTIFICATION
-#usr/lib/locale/id_ID/LC_MEASUREMENT
-#usr/lib/locale/id_ID/LC_MESSAGES
-#usr/lib/locale/id_ID/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/id_ID/LC_MONETARY
-#usr/lib/locale/id_ID/LC_NAME
-#usr/lib/locale/id_ID/LC_NUMERIC
-#usr/lib/locale/id_ID/LC_PAPER
-#usr/lib/locale/id_ID/LC_TELEPHONE
-#usr/lib/locale/id_ID/LC_TIME
-#usr/lib/locale/ig_NG
-#usr/lib/locale/ig_NG/LC_ADDRESS
-#usr/lib/locale/ig_NG/LC_COLLATE
-#usr/lib/locale/ig_NG/LC_CTYPE
-#usr/lib/locale/ig_NG/LC_IDENTIFICATION
-#usr/lib/locale/ig_NG/LC_MEASUREMENT
-#usr/lib/locale/ig_NG/LC_MESSAGES
-#usr/lib/locale/ig_NG/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ig_NG/LC_MONETARY
-#usr/lib/locale/ig_NG/LC_NAME
-#usr/lib/locale/ig_NG/LC_NUMERIC
-#usr/lib/locale/ig_NG/LC_PAPER
-#usr/lib/locale/ig_NG/LC_TELEPHONE
-#usr/lib/locale/ig_NG/LC_TIME
-#usr/lib/locale/ik_CA
-#usr/lib/locale/ik_CA/LC_ADDRESS
-#usr/lib/locale/ik_CA/LC_COLLATE
-#usr/lib/locale/ik_CA/LC_CTYPE
-#usr/lib/locale/ik_CA/LC_IDENTIFICATION
-#usr/lib/locale/ik_CA/LC_MEASUREMENT
-#usr/lib/locale/ik_CA/LC_MESSAGES
-#usr/lib/locale/ik_CA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ik_CA/LC_MONETARY
-#usr/lib/locale/ik_CA/LC_NAME
-#usr/lib/locale/ik_CA/LC_NUMERIC
-#usr/lib/locale/ik_CA/LC_PAPER
-#usr/lib/locale/ik_CA/LC_TELEPHONE
-#usr/lib/locale/ik_CA/LC_TIME
-#usr/lib/locale/is_IS
-#usr/lib/locale/is_IS.utf8
-#usr/lib/locale/is_IS.utf8/LC_ADDRESS
-#usr/lib/locale/is_IS.utf8/LC_COLLATE
-#usr/lib/locale/is_IS.utf8/LC_CTYPE
-#usr/lib/locale/is_IS.utf8/LC_IDENTIFICATION
-#usr/lib/locale/is_IS.utf8/LC_MEASUREMENT
-#usr/lib/locale/is_IS.utf8/LC_MESSAGES
-#usr/lib/locale/is_IS.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/is_IS.utf8/LC_MONETARY
-#usr/lib/locale/is_IS.utf8/LC_NAME
-#usr/lib/locale/is_IS.utf8/LC_NUMERIC
-#usr/lib/locale/is_IS.utf8/LC_PAPER
-#usr/lib/locale/is_IS.utf8/LC_TELEPHONE
-#usr/lib/locale/is_IS.utf8/LC_TIME
-#usr/lib/locale/is_IS/LC_ADDRESS
-#usr/lib/locale/is_IS/LC_COLLATE
-#usr/lib/locale/is_IS/LC_CTYPE
-#usr/lib/locale/is_IS/LC_IDENTIFICATION
-#usr/lib/locale/is_IS/LC_MEASUREMENT
-#usr/lib/locale/is_IS/LC_MESSAGES
-#usr/lib/locale/is_IS/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/is_IS/LC_MONETARY
-#usr/lib/locale/is_IS/LC_NAME
-#usr/lib/locale/is_IS/LC_NUMERIC
-#usr/lib/locale/is_IS/LC_PAPER
-#usr/lib/locale/is_IS/LC_TELEPHONE
-#usr/lib/locale/is_IS/LC_TIME
-#usr/lib/locale/it_CH
-#usr/lib/locale/it_CH.utf8
-#usr/lib/locale/it_CH.utf8/LC_ADDRESS
-#usr/lib/locale/it_CH.utf8/LC_COLLATE
-#usr/lib/locale/it_CH.utf8/LC_CTYPE
-#usr/lib/locale/it_CH.utf8/LC_IDENTIFICATION
-#usr/lib/locale/it_CH.utf8/LC_MEASUREMENT
-#usr/lib/locale/it_CH.utf8/LC_MESSAGES
-#usr/lib/locale/it_CH.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/it_CH.utf8/LC_MONETARY
-#usr/lib/locale/it_CH.utf8/LC_NAME
-#usr/lib/locale/it_CH.utf8/LC_NUMERIC
-#usr/lib/locale/it_CH.utf8/LC_PAPER
-#usr/lib/locale/it_CH.utf8/LC_TELEPHONE
-#usr/lib/locale/it_CH.utf8/LC_TIME
-#usr/lib/locale/it_CH/LC_ADDRESS
-#usr/lib/locale/it_CH/LC_COLLATE
-#usr/lib/locale/it_CH/LC_CTYPE
-#usr/lib/locale/it_CH/LC_IDENTIFICATION
-#usr/lib/locale/it_CH/LC_MEASUREMENT
-#usr/lib/locale/it_CH/LC_MESSAGES
-#usr/lib/locale/it_CH/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/it_CH/LC_MONETARY
-#usr/lib/locale/it_CH/LC_NAME
-#usr/lib/locale/it_CH/LC_NUMERIC
-#usr/lib/locale/it_CH/LC_PAPER
-#usr/lib/locale/it_CH/LC_TELEPHONE
-#usr/lib/locale/it_CH/LC_TIME
-#usr/lib/locale/it_IT
-#usr/lib/locale/it_IT.utf8
-#usr/lib/locale/it_IT.utf8/LC_ADDRESS
-#usr/lib/locale/it_IT.utf8/LC_COLLATE
-#usr/lib/locale/it_IT.utf8/LC_CTYPE
-#usr/lib/locale/it_IT.utf8/LC_IDENTIFICATION
-#usr/lib/locale/it_IT.utf8/LC_MEASUREMENT
-#usr/lib/locale/it_IT.utf8/LC_MESSAGES
-#usr/lib/locale/it_IT.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/it_IT.utf8/LC_MONETARY
-#usr/lib/locale/it_IT.utf8/LC_NAME
-#usr/lib/locale/it_IT.utf8/LC_NUMERIC
-#usr/lib/locale/it_IT.utf8/LC_PAPER
-#usr/lib/locale/it_IT.utf8/LC_TELEPHONE
-#usr/lib/locale/it_IT.utf8/LC_TIME
-#usr/lib/locale/it_IT/LC_ADDRESS
-#usr/lib/locale/it_IT/LC_COLLATE
-#usr/lib/locale/it_IT/LC_CTYPE
-#usr/lib/locale/it_IT/LC_IDENTIFICATION
-#usr/lib/locale/it_IT/LC_MEASUREMENT
-#usr/lib/locale/it_IT/LC_MESSAGES
-#usr/lib/locale/it_IT/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/it_IT/LC_MONETARY
-#usr/lib/locale/it_IT/LC_NAME
-#usr/lib/locale/it_IT/LC_NUMERIC
-#usr/lib/locale/it_IT/LC_PAPER
-#usr/lib/locale/it_IT/LC_TELEPHONE
-#usr/lib/locale/it_IT/LC_TIME
-#usr/lib/locale/it_IT@euro
-#usr/lib/locale/it_IT@euro/LC_ADDRESS
-#usr/lib/locale/it_IT@euro/LC_COLLATE
-#usr/lib/locale/it_IT@euro/LC_CTYPE
-#usr/lib/locale/it_IT@euro/LC_IDENTIFICATION
-#usr/lib/locale/it_IT@euro/LC_MEASUREMENT
-#usr/lib/locale/it_IT@euro/LC_MESSAGES
-#usr/lib/locale/it_IT@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/it_IT@euro/LC_MONETARY
-#usr/lib/locale/it_IT@euro/LC_NAME
-#usr/lib/locale/it_IT@euro/LC_NUMERIC
-#usr/lib/locale/it_IT@euro/LC_PAPER
-#usr/lib/locale/it_IT@euro/LC_TELEPHONE
-#usr/lib/locale/it_IT@euro/LC_TIME
-#usr/lib/locale/iu_CA
-#usr/lib/locale/iu_CA/LC_ADDRESS
-#usr/lib/locale/iu_CA/LC_COLLATE
-#usr/lib/locale/iu_CA/LC_CTYPE
-#usr/lib/locale/iu_CA/LC_IDENTIFICATION
-#usr/lib/locale/iu_CA/LC_MEASUREMENT
-#usr/lib/locale/iu_CA/LC_MESSAGES
-#usr/lib/locale/iu_CA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/iu_CA/LC_MONETARY
-#usr/lib/locale/iu_CA/LC_NAME
-#usr/lib/locale/iu_CA/LC_NUMERIC
-#usr/lib/locale/iu_CA/LC_PAPER
-#usr/lib/locale/iu_CA/LC_TELEPHONE
-#usr/lib/locale/iu_CA/LC_TIME
-#usr/lib/locale/iw_IL
-#usr/lib/locale/iw_IL.utf8
-#usr/lib/locale/iw_IL.utf8/LC_ADDRESS
-#usr/lib/locale/iw_IL.utf8/LC_COLLATE
-#usr/lib/locale/iw_IL.utf8/LC_CTYPE
-#usr/lib/locale/iw_IL.utf8/LC_IDENTIFICATION
-#usr/lib/locale/iw_IL.utf8/LC_MEASUREMENT
-#usr/lib/locale/iw_IL.utf8/LC_MESSAGES
-#usr/lib/locale/iw_IL.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/iw_IL.utf8/LC_MONETARY
-#usr/lib/locale/iw_IL.utf8/LC_NAME
-#usr/lib/locale/iw_IL.utf8/LC_NUMERIC
-#usr/lib/locale/iw_IL.utf8/LC_PAPER
-#usr/lib/locale/iw_IL.utf8/LC_TELEPHONE
-#usr/lib/locale/iw_IL.utf8/LC_TIME
-#usr/lib/locale/iw_IL/LC_ADDRESS
-#usr/lib/locale/iw_IL/LC_COLLATE
-#usr/lib/locale/iw_IL/LC_CTYPE
-#usr/lib/locale/iw_IL/LC_IDENTIFICATION
-#usr/lib/locale/iw_IL/LC_MEASUREMENT
-#usr/lib/locale/iw_IL/LC_MESSAGES
-#usr/lib/locale/iw_IL/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/iw_IL/LC_MONETARY
-#usr/lib/locale/iw_IL/LC_NAME
-#usr/lib/locale/iw_IL/LC_NUMERIC
-#usr/lib/locale/iw_IL/LC_PAPER
-#usr/lib/locale/iw_IL/LC_TELEPHONE
-#usr/lib/locale/iw_IL/LC_TIME
-#usr/lib/locale/ja_JP.eucjp
-#usr/lib/locale/ja_JP.eucjp/LC_ADDRESS
-#usr/lib/locale/ja_JP.eucjp/LC_COLLATE
-#usr/lib/locale/ja_JP.eucjp/LC_CTYPE
-#usr/lib/locale/ja_JP.eucjp/LC_IDENTIFICATION
-#usr/lib/locale/ja_JP.eucjp/LC_MEASUREMENT
-#usr/lib/locale/ja_JP.eucjp/LC_MESSAGES
-#usr/lib/locale/ja_JP.eucjp/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ja_JP.eucjp/LC_MONETARY
-#usr/lib/locale/ja_JP.eucjp/LC_NAME
-#usr/lib/locale/ja_JP.eucjp/LC_NUMERIC
-#usr/lib/locale/ja_JP.eucjp/LC_PAPER
-#usr/lib/locale/ja_JP.eucjp/LC_TELEPHONE
-#usr/lib/locale/ja_JP.eucjp/LC_TIME
-#usr/lib/locale/ja_JP.utf8
-#usr/lib/locale/ja_JP.utf8/LC_ADDRESS
-#usr/lib/locale/ja_JP.utf8/LC_COLLATE
-#usr/lib/locale/ja_JP.utf8/LC_CTYPE
-#usr/lib/locale/ja_JP.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ja_JP.utf8/LC_MEASUREMENT
-#usr/lib/locale/ja_JP.utf8/LC_MESSAGES
-#usr/lib/locale/ja_JP.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ja_JP.utf8/LC_MONETARY
-#usr/lib/locale/ja_JP.utf8/LC_NAME
-#usr/lib/locale/ja_JP.utf8/LC_NUMERIC
-#usr/lib/locale/ja_JP.utf8/LC_PAPER
-#usr/lib/locale/ja_JP.utf8/LC_TELEPHONE
-#usr/lib/locale/ja_JP.utf8/LC_TIME
-#usr/lib/locale/ka_GE
-#usr/lib/locale/ka_GE.utf8
-#usr/lib/locale/ka_GE.utf8/LC_ADDRESS
-#usr/lib/locale/ka_GE.utf8/LC_COLLATE
-#usr/lib/locale/ka_GE.utf8/LC_CTYPE
-#usr/lib/locale/ka_GE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ka_GE.utf8/LC_MEASUREMENT
-#usr/lib/locale/ka_GE.utf8/LC_MESSAGES
-#usr/lib/locale/ka_GE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ka_GE.utf8/LC_MONETARY
-#usr/lib/locale/ka_GE.utf8/LC_NAME
-#usr/lib/locale/ka_GE.utf8/LC_NUMERIC
-#usr/lib/locale/ka_GE.utf8/LC_PAPER
-#usr/lib/locale/ka_GE.utf8/LC_TELEPHONE
-#usr/lib/locale/ka_GE.utf8/LC_TIME
-#usr/lib/locale/ka_GE/LC_ADDRESS
-#usr/lib/locale/ka_GE/LC_COLLATE
-#usr/lib/locale/ka_GE/LC_CTYPE
-#usr/lib/locale/ka_GE/LC_IDENTIFICATION
-#usr/lib/locale/ka_GE/LC_MEASUREMENT
-#usr/lib/locale/ka_GE/LC_MESSAGES
-#usr/lib/locale/ka_GE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ka_GE/LC_MONETARY
-#usr/lib/locale/ka_GE/LC_NAME
-#usr/lib/locale/ka_GE/LC_NUMERIC
-#usr/lib/locale/ka_GE/LC_PAPER
-#usr/lib/locale/ka_GE/LC_TELEPHONE
-#usr/lib/locale/ka_GE/LC_TIME
-#usr/lib/locale/kk_KZ
-#usr/lib/locale/kk_KZ.utf8
-#usr/lib/locale/kk_KZ.utf8/LC_ADDRESS
-#usr/lib/locale/kk_KZ.utf8/LC_COLLATE
-#usr/lib/locale/kk_KZ.utf8/LC_CTYPE
-#usr/lib/locale/kk_KZ.utf8/LC_IDENTIFICATION
-#usr/lib/locale/kk_KZ.utf8/LC_MEASUREMENT
-#usr/lib/locale/kk_KZ.utf8/LC_MESSAGES
-#usr/lib/locale/kk_KZ.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/kk_KZ.utf8/LC_MONETARY
-#usr/lib/locale/kk_KZ.utf8/LC_NAME
-#usr/lib/locale/kk_KZ.utf8/LC_NUMERIC
-#usr/lib/locale/kk_KZ.utf8/LC_PAPER
-#usr/lib/locale/kk_KZ.utf8/LC_TELEPHONE
-#usr/lib/locale/kk_KZ.utf8/LC_TIME
-#usr/lib/locale/kk_KZ/LC_ADDRESS
-#usr/lib/locale/kk_KZ/LC_COLLATE
-#usr/lib/locale/kk_KZ/LC_CTYPE
-#usr/lib/locale/kk_KZ/LC_IDENTIFICATION
-#usr/lib/locale/kk_KZ/LC_MEASUREMENT
-#usr/lib/locale/kk_KZ/LC_MESSAGES
-#usr/lib/locale/kk_KZ/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/kk_KZ/LC_MONETARY
-#usr/lib/locale/kk_KZ/LC_NAME
-#usr/lib/locale/kk_KZ/LC_NUMERIC
-#usr/lib/locale/kk_KZ/LC_PAPER
-#usr/lib/locale/kk_KZ/LC_TELEPHONE
-#usr/lib/locale/kk_KZ/LC_TIME
-#usr/lib/locale/kl_GL
-#usr/lib/locale/kl_GL.utf8
-#usr/lib/locale/kl_GL.utf8/LC_ADDRESS
-#usr/lib/locale/kl_GL.utf8/LC_COLLATE
-#usr/lib/locale/kl_GL.utf8/LC_CTYPE
-#usr/lib/locale/kl_GL.utf8/LC_IDENTIFICATION
-#usr/lib/locale/kl_GL.utf8/LC_MEASUREMENT
-#usr/lib/locale/kl_GL.utf8/LC_MESSAGES
-#usr/lib/locale/kl_GL.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/kl_GL.utf8/LC_MONETARY
-#usr/lib/locale/kl_GL.utf8/LC_NAME
-#usr/lib/locale/kl_GL.utf8/LC_NUMERIC
-#usr/lib/locale/kl_GL.utf8/LC_PAPER
-#usr/lib/locale/kl_GL.utf8/LC_TELEPHONE
-#usr/lib/locale/kl_GL.utf8/LC_TIME
-#usr/lib/locale/kl_GL/LC_ADDRESS
-#usr/lib/locale/kl_GL/LC_COLLATE
-#usr/lib/locale/kl_GL/LC_CTYPE
-#usr/lib/locale/kl_GL/LC_IDENTIFICATION
-#usr/lib/locale/kl_GL/LC_MEASUREMENT
-#usr/lib/locale/kl_GL/LC_MESSAGES
-#usr/lib/locale/kl_GL/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/kl_GL/LC_MONETARY
-#usr/lib/locale/kl_GL/LC_NAME
-#usr/lib/locale/kl_GL/LC_NUMERIC
-#usr/lib/locale/kl_GL/LC_PAPER
-#usr/lib/locale/kl_GL/LC_TELEPHONE
-#usr/lib/locale/kl_GL/LC_TIME
-#usr/lib/locale/km_KH
-#usr/lib/locale/km_KH/LC_ADDRESS
-#usr/lib/locale/km_KH/LC_COLLATE
-#usr/lib/locale/km_KH/LC_CTYPE
-#usr/lib/locale/km_KH/LC_IDENTIFICATION
-#usr/lib/locale/km_KH/LC_MEASUREMENT
-#usr/lib/locale/km_KH/LC_MESSAGES
-#usr/lib/locale/km_KH/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/km_KH/LC_MONETARY
-#usr/lib/locale/km_KH/LC_NAME
-#usr/lib/locale/km_KH/LC_NUMERIC
-#usr/lib/locale/km_KH/LC_PAPER
-#usr/lib/locale/km_KH/LC_TELEPHONE
-#usr/lib/locale/km_KH/LC_TIME
-#usr/lib/locale/kn_IN
-#usr/lib/locale/kn_IN/LC_ADDRESS
-#usr/lib/locale/kn_IN/LC_COLLATE
-#usr/lib/locale/kn_IN/LC_CTYPE
-#usr/lib/locale/kn_IN/LC_IDENTIFICATION
-#usr/lib/locale/kn_IN/LC_MEASUREMENT
-#usr/lib/locale/kn_IN/LC_MESSAGES
-#usr/lib/locale/kn_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/kn_IN/LC_MONETARY
-#usr/lib/locale/kn_IN/LC_NAME
-#usr/lib/locale/kn_IN/LC_NUMERIC
-#usr/lib/locale/kn_IN/LC_PAPER
-#usr/lib/locale/kn_IN/LC_TELEPHONE
-#usr/lib/locale/kn_IN/LC_TIME
-#usr/lib/locale/ko_KR.euckr
-#usr/lib/locale/ko_KR.euckr/LC_ADDRESS
-#usr/lib/locale/ko_KR.euckr/LC_COLLATE
-#usr/lib/locale/ko_KR.euckr/LC_CTYPE
-#usr/lib/locale/ko_KR.euckr/LC_IDENTIFICATION
-#usr/lib/locale/ko_KR.euckr/LC_MEASUREMENT
-#usr/lib/locale/ko_KR.euckr/LC_MESSAGES
-#usr/lib/locale/ko_KR.euckr/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ko_KR.euckr/LC_MONETARY
-#usr/lib/locale/ko_KR.euckr/LC_NAME
-#usr/lib/locale/ko_KR.euckr/LC_NUMERIC
-#usr/lib/locale/ko_KR.euckr/LC_PAPER
-#usr/lib/locale/ko_KR.euckr/LC_TELEPHONE
-#usr/lib/locale/ko_KR.euckr/LC_TIME
-#usr/lib/locale/ko_KR.utf8
-#usr/lib/locale/ko_KR.utf8/LC_ADDRESS
-#usr/lib/locale/ko_KR.utf8/LC_COLLATE
-#usr/lib/locale/ko_KR.utf8/LC_CTYPE
-#usr/lib/locale/ko_KR.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ko_KR.utf8/LC_MEASUREMENT
-#usr/lib/locale/ko_KR.utf8/LC_MESSAGES
-#usr/lib/locale/ko_KR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ko_KR.utf8/LC_MONETARY
-#usr/lib/locale/ko_KR.utf8/LC_NAME
-#usr/lib/locale/ko_KR.utf8/LC_NUMERIC
-#usr/lib/locale/ko_KR.utf8/LC_PAPER
-#usr/lib/locale/ko_KR.utf8/LC_TELEPHONE
-#usr/lib/locale/ko_KR.utf8/LC_TIME
-#usr/lib/locale/kok_IN
-#usr/lib/locale/kok_IN/LC_ADDRESS
-#usr/lib/locale/kok_IN/LC_COLLATE
-#usr/lib/locale/kok_IN/LC_CTYPE
-#usr/lib/locale/kok_IN/LC_IDENTIFICATION
-#usr/lib/locale/kok_IN/LC_MEASUREMENT
-#usr/lib/locale/kok_IN/LC_MESSAGES
-#usr/lib/locale/kok_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/kok_IN/LC_MONETARY
-#usr/lib/locale/kok_IN/LC_NAME
-#usr/lib/locale/kok_IN/LC_NUMERIC
-#usr/lib/locale/kok_IN/LC_PAPER
-#usr/lib/locale/kok_IN/LC_TELEPHONE
-#usr/lib/locale/kok_IN/LC_TIME
-#usr/lib/locale/ks_IN
-#usr/lib/locale/ks_IN/LC_ADDRESS
-#usr/lib/locale/ks_IN/LC_COLLATE
-#usr/lib/locale/ks_IN/LC_CTYPE
-#usr/lib/locale/ks_IN/LC_IDENTIFICATION
-#usr/lib/locale/ks_IN/LC_MEASUREMENT
-#usr/lib/locale/ks_IN/LC_MESSAGES
-#usr/lib/locale/ks_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ks_IN/LC_MONETARY
-#usr/lib/locale/ks_IN/LC_NAME
-#usr/lib/locale/ks_IN/LC_NUMERIC
-#usr/lib/locale/ks_IN/LC_PAPER
-#usr/lib/locale/ks_IN/LC_TELEPHONE
-#usr/lib/locale/ks_IN/LC_TIME
-#usr/lib/locale/ks_IN@devanagari
-#usr/lib/locale/ks_IN@devanagari/LC_ADDRESS
-#usr/lib/locale/ks_IN@devanagari/LC_COLLATE
-#usr/lib/locale/ks_IN@devanagari/LC_CTYPE
-#usr/lib/locale/ks_IN@devanagari/LC_IDENTIFICATION
-#usr/lib/locale/ks_IN@devanagari/LC_MEASUREMENT
-#usr/lib/locale/ks_IN@devanagari/LC_MESSAGES
-#usr/lib/locale/ks_IN@devanagari/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ks_IN@devanagari/LC_MONETARY
-#usr/lib/locale/ks_IN@devanagari/LC_NAME
-#usr/lib/locale/ks_IN@devanagari/LC_NUMERIC
-#usr/lib/locale/ks_IN@devanagari/LC_PAPER
-#usr/lib/locale/ks_IN@devanagari/LC_TELEPHONE
-#usr/lib/locale/ks_IN@devanagari/LC_TIME
-#usr/lib/locale/ku_TR
-#usr/lib/locale/ku_TR.utf8
-#usr/lib/locale/ku_TR.utf8/LC_ADDRESS
-#usr/lib/locale/ku_TR.utf8/LC_COLLATE
-#usr/lib/locale/ku_TR.utf8/LC_CTYPE
-#usr/lib/locale/ku_TR.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ku_TR.utf8/LC_MEASUREMENT
-#usr/lib/locale/ku_TR.utf8/LC_MESSAGES
-#usr/lib/locale/ku_TR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ku_TR.utf8/LC_MONETARY
-#usr/lib/locale/ku_TR.utf8/LC_NAME
-#usr/lib/locale/ku_TR.utf8/LC_NUMERIC
-#usr/lib/locale/ku_TR.utf8/LC_PAPER
-#usr/lib/locale/ku_TR.utf8/LC_TELEPHONE
-#usr/lib/locale/ku_TR.utf8/LC_TIME
-#usr/lib/locale/ku_TR/LC_ADDRESS
-#usr/lib/locale/ku_TR/LC_COLLATE
-#usr/lib/locale/ku_TR/LC_CTYPE
-#usr/lib/locale/ku_TR/LC_IDENTIFICATION
-#usr/lib/locale/ku_TR/LC_MEASUREMENT
-#usr/lib/locale/ku_TR/LC_MESSAGES
-#usr/lib/locale/ku_TR/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ku_TR/LC_MONETARY
-#usr/lib/locale/ku_TR/LC_NAME
-#usr/lib/locale/ku_TR/LC_NUMERIC
-#usr/lib/locale/ku_TR/LC_PAPER
-#usr/lib/locale/ku_TR/LC_TELEPHONE
-#usr/lib/locale/ku_TR/LC_TIME
-#usr/lib/locale/kw_GB
-#usr/lib/locale/kw_GB.utf8
-#usr/lib/locale/kw_GB.utf8/LC_ADDRESS
-#usr/lib/locale/kw_GB.utf8/LC_COLLATE
-#usr/lib/locale/kw_GB.utf8/LC_CTYPE
-#usr/lib/locale/kw_GB.utf8/LC_IDENTIFICATION
-#usr/lib/locale/kw_GB.utf8/LC_MEASUREMENT
-#usr/lib/locale/kw_GB.utf8/LC_MESSAGES
-#usr/lib/locale/kw_GB.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/kw_GB.utf8/LC_MONETARY
-#usr/lib/locale/kw_GB.utf8/LC_NAME
-#usr/lib/locale/kw_GB.utf8/LC_NUMERIC
-#usr/lib/locale/kw_GB.utf8/LC_PAPER
-#usr/lib/locale/kw_GB.utf8/LC_TELEPHONE
-#usr/lib/locale/kw_GB.utf8/LC_TIME
-#usr/lib/locale/kw_GB/LC_ADDRESS
-#usr/lib/locale/kw_GB/LC_COLLATE
-#usr/lib/locale/kw_GB/LC_CTYPE
-#usr/lib/locale/kw_GB/LC_IDENTIFICATION
-#usr/lib/locale/kw_GB/LC_MEASUREMENT
-#usr/lib/locale/kw_GB/LC_MESSAGES
-#usr/lib/locale/kw_GB/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/kw_GB/LC_MONETARY
-#usr/lib/locale/kw_GB/LC_NAME
-#usr/lib/locale/kw_GB/LC_NUMERIC
-#usr/lib/locale/kw_GB/LC_PAPER
-#usr/lib/locale/kw_GB/LC_TELEPHONE
-#usr/lib/locale/kw_GB/LC_TIME
-#usr/lib/locale/ky_KG
-#usr/lib/locale/ky_KG/LC_ADDRESS
-#usr/lib/locale/ky_KG/LC_COLLATE
-#usr/lib/locale/ky_KG/LC_CTYPE
-#usr/lib/locale/ky_KG/LC_IDENTIFICATION
-#usr/lib/locale/ky_KG/LC_MEASUREMENT
-#usr/lib/locale/ky_KG/LC_MESSAGES
-#usr/lib/locale/ky_KG/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ky_KG/LC_MONETARY
-#usr/lib/locale/ky_KG/LC_NAME
-#usr/lib/locale/ky_KG/LC_NUMERIC
-#usr/lib/locale/ky_KG/LC_PAPER
-#usr/lib/locale/ky_KG/LC_TELEPHONE
-#usr/lib/locale/ky_KG/LC_TIME
-#usr/lib/locale/lg_UG
-#usr/lib/locale/lg_UG.utf8
-#usr/lib/locale/lg_UG.utf8/LC_ADDRESS
-#usr/lib/locale/lg_UG.utf8/LC_COLLATE
-#usr/lib/locale/lg_UG.utf8/LC_CTYPE
-#usr/lib/locale/lg_UG.utf8/LC_IDENTIFICATION
-#usr/lib/locale/lg_UG.utf8/LC_MEASUREMENT
-#usr/lib/locale/lg_UG.utf8/LC_MESSAGES
-#usr/lib/locale/lg_UG.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/lg_UG.utf8/LC_MONETARY
-#usr/lib/locale/lg_UG.utf8/LC_NAME
-#usr/lib/locale/lg_UG.utf8/LC_NUMERIC
-#usr/lib/locale/lg_UG.utf8/LC_PAPER
-#usr/lib/locale/lg_UG.utf8/LC_TELEPHONE
-#usr/lib/locale/lg_UG.utf8/LC_TIME
-#usr/lib/locale/lg_UG/LC_ADDRESS
-#usr/lib/locale/lg_UG/LC_COLLATE
-#usr/lib/locale/lg_UG/LC_CTYPE
-#usr/lib/locale/lg_UG/LC_IDENTIFICATION
-#usr/lib/locale/lg_UG/LC_MEASUREMENT
-#usr/lib/locale/lg_UG/LC_MESSAGES
-#usr/lib/locale/lg_UG/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/lg_UG/LC_MONETARY
-#usr/lib/locale/lg_UG/LC_NAME
-#usr/lib/locale/lg_UG/LC_NUMERIC
-#usr/lib/locale/lg_UG/LC_PAPER
-#usr/lib/locale/lg_UG/LC_TELEPHONE
-#usr/lib/locale/lg_UG/LC_TIME
-#usr/lib/locale/li_BE
-#usr/lib/locale/li_BE/LC_ADDRESS
-#usr/lib/locale/li_BE/LC_COLLATE
-#usr/lib/locale/li_BE/LC_CTYPE
-#usr/lib/locale/li_BE/LC_IDENTIFICATION
-#usr/lib/locale/li_BE/LC_MEASUREMENT
-#usr/lib/locale/li_BE/LC_MESSAGES
-#usr/lib/locale/li_BE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/li_BE/LC_MONETARY
-#usr/lib/locale/li_BE/LC_NAME
-#usr/lib/locale/li_BE/LC_NUMERIC
-#usr/lib/locale/li_BE/LC_PAPER
-#usr/lib/locale/li_BE/LC_TELEPHONE
-#usr/lib/locale/li_BE/LC_TIME
-#usr/lib/locale/li_NL
-#usr/lib/locale/li_NL/LC_ADDRESS
-#usr/lib/locale/li_NL/LC_COLLATE
-#usr/lib/locale/li_NL/LC_CTYPE
-#usr/lib/locale/li_NL/LC_IDENTIFICATION
-#usr/lib/locale/li_NL/LC_MEASUREMENT
-#usr/lib/locale/li_NL/LC_MESSAGES
-#usr/lib/locale/li_NL/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/li_NL/LC_MONETARY
-#usr/lib/locale/li_NL/LC_NAME
-#usr/lib/locale/li_NL/LC_NUMERIC
-#usr/lib/locale/li_NL/LC_PAPER
-#usr/lib/locale/li_NL/LC_TELEPHONE
-#usr/lib/locale/li_NL/LC_TIME
-#usr/lib/locale/lo_LA
-#usr/lib/locale/lo_LA/LC_ADDRESS
-#usr/lib/locale/lo_LA/LC_COLLATE
-#usr/lib/locale/lo_LA/LC_CTYPE
-#usr/lib/locale/lo_LA/LC_IDENTIFICATION
-#usr/lib/locale/lo_LA/LC_MEASUREMENT
-#usr/lib/locale/lo_LA/LC_MESSAGES
-#usr/lib/locale/lo_LA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/lo_LA/LC_MONETARY
-#usr/lib/locale/lo_LA/LC_NAME
-#usr/lib/locale/lo_LA/LC_NUMERIC
-#usr/lib/locale/lo_LA/LC_PAPER
-#usr/lib/locale/lo_LA/LC_TELEPHONE
-#usr/lib/locale/lo_LA/LC_TIME
-#usr/lib/locale/lt_LT
-#usr/lib/locale/lt_LT.utf8
-#usr/lib/locale/lt_LT.utf8/LC_ADDRESS
-#usr/lib/locale/lt_LT.utf8/LC_COLLATE
-#usr/lib/locale/lt_LT.utf8/LC_CTYPE
-#usr/lib/locale/lt_LT.utf8/LC_IDENTIFICATION
-#usr/lib/locale/lt_LT.utf8/LC_MEASUREMENT
-#usr/lib/locale/lt_LT.utf8/LC_MESSAGES
-#usr/lib/locale/lt_LT.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/lt_LT.utf8/LC_MONETARY
-#usr/lib/locale/lt_LT.utf8/LC_NAME
-#usr/lib/locale/lt_LT.utf8/LC_NUMERIC
-#usr/lib/locale/lt_LT.utf8/LC_PAPER
-#usr/lib/locale/lt_LT.utf8/LC_TELEPHONE
-#usr/lib/locale/lt_LT.utf8/LC_TIME
-#usr/lib/locale/lt_LT/LC_ADDRESS
-#usr/lib/locale/lt_LT/LC_COLLATE
-#usr/lib/locale/lt_LT/LC_CTYPE
-#usr/lib/locale/lt_LT/LC_IDENTIFICATION
-#usr/lib/locale/lt_LT/LC_MEASUREMENT
-#usr/lib/locale/lt_LT/LC_MESSAGES
-#usr/lib/locale/lt_LT/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/lt_LT/LC_MONETARY
-#usr/lib/locale/lt_LT/LC_NAME
-#usr/lib/locale/lt_LT/LC_NUMERIC
-#usr/lib/locale/lt_LT/LC_PAPER
-#usr/lib/locale/lt_LT/LC_TELEPHONE
-#usr/lib/locale/lt_LT/LC_TIME
-#usr/lib/locale/lv_LV
-#usr/lib/locale/lv_LV.utf8
-#usr/lib/locale/lv_LV.utf8/LC_ADDRESS
-#usr/lib/locale/lv_LV.utf8/LC_COLLATE
-#usr/lib/locale/lv_LV.utf8/LC_CTYPE
-#usr/lib/locale/lv_LV.utf8/LC_IDENTIFICATION
-#usr/lib/locale/lv_LV.utf8/LC_MEASUREMENT
-#usr/lib/locale/lv_LV.utf8/LC_MESSAGES
-#usr/lib/locale/lv_LV.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/lv_LV.utf8/LC_MONETARY
-#usr/lib/locale/lv_LV.utf8/LC_NAME
-#usr/lib/locale/lv_LV.utf8/LC_NUMERIC
-#usr/lib/locale/lv_LV.utf8/LC_PAPER
-#usr/lib/locale/lv_LV.utf8/LC_TELEPHONE
-#usr/lib/locale/lv_LV.utf8/LC_TIME
-#usr/lib/locale/lv_LV/LC_ADDRESS
-#usr/lib/locale/lv_LV/LC_COLLATE
-#usr/lib/locale/lv_LV/LC_CTYPE
-#usr/lib/locale/lv_LV/LC_IDENTIFICATION
-#usr/lib/locale/lv_LV/LC_MEASUREMENT
-#usr/lib/locale/lv_LV/LC_MESSAGES
-#usr/lib/locale/lv_LV/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/lv_LV/LC_MONETARY
-#usr/lib/locale/lv_LV/LC_NAME
-#usr/lib/locale/lv_LV/LC_NUMERIC
-#usr/lib/locale/lv_LV/LC_PAPER
-#usr/lib/locale/lv_LV/LC_TELEPHONE
-#usr/lib/locale/lv_LV/LC_TIME
-#usr/lib/locale/mai_IN
-#usr/lib/locale/mai_IN/LC_ADDRESS
-#usr/lib/locale/mai_IN/LC_COLLATE
-#usr/lib/locale/mai_IN/LC_CTYPE
-#usr/lib/locale/mai_IN/LC_IDENTIFICATION
-#usr/lib/locale/mai_IN/LC_MEASUREMENT
-#usr/lib/locale/mai_IN/LC_MESSAGES
-#usr/lib/locale/mai_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/mai_IN/LC_MONETARY
-#usr/lib/locale/mai_IN/LC_NAME
-#usr/lib/locale/mai_IN/LC_NUMERIC
-#usr/lib/locale/mai_IN/LC_PAPER
-#usr/lib/locale/mai_IN/LC_TELEPHONE
-#usr/lib/locale/mai_IN/LC_TIME
-#usr/lib/locale/mg_MG
-#usr/lib/locale/mg_MG.utf8
-#usr/lib/locale/mg_MG.utf8/LC_ADDRESS
-#usr/lib/locale/mg_MG.utf8/LC_COLLATE
-#usr/lib/locale/mg_MG.utf8/LC_CTYPE
-#usr/lib/locale/mg_MG.utf8/LC_IDENTIFICATION
-#usr/lib/locale/mg_MG.utf8/LC_MEASUREMENT
-#usr/lib/locale/mg_MG.utf8/LC_MESSAGES
-#usr/lib/locale/mg_MG.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/mg_MG.utf8/LC_MONETARY
-#usr/lib/locale/mg_MG.utf8/LC_NAME
-#usr/lib/locale/mg_MG.utf8/LC_NUMERIC
-#usr/lib/locale/mg_MG.utf8/LC_PAPER
-#usr/lib/locale/mg_MG.utf8/LC_TELEPHONE
-#usr/lib/locale/mg_MG.utf8/LC_TIME
-#usr/lib/locale/mg_MG/LC_ADDRESS
-#usr/lib/locale/mg_MG/LC_COLLATE
-#usr/lib/locale/mg_MG/LC_CTYPE
-#usr/lib/locale/mg_MG/LC_IDENTIFICATION
-#usr/lib/locale/mg_MG/LC_MEASUREMENT
-#usr/lib/locale/mg_MG/LC_MESSAGES
-#usr/lib/locale/mg_MG/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/mg_MG/LC_MONETARY
-#usr/lib/locale/mg_MG/LC_NAME
-#usr/lib/locale/mg_MG/LC_NUMERIC
-#usr/lib/locale/mg_MG/LC_PAPER
-#usr/lib/locale/mg_MG/LC_TELEPHONE
-#usr/lib/locale/mg_MG/LC_TIME
-#usr/lib/locale/mi_NZ
-#usr/lib/locale/mi_NZ.utf8
-#usr/lib/locale/mi_NZ.utf8/LC_ADDRESS
-#usr/lib/locale/mi_NZ.utf8/LC_COLLATE
-#usr/lib/locale/mi_NZ.utf8/LC_CTYPE
-#usr/lib/locale/mi_NZ.utf8/LC_IDENTIFICATION
-#usr/lib/locale/mi_NZ.utf8/LC_MEASUREMENT
-#usr/lib/locale/mi_NZ.utf8/LC_MESSAGES
-#usr/lib/locale/mi_NZ.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/mi_NZ.utf8/LC_MONETARY
-#usr/lib/locale/mi_NZ.utf8/LC_NAME
-#usr/lib/locale/mi_NZ.utf8/LC_NUMERIC
-#usr/lib/locale/mi_NZ.utf8/LC_PAPER
-#usr/lib/locale/mi_NZ.utf8/LC_TELEPHONE
-#usr/lib/locale/mi_NZ.utf8/LC_TIME
-#usr/lib/locale/mi_NZ/LC_ADDRESS
-#usr/lib/locale/mi_NZ/LC_COLLATE
-#usr/lib/locale/mi_NZ/LC_CTYPE
-#usr/lib/locale/mi_NZ/LC_IDENTIFICATION
-#usr/lib/locale/mi_NZ/LC_MEASUREMENT
-#usr/lib/locale/mi_NZ/LC_MESSAGES
-#usr/lib/locale/mi_NZ/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/mi_NZ/LC_MONETARY
-#usr/lib/locale/mi_NZ/LC_NAME
-#usr/lib/locale/mi_NZ/LC_NUMERIC
-#usr/lib/locale/mi_NZ/LC_PAPER
-#usr/lib/locale/mi_NZ/LC_TELEPHONE
-#usr/lib/locale/mi_NZ/LC_TIME
-#usr/lib/locale/mk_MK
-#usr/lib/locale/mk_MK.utf8
-#usr/lib/locale/mk_MK.utf8/LC_ADDRESS
-#usr/lib/locale/mk_MK.utf8/LC_COLLATE
-#usr/lib/locale/mk_MK.utf8/LC_CTYPE
-#usr/lib/locale/mk_MK.utf8/LC_IDENTIFICATION
-#usr/lib/locale/mk_MK.utf8/LC_MEASUREMENT
-#usr/lib/locale/mk_MK.utf8/LC_MESSAGES
-#usr/lib/locale/mk_MK.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/mk_MK.utf8/LC_MONETARY
-#usr/lib/locale/mk_MK.utf8/LC_NAME
-#usr/lib/locale/mk_MK.utf8/LC_NUMERIC
-#usr/lib/locale/mk_MK.utf8/LC_PAPER
-#usr/lib/locale/mk_MK.utf8/LC_TELEPHONE
-#usr/lib/locale/mk_MK.utf8/LC_TIME
-#usr/lib/locale/mk_MK/LC_ADDRESS
-#usr/lib/locale/mk_MK/LC_COLLATE
-#usr/lib/locale/mk_MK/LC_CTYPE
-#usr/lib/locale/mk_MK/LC_IDENTIFICATION
-#usr/lib/locale/mk_MK/LC_MEASUREMENT
-#usr/lib/locale/mk_MK/LC_MESSAGES
-#usr/lib/locale/mk_MK/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/mk_MK/LC_MONETARY
-#usr/lib/locale/mk_MK/LC_NAME
-#usr/lib/locale/mk_MK/LC_NUMERIC
-#usr/lib/locale/mk_MK/LC_PAPER
-#usr/lib/locale/mk_MK/LC_TELEPHONE
-#usr/lib/locale/mk_MK/LC_TIME
-#usr/lib/locale/ml_IN
-#usr/lib/locale/ml_IN/LC_ADDRESS
-#usr/lib/locale/ml_IN/LC_COLLATE
-#usr/lib/locale/ml_IN/LC_CTYPE
-#usr/lib/locale/ml_IN/LC_IDENTIFICATION
-#usr/lib/locale/ml_IN/LC_MEASUREMENT
-#usr/lib/locale/ml_IN/LC_MESSAGES
-#usr/lib/locale/ml_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ml_IN/LC_MONETARY
-#usr/lib/locale/ml_IN/LC_NAME
-#usr/lib/locale/ml_IN/LC_NUMERIC
-#usr/lib/locale/ml_IN/LC_PAPER
-#usr/lib/locale/ml_IN/LC_TELEPHONE
-#usr/lib/locale/ml_IN/LC_TIME
-#usr/lib/locale/mn_MN
-#usr/lib/locale/mn_MN/LC_ADDRESS
-#usr/lib/locale/mn_MN/LC_COLLATE
-#usr/lib/locale/mn_MN/LC_CTYPE
-#usr/lib/locale/mn_MN/LC_IDENTIFICATION
-#usr/lib/locale/mn_MN/LC_MEASUREMENT
-#usr/lib/locale/mn_MN/LC_MESSAGES
-#usr/lib/locale/mn_MN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/mn_MN/LC_MONETARY
-#usr/lib/locale/mn_MN/LC_NAME
-#usr/lib/locale/mn_MN/LC_NUMERIC
-#usr/lib/locale/mn_MN/LC_PAPER
-#usr/lib/locale/mn_MN/LC_TELEPHONE
-#usr/lib/locale/mn_MN/LC_TIME
-#usr/lib/locale/mr_IN
-#usr/lib/locale/mr_IN/LC_ADDRESS
-#usr/lib/locale/mr_IN/LC_COLLATE
-#usr/lib/locale/mr_IN/LC_CTYPE
-#usr/lib/locale/mr_IN/LC_IDENTIFICATION
-#usr/lib/locale/mr_IN/LC_MEASUREMENT
-#usr/lib/locale/mr_IN/LC_MESSAGES
-#usr/lib/locale/mr_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/mr_IN/LC_MONETARY
-#usr/lib/locale/mr_IN/LC_NAME
-#usr/lib/locale/mr_IN/LC_NUMERIC
-#usr/lib/locale/mr_IN/LC_PAPER
-#usr/lib/locale/mr_IN/LC_TELEPHONE
-#usr/lib/locale/mr_IN/LC_TIME
-#usr/lib/locale/ms_MY
-#usr/lib/locale/ms_MY.utf8
-#usr/lib/locale/ms_MY.utf8/LC_ADDRESS
-#usr/lib/locale/ms_MY.utf8/LC_COLLATE
-#usr/lib/locale/ms_MY.utf8/LC_CTYPE
-#usr/lib/locale/ms_MY.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ms_MY.utf8/LC_MEASUREMENT
-#usr/lib/locale/ms_MY.utf8/LC_MESSAGES
-#usr/lib/locale/ms_MY.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ms_MY.utf8/LC_MONETARY
-#usr/lib/locale/ms_MY.utf8/LC_NAME
-#usr/lib/locale/ms_MY.utf8/LC_NUMERIC
-#usr/lib/locale/ms_MY.utf8/LC_PAPER
-#usr/lib/locale/ms_MY.utf8/LC_TELEPHONE
-#usr/lib/locale/ms_MY.utf8/LC_TIME
-#usr/lib/locale/ms_MY/LC_ADDRESS
-#usr/lib/locale/ms_MY/LC_COLLATE
-#usr/lib/locale/ms_MY/LC_CTYPE
-#usr/lib/locale/ms_MY/LC_IDENTIFICATION
-#usr/lib/locale/ms_MY/LC_MEASUREMENT
-#usr/lib/locale/ms_MY/LC_MESSAGES
-#usr/lib/locale/ms_MY/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ms_MY/LC_MONETARY
-#usr/lib/locale/ms_MY/LC_NAME
-#usr/lib/locale/ms_MY/LC_NUMERIC
-#usr/lib/locale/ms_MY/LC_PAPER
-#usr/lib/locale/ms_MY/LC_TELEPHONE
-#usr/lib/locale/ms_MY/LC_TIME
-#usr/lib/locale/mt_MT
-#usr/lib/locale/mt_MT.utf8
-#usr/lib/locale/mt_MT.utf8/LC_ADDRESS
-#usr/lib/locale/mt_MT.utf8/LC_COLLATE
-#usr/lib/locale/mt_MT.utf8/LC_CTYPE
-#usr/lib/locale/mt_MT.utf8/LC_IDENTIFICATION
-#usr/lib/locale/mt_MT.utf8/LC_MEASUREMENT
-#usr/lib/locale/mt_MT.utf8/LC_MESSAGES
-#usr/lib/locale/mt_MT.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/mt_MT.utf8/LC_MONETARY
-#usr/lib/locale/mt_MT.utf8/LC_NAME
-#usr/lib/locale/mt_MT.utf8/LC_NUMERIC
-#usr/lib/locale/mt_MT.utf8/LC_PAPER
-#usr/lib/locale/mt_MT.utf8/LC_TELEPHONE
-#usr/lib/locale/mt_MT.utf8/LC_TIME
-#usr/lib/locale/mt_MT/LC_ADDRESS
-#usr/lib/locale/mt_MT/LC_COLLATE
-#usr/lib/locale/mt_MT/LC_CTYPE
-#usr/lib/locale/mt_MT/LC_IDENTIFICATION
-#usr/lib/locale/mt_MT/LC_MEASUREMENT
-#usr/lib/locale/mt_MT/LC_MESSAGES
-#usr/lib/locale/mt_MT/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/mt_MT/LC_MONETARY
-#usr/lib/locale/mt_MT/LC_NAME
-#usr/lib/locale/mt_MT/LC_NUMERIC
-#usr/lib/locale/mt_MT/LC_PAPER
-#usr/lib/locale/mt_MT/LC_TELEPHONE
-#usr/lib/locale/mt_MT/LC_TIME
-#usr/lib/locale/my_MM
-#usr/lib/locale/my_MM/LC_ADDRESS
-#usr/lib/locale/my_MM/LC_COLLATE
-#usr/lib/locale/my_MM/LC_CTYPE
-#usr/lib/locale/my_MM/LC_IDENTIFICATION
-#usr/lib/locale/my_MM/LC_MEASUREMENT
-#usr/lib/locale/my_MM/LC_MESSAGES
-#usr/lib/locale/my_MM/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/my_MM/LC_MONETARY
-#usr/lib/locale/my_MM/LC_NAME
-#usr/lib/locale/my_MM/LC_NUMERIC
-#usr/lib/locale/my_MM/LC_PAPER
-#usr/lib/locale/my_MM/LC_TELEPHONE
-#usr/lib/locale/my_MM/LC_TIME
-#usr/lib/locale/nan_TW@latin
-#usr/lib/locale/nan_TW@latin/LC_ADDRESS
-#usr/lib/locale/nan_TW@latin/LC_COLLATE
-#usr/lib/locale/nan_TW@latin/LC_CTYPE
-#usr/lib/locale/nan_TW@latin/LC_IDENTIFICATION
-#usr/lib/locale/nan_TW@latin/LC_MEASUREMENT
-#usr/lib/locale/nan_TW@latin/LC_MESSAGES
-#usr/lib/locale/nan_TW@latin/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nan_TW@latin/LC_MONETARY
-#usr/lib/locale/nan_TW@latin/LC_NAME
-#usr/lib/locale/nan_TW@latin/LC_NUMERIC
-#usr/lib/locale/nan_TW@latin/LC_PAPER
-#usr/lib/locale/nan_TW@latin/LC_TELEPHONE
-#usr/lib/locale/nan_TW@latin/LC_TIME
-#usr/lib/locale/nb_NO
-#usr/lib/locale/nb_NO.utf8
-#usr/lib/locale/nb_NO.utf8/LC_ADDRESS
-#usr/lib/locale/nb_NO.utf8/LC_COLLATE
-#usr/lib/locale/nb_NO.utf8/LC_CTYPE
-#usr/lib/locale/nb_NO.utf8/LC_IDENTIFICATION
-#usr/lib/locale/nb_NO.utf8/LC_MEASUREMENT
-#usr/lib/locale/nb_NO.utf8/LC_MESSAGES
-#usr/lib/locale/nb_NO.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nb_NO.utf8/LC_MONETARY
-#usr/lib/locale/nb_NO.utf8/LC_NAME
-#usr/lib/locale/nb_NO.utf8/LC_NUMERIC
-#usr/lib/locale/nb_NO.utf8/LC_PAPER
-#usr/lib/locale/nb_NO.utf8/LC_TELEPHONE
-#usr/lib/locale/nb_NO.utf8/LC_TIME
-#usr/lib/locale/nb_NO/LC_ADDRESS
-#usr/lib/locale/nb_NO/LC_COLLATE
-#usr/lib/locale/nb_NO/LC_CTYPE
-#usr/lib/locale/nb_NO/LC_IDENTIFICATION
-#usr/lib/locale/nb_NO/LC_MEASUREMENT
-#usr/lib/locale/nb_NO/LC_MESSAGES
-#usr/lib/locale/nb_NO/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nb_NO/LC_MONETARY
-#usr/lib/locale/nb_NO/LC_NAME
-#usr/lib/locale/nb_NO/LC_NUMERIC
-#usr/lib/locale/nb_NO/LC_PAPER
-#usr/lib/locale/nb_NO/LC_TELEPHONE
-#usr/lib/locale/nb_NO/LC_TIME
-#usr/lib/locale/nds_DE
-#usr/lib/locale/nds_DE/LC_ADDRESS
-#usr/lib/locale/nds_DE/LC_COLLATE
-#usr/lib/locale/nds_DE/LC_CTYPE
-#usr/lib/locale/nds_DE/LC_IDENTIFICATION
-#usr/lib/locale/nds_DE/LC_MEASUREMENT
-#usr/lib/locale/nds_DE/LC_MESSAGES
-#usr/lib/locale/nds_DE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nds_DE/LC_MONETARY
-#usr/lib/locale/nds_DE/LC_NAME
-#usr/lib/locale/nds_DE/LC_NUMERIC
-#usr/lib/locale/nds_DE/LC_PAPER
-#usr/lib/locale/nds_DE/LC_TELEPHONE
-#usr/lib/locale/nds_DE/LC_TIME
-#usr/lib/locale/nds_NL
-#usr/lib/locale/nds_NL/LC_ADDRESS
-#usr/lib/locale/nds_NL/LC_COLLATE
-#usr/lib/locale/nds_NL/LC_CTYPE
-#usr/lib/locale/nds_NL/LC_IDENTIFICATION
-#usr/lib/locale/nds_NL/LC_MEASUREMENT
-#usr/lib/locale/nds_NL/LC_MESSAGES
-#usr/lib/locale/nds_NL/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nds_NL/LC_MONETARY
-#usr/lib/locale/nds_NL/LC_NAME
-#usr/lib/locale/nds_NL/LC_NUMERIC
-#usr/lib/locale/nds_NL/LC_PAPER
-#usr/lib/locale/nds_NL/LC_TELEPHONE
-#usr/lib/locale/nds_NL/LC_TIME
-#usr/lib/locale/ne_NP
-#usr/lib/locale/ne_NP/LC_ADDRESS
-#usr/lib/locale/ne_NP/LC_COLLATE
-#usr/lib/locale/ne_NP/LC_CTYPE
-#usr/lib/locale/ne_NP/LC_IDENTIFICATION
-#usr/lib/locale/ne_NP/LC_MEASUREMENT
-#usr/lib/locale/ne_NP/LC_MESSAGES
-#usr/lib/locale/ne_NP/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ne_NP/LC_MONETARY
-#usr/lib/locale/ne_NP/LC_NAME
-#usr/lib/locale/ne_NP/LC_NUMERIC
-#usr/lib/locale/ne_NP/LC_PAPER
-#usr/lib/locale/ne_NP/LC_TELEPHONE
-#usr/lib/locale/ne_NP/LC_TIME
-#usr/lib/locale/nl_AW
-#usr/lib/locale/nl_AW/LC_ADDRESS
-#usr/lib/locale/nl_AW/LC_COLLATE
-#usr/lib/locale/nl_AW/LC_CTYPE
-#usr/lib/locale/nl_AW/LC_IDENTIFICATION
-#usr/lib/locale/nl_AW/LC_MEASUREMENT
-#usr/lib/locale/nl_AW/LC_MESSAGES
-#usr/lib/locale/nl_AW/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nl_AW/LC_MONETARY
-#usr/lib/locale/nl_AW/LC_NAME
-#usr/lib/locale/nl_AW/LC_NUMERIC
-#usr/lib/locale/nl_AW/LC_PAPER
-#usr/lib/locale/nl_AW/LC_TELEPHONE
-#usr/lib/locale/nl_AW/LC_TIME
-#usr/lib/locale/nl_BE
-#usr/lib/locale/nl_BE.utf8
-#usr/lib/locale/nl_BE.utf8/LC_ADDRESS
-#usr/lib/locale/nl_BE.utf8/LC_COLLATE
-#usr/lib/locale/nl_BE.utf8/LC_CTYPE
-#usr/lib/locale/nl_BE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/nl_BE.utf8/LC_MEASUREMENT
-#usr/lib/locale/nl_BE.utf8/LC_MESSAGES
-#usr/lib/locale/nl_BE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nl_BE.utf8/LC_MONETARY
-#usr/lib/locale/nl_BE.utf8/LC_NAME
-#usr/lib/locale/nl_BE.utf8/LC_NUMERIC
-#usr/lib/locale/nl_BE.utf8/LC_PAPER
-#usr/lib/locale/nl_BE.utf8/LC_TELEPHONE
-#usr/lib/locale/nl_BE.utf8/LC_TIME
-#usr/lib/locale/nl_BE/LC_ADDRESS
-#usr/lib/locale/nl_BE/LC_COLLATE
-#usr/lib/locale/nl_BE/LC_CTYPE
-#usr/lib/locale/nl_BE/LC_IDENTIFICATION
-#usr/lib/locale/nl_BE/LC_MEASUREMENT
-#usr/lib/locale/nl_BE/LC_MESSAGES
-#usr/lib/locale/nl_BE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nl_BE/LC_MONETARY
-#usr/lib/locale/nl_BE/LC_NAME
-#usr/lib/locale/nl_BE/LC_NUMERIC
-#usr/lib/locale/nl_BE/LC_PAPER
-#usr/lib/locale/nl_BE/LC_TELEPHONE
-#usr/lib/locale/nl_BE/LC_TIME
-#usr/lib/locale/nl_BE@euro
-#usr/lib/locale/nl_BE@euro/LC_ADDRESS
-#usr/lib/locale/nl_BE@euro/LC_COLLATE
-#usr/lib/locale/nl_BE@euro/LC_CTYPE
-#usr/lib/locale/nl_BE@euro/LC_IDENTIFICATION
-#usr/lib/locale/nl_BE@euro/LC_MEASUREMENT
-#usr/lib/locale/nl_BE@euro/LC_MESSAGES
-#usr/lib/locale/nl_BE@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nl_BE@euro/LC_MONETARY
-#usr/lib/locale/nl_BE@euro/LC_NAME
-#usr/lib/locale/nl_BE@euro/LC_NUMERIC
-#usr/lib/locale/nl_BE@euro/LC_PAPER
-#usr/lib/locale/nl_BE@euro/LC_TELEPHONE
-#usr/lib/locale/nl_BE@euro/LC_TIME
-#usr/lib/locale/nl_NL
-#usr/lib/locale/nl_NL.utf8
-#usr/lib/locale/nl_NL.utf8/LC_ADDRESS
-#usr/lib/locale/nl_NL.utf8/LC_COLLATE
-#usr/lib/locale/nl_NL.utf8/LC_CTYPE
-#usr/lib/locale/nl_NL.utf8/LC_IDENTIFICATION
-#usr/lib/locale/nl_NL.utf8/LC_MEASUREMENT
-#usr/lib/locale/nl_NL.utf8/LC_MESSAGES
-#usr/lib/locale/nl_NL.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nl_NL.utf8/LC_MONETARY
-#usr/lib/locale/nl_NL.utf8/LC_NAME
-#usr/lib/locale/nl_NL.utf8/LC_NUMERIC
-#usr/lib/locale/nl_NL.utf8/LC_PAPER
-#usr/lib/locale/nl_NL.utf8/LC_TELEPHONE
-#usr/lib/locale/nl_NL.utf8/LC_TIME
-#usr/lib/locale/nl_NL/LC_ADDRESS
-#usr/lib/locale/nl_NL/LC_COLLATE
-#usr/lib/locale/nl_NL/LC_CTYPE
-#usr/lib/locale/nl_NL/LC_IDENTIFICATION
-#usr/lib/locale/nl_NL/LC_MEASUREMENT
-#usr/lib/locale/nl_NL/LC_MESSAGES
-#usr/lib/locale/nl_NL/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nl_NL/LC_MONETARY
-#usr/lib/locale/nl_NL/LC_NAME
-#usr/lib/locale/nl_NL/LC_NUMERIC
-#usr/lib/locale/nl_NL/LC_PAPER
-#usr/lib/locale/nl_NL/LC_TELEPHONE
-#usr/lib/locale/nl_NL/LC_TIME
-#usr/lib/locale/nl_NL@euro
-#usr/lib/locale/nl_NL@euro/LC_ADDRESS
-#usr/lib/locale/nl_NL@euro/LC_COLLATE
-#usr/lib/locale/nl_NL@euro/LC_CTYPE
-#usr/lib/locale/nl_NL@euro/LC_IDENTIFICATION
-#usr/lib/locale/nl_NL@euro/LC_MEASUREMENT
-#usr/lib/locale/nl_NL@euro/LC_MESSAGES
-#usr/lib/locale/nl_NL@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nl_NL@euro/LC_MONETARY
-#usr/lib/locale/nl_NL@euro/LC_NAME
-#usr/lib/locale/nl_NL@euro/LC_NUMERIC
-#usr/lib/locale/nl_NL@euro/LC_PAPER
-#usr/lib/locale/nl_NL@euro/LC_TELEPHONE
-#usr/lib/locale/nl_NL@euro/LC_TIME
-#usr/lib/locale/nn_NO
-#usr/lib/locale/nn_NO.utf8
-#usr/lib/locale/nn_NO.utf8/LC_ADDRESS
-#usr/lib/locale/nn_NO.utf8/LC_COLLATE
-#usr/lib/locale/nn_NO.utf8/LC_CTYPE
-#usr/lib/locale/nn_NO.utf8/LC_IDENTIFICATION
-#usr/lib/locale/nn_NO.utf8/LC_MEASUREMENT
-#usr/lib/locale/nn_NO.utf8/LC_MESSAGES
-#usr/lib/locale/nn_NO.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nn_NO.utf8/LC_MONETARY
-#usr/lib/locale/nn_NO.utf8/LC_NAME
-#usr/lib/locale/nn_NO.utf8/LC_NUMERIC
-#usr/lib/locale/nn_NO.utf8/LC_PAPER
-#usr/lib/locale/nn_NO.utf8/LC_TELEPHONE
-#usr/lib/locale/nn_NO.utf8/LC_TIME
-#usr/lib/locale/nn_NO/LC_ADDRESS
-#usr/lib/locale/nn_NO/LC_COLLATE
-#usr/lib/locale/nn_NO/LC_CTYPE
-#usr/lib/locale/nn_NO/LC_IDENTIFICATION
-#usr/lib/locale/nn_NO/LC_MEASUREMENT
-#usr/lib/locale/nn_NO/LC_MESSAGES
-#usr/lib/locale/nn_NO/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nn_NO/LC_MONETARY
-#usr/lib/locale/nn_NO/LC_NAME
-#usr/lib/locale/nn_NO/LC_NUMERIC
-#usr/lib/locale/nn_NO/LC_PAPER
-#usr/lib/locale/nn_NO/LC_TELEPHONE
-#usr/lib/locale/nn_NO/LC_TIME
-#usr/lib/locale/no_NO
-#usr/lib/locale/no_NO.utf8
-#usr/lib/locale/no_NO.utf8/LC_ADDRESS
-#usr/lib/locale/no_NO.utf8/LC_COLLATE
-#usr/lib/locale/no_NO.utf8/LC_CTYPE
-#usr/lib/locale/no_NO.utf8/LC_IDENTIFICATION
-#usr/lib/locale/no_NO.utf8/LC_MEASUREMENT
-#usr/lib/locale/no_NO.utf8/LC_MESSAGES
-#usr/lib/locale/no_NO.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/no_NO.utf8/LC_MONETARY
-#usr/lib/locale/no_NO.utf8/LC_NAME
-#usr/lib/locale/no_NO.utf8/LC_NUMERIC
-#usr/lib/locale/no_NO.utf8/LC_PAPER
-#usr/lib/locale/no_NO.utf8/LC_TELEPHONE
-#usr/lib/locale/no_NO.utf8/LC_TIME
-#usr/lib/locale/no_NO/LC_ADDRESS
-#usr/lib/locale/no_NO/LC_COLLATE
-#usr/lib/locale/no_NO/LC_CTYPE
-#usr/lib/locale/no_NO/LC_IDENTIFICATION
-#usr/lib/locale/no_NO/LC_MEASUREMENT
-#usr/lib/locale/no_NO/LC_MESSAGES
-#usr/lib/locale/no_NO/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/no_NO/LC_MONETARY
-#usr/lib/locale/no_NO/LC_NAME
-#usr/lib/locale/no_NO/LC_NUMERIC
-#usr/lib/locale/no_NO/LC_PAPER
-#usr/lib/locale/no_NO/LC_TELEPHONE
-#usr/lib/locale/no_NO/LC_TIME
-#usr/lib/locale/nr_ZA
-#usr/lib/locale/nr_ZA/LC_ADDRESS
-#usr/lib/locale/nr_ZA/LC_COLLATE
-#usr/lib/locale/nr_ZA/LC_CTYPE
-#usr/lib/locale/nr_ZA/LC_IDENTIFICATION
-#usr/lib/locale/nr_ZA/LC_MEASUREMENT
-#usr/lib/locale/nr_ZA/LC_MESSAGES
-#usr/lib/locale/nr_ZA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nr_ZA/LC_MONETARY
-#usr/lib/locale/nr_ZA/LC_NAME
-#usr/lib/locale/nr_ZA/LC_NUMERIC
-#usr/lib/locale/nr_ZA/LC_PAPER
-#usr/lib/locale/nr_ZA/LC_TELEPHONE
-#usr/lib/locale/nr_ZA/LC_TIME
-#usr/lib/locale/nso_ZA
-#usr/lib/locale/nso_ZA/LC_ADDRESS
-#usr/lib/locale/nso_ZA/LC_COLLATE
-#usr/lib/locale/nso_ZA/LC_CTYPE
-#usr/lib/locale/nso_ZA/LC_IDENTIFICATION
-#usr/lib/locale/nso_ZA/LC_MEASUREMENT
-#usr/lib/locale/nso_ZA/LC_MESSAGES
-#usr/lib/locale/nso_ZA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nso_ZA/LC_MONETARY
-#usr/lib/locale/nso_ZA/LC_NAME
-#usr/lib/locale/nso_ZA/LC_NUMERIC
-#usr/lib/locale/nso_ZA/LC_PAPER
-#usr/lib/locale/nso_ZA/LC_TELEPHONE
-#usr/lib/locale/nso_ZA/LC_TIME
-#usr/lib/locale/oc_FR
-#usr/lib/locale/oc_FR.utf8
-#usr/lib/locale/oc_FR.utf8/LC_ADDRESS
-#usr/lib/locale/oc_FR.utf8/LC_COLLATE
-#usr/lib/locale/oc_FR.utf8/LC_CTYPE
-#usr/lib/locale/oc_FR.utf8/LC_IDENTIFICATION
-#usr/lib/locale/oc_FR.utf8/LC_MEASUREMENT
-#usr/lib/locale/oc_FR.utf8/LC_MESSAGES
-#usr/lib/locale/oc_FR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/oc_FR.utf8/LC_MONETARY
-#usr/lib/locale/oc_FR.utf8/LC_NAME
-#usr/lib/locale/oc_FR.utf8/LC_NUMERIC
-#usr/lib/locale/oc_FR.utf8/LC_PAPER
-#usr/lib/locale/oc_FR.utf8/LC_TELEPHONE
-#usr/lib/locale/oc_FR.utf8/LC_TIME
-#usr/lib/locale/oc_FR/LC_ADDRESS
-#usr/lib/locale/oc_FR/LC_COLLATE
-#usr/lib/locale/oc_FR/LC_CTYPE
-#usr/lib/locale/oc_FR/LC_IDENTIFICATION
-#usr/lib/locale/oc_FR/LC_MEASUREMENT
-#usr/lib/locale/oc_FR/LC_MESSAGES
-#usr/lib/locale/oc_FR/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/oc_FR/LC_MONETARY
-#usr/lib/locale/oc_FR/LC_NAME
-#usr/lib/locale/oc_FR/LC_NUMERIC
-#usr/lib/locale/oc_FR/LC_PAPER
-#usr/lib/locale/oc_FR/LC_TELEPHONE
-#usr/lib/locale/oc_FR/LC_TIME
-#usr/lib/locale/om_ET
-#usr/lib/locale/om_ET/LC_ADDRESS
-#usr/lib/locale/om_ET/LC_COLLATE
-#usr/lib/locale/om_ET/LC_CTYPE
-#usr/lib/locale/om_ET/LC_IDENTIFICATION
-#usr/lib/locale/om_ET/LC_MEASUREMENT
-#usr/lib/locale/om_ET/LC_MESSAGES
-#usr/lib/locale/om_ET/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/om_ET/LC_MONETARY
-#usr/lib/locale/om_ET/LC_NAME
-#usr/lib/locale/om_ET/LC_NUMERIC
-#usr/lib/locale/om_ET/LC_PAPER
-#usr/lib/locale/om_ET/LC_TELEPHONE
-#usr/lib/locale/om_ET/LC_TIME
-#usr/lib/locale/om_KE
-#usr/lib/locale/om_KE.utf8
-#usr/lib/locale/om_KE.utf8/LC_ADDRESS
-#usr/lib/locale/om_KE.utf8/LC_COLLATE
-#usr/lib/locale/om_KE.utf8/LC_CTYPE
-#usr/lib/locale/om_KE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/om_KE.utf8/LC_MEASUREMENT
-#usr/lib/locale/om_KE.utf8/LC_MESSAGES
-#usr/lib/locale/om_KE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/om_KE.utf8/LC_MONETARY
-#usr/lib/locale/om_KE.utf8/LC_NAME
-#usr/lib/locale/om_KE.utf8/LC_NUMERIC
-#usr/lib/locale/om_KE.utf8/LC_PAPER
-#usr/lib/locale/om_KE.utf8/LC_TELEPHONE
-#usr/lib/locale/om_KE.utf8/LC_TIME
-#usr/lib/locale/om_KE/LC_ADDRESS
-#usr/lib/locale/om_KE/LC_COLLATE
-#usr/lib/locale/om_KE/LC_CTYPE
-#usr/lib/locale/om_KE/LC_IDENTIFICATION
-#usr/lib/locale/om_KE/LC_MEASUREMENT
-#usr/lib/locale/om_KE/LC_MESSAGES
-#usr/lib/locale/om_KE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/om_KE/LC_MONETARY
-#usr/lib/locale/om_KE/LC_NAME
-#usr/lib/locale/om_KE/LC_NUMERIC
-#usr/lib/locale/om_KE/LC_PAPER
-#usr/lib/locale/om_KE/LC_TELEPHONE
-#usr/lib/locale/om_KE/LC_TIME
-#usr/lib/locale/or_IN
-#usr/lib/locale/or_IN/LC_ADDRESS
-#usr/lib/locale/or_IN/LC_COLLATE
-#usr/lib/locale/or_IN/LC_CTYPE
-#usr/lib/locale/or_IN/LC_IDENTIFICATION
-#usr/lib/locale/or_IN/LC_MEASUREMENT
-#usr/lib/locale/or_IN/LC_MESSAGES
-#usr/lib/locale/or_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/or_IN/LC_MONETARY
-#usr/lib/locale/or_IN/LC_NAME
-#usr/lib/locale/or_IN/LC_NUMERIC
-#usr/lib/locale/or_IN/LC_PAPER
-#usr/lib/locale/or_IN/LC_TELEPHONE
-#usr/lib/locale/or_IN/LC_TIME
-#usr/lib/locale/pa_IN
-#usr/lib/locale/pa_IN/LC_ADDRESS
-#usr/lib/locale/pa_IN/LC_COLLATE
-#usr/lib/locale/pa_IN/LC_CTYPE
-#usr/lib/locale/pa_IN/LC_IDENTIFICATION
-#usr/lib/locale/pa_IN/LC_MEASUREMENT
-#usr/lib/locale/pa_IN/LC_MESSAGES
-#usr/lib/locale/pa_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/pa_IN/LC_MONETARY
-#usr/lib/locale/pa_IN/LC_NAME
-#usr/lib/locale/pa_IN/LC_NUMERIC
-#usr/lib/locale/pa_IN/LC_PAPER
-#usr/lib/locale/pa_IN/LC_TELEPHONE
-#usr/lib/locale/pa_IN/LC_TIME
-#usr/lib/locale/pa_PK
-#usr/lib/locale/pa_PK/LC_ADDRESS
-#usr/lib/locale/pa_PK/LC_COLLATE
-#usr/lib/locale/pa_PK/LC_CTYPE
-#usr/lib/locale/pa_PK/LC_IDENTIFICATION
-#usr/lib/locale/pa_PK/LC_MEASUREMENT
-#usr/lib/locale/pa_PK/LC_MESSAGES
-#usr/lib/locale/pa_PK/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/pa_PK/LC_MONETARY
-#usr/lib/locale/pa_PK/LC_NAME
-#usr/lib/locale/pa_PK/LC_NUMERIC
-#usr/lib/locale/pa_PK/LC_PAPER
-#usr/lib/locale/pa_PK/LC_TELEPHONE
-#usr/lib/locale/pa_PK/LC_TIME
-#usr/lib/locale/pap_AN
-#usr/lib/locale/pap_AN/LC_ADDRESS
-#usr/lib/locale/pap_AN/LC_COLLATE
-#usr/lib/locale/pap_AN/LC_CTYPE
-#usr/lib/locale/pap_AN/LC_IDENTIFICATION
-#usr/lib/locale/pap_AN/LC_MEASUREMENT
-#usr/lib/locale/pap_AN/LC_MESSAGES
-#usr/lib/locale/pap_AN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/pap_AN/LC_MONETARY
-#usr/lib/locale/pap_AN/LC_NAME
-#usr/lib/locale/pap_AN/LC_NUMERIC
-#usr/lib/locale/pap_AN/LC_PAPER
-#usr/lib/locale/pap_AN/LC_TELEPHONE
-#usr/lib/locale/pap_AN/LC_TIME
-#usr/lib/locale/pl_PL
-#usr/lib/locale/pl_PL.utf8
-#usr/lib/locale/pl_PL.utf8/LC_ADDRESS
-#usr/lib/locale/pl_PL.utf8/LC_COLLATE
-#usr/lib/locale/pl_PL.utf8/LC_CTYPE
-#usr/lib/locale/pl_PL.utf8/LC_IDENTIFICATION
-#usr/lib/locale/pl_PL.utf8/LC_MEASUREMENT
-#usr/lib/locale/pl_PL.utf8/LC_MESSAGES
-#usr/lib/locale/pl_PL.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/pl_PL.utf8/LC_MONETARY
-#usr/lib/locale/pl_PL.utf8/LC_NAME
-#usr/lib/locale/pl_PL.utf8/LC_NUMERIC
-#usr/lib/locale/pl_PL.utf8/LC_PAPER
-#usr/lib/locale/pl_PL.utf8/LC_TELEPHONE
-#usr/lib/locale/pl_PL.utf8/LC_TIME
-#usr/lib/locale/pl_PL/LC_ADDRESS
-#usr/lib/locale/pl_PL/LC_COLLATE
-#usr/lib/locale/pl_PL/LC_CTYPE
-#usr/lib/locale/pl_PL/LC_IDENTIFICATION
-#usr/lib/locale/pl_PL/LC_MEASUREMENT
-#usr/lib/locale/pl_PL/LC_MESSAGES
-#usr/lib/locale/pl_PL/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/pl_PL/LC_MONETARY
-#usr/lib/locale/pl_PL/LC_NAME
-#usr/lib/locale/pl_PL/LC_NUMERIC
-#usr/lib/locale/pl_PL/LC_PAPER
-#usr/lib/locale/pl_PL/LC_TELEPHONE
-#usr/lib/locale/pl_PL/LC_TIME
-#usr/lib/locale/ps_AF
-#usr/lib/locale/ps_AF/LC_ADDRESS
-#usr/lib/locale/ps_AF/LC_COLLATE
-#usr/lib/locale/ps_AF/LC_CTYPE
-#usr/lib/locale/ps_AF/LC_IDENTIFICATION
-#usr/lib/locale/ps_AF/LC_MEASUREMENT
-#usr/lib/locale/ps_AF/LC_MESSAGES
-#usr/lib/locale/ps_AF/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ps_AF/LC_MONETARY
-#usr/lib/locale/ps_AF/LC_NAME
-#usr/lib/locale/ps_AF/LC_NUMERIC
-#usr/lib/locale/ps_AF/LC_PAPER
-#usr/lib/locale/ps_AF/LC_TELEPHONE
-#usr/lib/locale/ps_AF/LC_TIME
-#usr/lib/locale/pt_BR
-#usr/lib/locale/pt_BR.utf8
-#usr/lib/locale/pt_BR.utf8/LC_ADDRESS
-#usr/lib/locale/pt_BR.utf8/LC_COLLATE
-#usr/lib/locale/pt_BR.utf8/LC_CTYPE
-#usr/lib/locale/pt_BR.utf8/LC_IDENTIFICATION
-#usr/lib/locale/pt_BR.utf8/LC_MEASUREMENT
-#usr/lib/locale/pt_BR.utf8/LC_MESSAGES
-#usr/lib/locale/pt_BR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/pt_BR.utf8/LC_MONETARY
-#usr/lib/locale/pt_BR.utf8/LC_NAME
-#usr/lib/locale/pt_BR.utf8/LC_NUMERIC
-#usr/lib/locale/pt_BR.utf8/LC_PAPER
-#usr/lib/locale/pt_BR.utf8/LC_TELEPHONE
-#usr/lib/locale/pt_BR.utf8/LC_TIME
-#usr/lib/locale/pt_BR/LC_ADDRESS
-#usr/lib/locale/pt_BR/LC_COLLATE
-#usr/lib/locale/pt_BR/LC_CTYPE
-#usr/lib/locale/pt_BR/LC_IDENTIFICATION
-#usr/lib/locale/pt_BR/LC_MEASUREMENT
-#usr/lib/locale/pt_BR/LC_MESSAGES
-#usr/lib/locale/pt_BR/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/pt_BR/LC_MONETARY
-#usr/lib/locale/pt_BR/LC_NAME
-#usr/lib/locale/pt_BR/LC_NUMERIC
-#usr/lib/locale/pt_BR/LC_PAPER
-#usr/lib/locale/pt_BR/LC_TELEPHONE
-#usr/lib/locale/pt_BR/LC_TIME
-#usr/lib/locale/pt_PT
-#usr/lib/locale/pt_PT.utf8
-#usr/lib/locale/pt_PT.utf8/LC_ADDRESS
-#usr/lib/locale/pt_PT.utf8/LC_COLLATE
-#usr/lib/locale/pt_PT.utf8/LC_CTYPE
-#usr/lib/locale/pt_PT.utf8/LC_IDENTIFICATION
-#usr/lib/locale/pt_PT.utf8/LC_MEASUREMENT
-#usr/lib/locale/pt_PT.utf8/LC_MESSAGES
-#usr/lib/locale/pt_PT.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/pt_PT.utf8/LC_MONETARY
-#usr/lib/locale/pt_PT.utf8/LC_NAME
-#usr/lib/locale/pt_PT.utf8/LC_NUMERIC
-#usr/lib/locale/pt_PT.utf8/LC_PAPER
-#usr/lib/locale/pt_PT.utf8/LC_TELEPHONE
-#usr/lib/locale/pt_PT.utf8/LC_TIME
-#usr/lib/locale/pt_PT/LC_ADDRESS
-#usr/lib/locale/pt_PT/LC_COLLATE
-#usr/lib/locale/pt_PT/LC_CTYPE
-#usr/lib/locale/pt_PT/LC_IDENTIFICATION
-#usr/lib/locale/pt_PT/LC_MEASUREMENT
-#usr/lib/locale/pt_PT/LC_MESSAGES
-#usr/lib/locale/pt_PT/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/pt_PT/LC_MONETARY
-#usr/lib/locale/pt_PT/LC_NAME
-#usr/lib/locale/pt_PT/LC_NUMERIC
-#usr/lib/locale/pt_PT/LC_PAPER
-#usr/lib/locale/pt_PT/LC_TELEPHONE
-#usr/lib/locale/pt_PT/LC_TIME
-#usr/lib/locale/pt_PT@euro
-#usr/lib/locale/pt_PT@euro/LC_ADDRESS
-#usr/lib/locale/pt_PT@euro/LC_COLLATE
-#usr/lib/locale/pt_PT@euro/LC_CTYPE
-#usr/lib/locale/pt_PT@euro/LC_IDENTIFICATION
-#usr/lib/locale/pt_PT@euro/LC_MEASUREMENT
-#usr/lib/locale/pt_PT@euro/LC_MESSAGES
-#usr/lib/locale/pt_PT@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/pt_PT@euro/LC_MONETARY
-#usr/lib/locale/pt_PT@euro/LC_NAME
-#usr/lib/locale/pt_PT@euro/LC_NUMERIC
-#usr/lib/locale/pt_PT@euro/LC_PAPER
-#usr/lib/locale/pt_PT@euro/LC_TELEPHONE
-#usr/lib/locale/pt_PT@euro/LC_TIME
-#usr/lib/locale/ro_RO
-#usr/lib/locale/ro_RO.utf8
-#usr/lib/locale/ro_RO.utf8/LC_ADDRESS
-#usr/lib/locale/ro_RO.utf8/LC_COLLATE
-#usr/lib/locale/ro_RO.utf8/LC_CTYPE
-#usr/lib/locale/ro_RO.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ro_RO.utf8/LC_MEASUREMENT
-#usr/lib/locale/ro_RO.utf8/LC_MESSAGES
-#usr/lib/locale/ro_RO.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ro_RO.utf8/LC_MONETARY
-#usr/lib/locale/ro_RO.utf8/LC_NAME
-#usr/lib/locale/ro_RO.utf8/LC_NUMERIC
-#usr/lib/locale/ro_RO.utf8/LC_PAPER
-#usr/lib/locale/ro_RO.utf8/LC_TELEPHONE
-#usr/lib/locale/ro_RO.utf8/LC_TIME
-#usr/lib/locale/ro_RO/LC_ADDRESS
-#usr/lib/locale/ro_RO/LC_COLLATE
-#usr/lib/locale/ro_RO/LC_CTYPE
-#usr/lib/locale/ro_RO/LC_IDENTIFICATION
-#usr/lib/locale/ro_RO/LC_MEASUREMENT
-#usr/lib/locale/ro_RO/LC_MESSAGES
-#usr/lib/locale/ro_RO/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ro_RO/LC_MONETARY
-#usr/lib/locale/ro_RO/LC_NAME
-#usr/lib/locale/ro_RO/LC_NUMERIC
-#usr/lib/locale/ro_RO/LC_PAPER
-#usr/lib/locale/ro_RO/LC_TELEPHONE
-#usr/lib/locale/ro_RO/LC_TIME
-#usr/lib/locale/ru_RU
-#usr/lib/locale/ru_RU.koi8r
-#usr/lib/locale/ru_RU.koi8r/LC_ADDRESS
-#usr/lib/locale/ru_RU.koi8r/LC_COLLATE
-#usr/lib/locale/ru_RU.koi8r/LC_CTYPE
-#usr/lib/locale/ru_RU.koi8r/LC_IDENTIFICATION
-#usr/lib/locale/ru_RU.koi8r/LC_MEASUREMENT
-#usr/lib/locale/ru_RU.koi8r/LC_MESSAGES
-#usr/lib/locale/ru_RU.koi8r/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ru_RU.koi8r/LC_MONETARY
-#usr/lib/locale/ru_RU.koi8r/LC_NAME
-#usr/lib/locale/ru_RU.koi8r/LC_NUMERIC
-#usr/lib/locale/ru_RU.koi8r/LC_PAPER
-#usr/lib/locale/ru_RU.koi8r/LC_TELEPHONE
-#usr/lib/locale/ru_RU.koi8r/LC_TIME
-#usr/lib/locale/ru_RU.utf8
-#usr/lib/locale/ru_RU.utf8/LC_ADDRESS
-#usr/lib/locale/ru_RU.utf8/LC_COLLATE
-#usr/lib/locale/ru_RU.utf8/LC_CTYPE
-#usr/lib/locale/ru_RU.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ru_RU.utf8/LC_MEASUREMENT
-#usr/lib/locale/ru_RU.utf8/LC_MESSAGES
-#usr/lib/locale/ru_RU.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ru_RU.utf8/LC_MONETARY
-#usr/lib/locale/ru_RU.utf8/LC_NAME
-#usr/lib/locale/ru_RU.utf8/LC_NUMERIC
-#usr/lib/locale/ru_RU.utf8/LC_PAPER
-#usr/lib/locale/ru_RU.utf8/LC_TELEPHONE
-#usr/lib/locale/ru_RU.utf8/LC_TIME
-#usr/lib/locale/ru_RU/LC_ADDRESS
-#usr/lib/locale/ru_RU/LC_COLLATE
-#usr/lib/locale/ru_RU/LC_CTYPE
-#usr/lib/locale/ru_RU/LC_IDENTIFICATION
-#usr/lib/locale/ru_RU/LC_MEASUREMENT
-#usr/lib/locale/ru_RU/LC_MESSAGES
-#usr/lib/locale/ru_RU/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ru_RU/LC_MONETARY
-#usr/lib/locale/ru_RU/LC_NAME
-#usr/lib/locale/ru_RU/LC_NUMERIC
-#usr/lib/locale/ru_RU/LC_PAPER
-#usr/lib/locale/ru_RU/LC_TELEPHONE
-#usr/lib/locale/ru_RU/LC_TIME
-#usr/lib/locale/ru_UA
-#usr/lib/locale/ru_UA.utf8
-#usr/lib/locale/ru_UA.utf8/LC_ADDRESS
-#usr/lib/locale/ru_UA.utf8/LC_COLLATE
-#usr/lib/locale/ru_UA.utf8/LC_CTYPE
-#usr/lib/locale/ru_UA.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ru_UA.utf8/LC_MEASUREMENT
-#usr/lib/locale/ru_UA.utf8/LC_MESSAGES
-#usr/lib/locale/ru_UA.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ru_UA.utf8/LC_MONETARY
-#usr/lib/locale/ru_UA.utf8/LC_NAME
-#usr/lib/locale/ru_UA.utf8/LC_NUMERIC
-#usr/lib/locale/ru_UA.utf8/LC_PAPER
-#usr/lib/locale/ru_UA.utf8/LC_TELEPHONE
-#usr/lib/locale/ru_UA.utf8/LC_TIME
-#usr/lib/locale/ru_UA/LC_ADDRESS
-#usr/lib/locale/ru_UA/LC_COLLATE
-#usr/lib/locale/ru_UA/LC_CTYPE
-#usr/lib/locale/ru_UA/LC_IDENTIFICATION
-#usr/lib/locale/ru_UA/LC_MEASUREMENT
-#usr/lib/locale/ru_UA/LC_MESSAGES
-#usr/lib/locale/ru_UA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ru_UA/LC_MONETARY
-#usr/lib/locale/ru_UA/LC_NAME
-#usr/lib/locale/ru_UA/LC_NUMERIC
-#usr/lib/locale/ru_UA/LC_PAPER
-#usr/lib/locale/ru_UA/LC_TELEPHONE
-#usr/lib/locale/ru_UA/LC_TIME
-#usr/lib/locale/rw_RW
-#usr/lib/locale/rw_RW/LC_ADDRESS
-#usr/lib/locale/rw_RW/LC_COLLATE
-#usr/lib/locale/rw_RW/LC_CTYPE
-#usr/lib/locale/rw_RW/LC_IDENTIFICATION
-#usr/lib/locale/rw_RW/LC_MEASUREMENT
-#usr/lib/locale/rw_RW/LC_MESSAGES
-#usr/lib/locale/rw_RW/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/rw_RW/LC_MONETARY
-#usr/lib/locale/rw_RW/LC_NAME
-#usr/lib/locale/rw_RW/LC_NUMERIC
-#usr/lib/locale/rw_RW/LC_PAPER
-#usr/lib/locale/rw_RW/LC_TELEPHONE
-#usr/lib/locale/rw_RW/LC_TIME
-#usr/lib/locale/sa_IN
-#usr/lib/locale/sa_IN/LC_ADDRESS
-#usr/lib/locale/sa_IN/LC_COLLATE
-#usr/lib/locale/sa_IN/LC_CTYPE
-#usr/lib/locale/sa_IN/LC_IDENTIFICATION
-#usr/lib/locale/sa_IN/LC_MEASUREMENT
-#usr/lib/locale/sa_IN/LC_MESSAGES
-#usr/lib/locale/sa_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sa_IN/LC_MONETARY
-#usr/lib/locale/sa_IN/LC_NAME
-#usr/lib/locale/sa_IN/LC_NUMERIC
-#usr/lib/locale/sa_IN/LC_PAPER
-#usr/lib/locale/sa_IN/LC_TELEPHONE
-#usr/lib/locale/sa_IN/LC_TIME
-#usr/lib/locale/sc_IT
-#usr/lib/locale/sc_IT/LC_ADDRESS
-#usr/lib/locale/sc_IT/LC_COLLATE
-#usr/lib/locale/sc_IT/LC_CTYPE
-#usr/lib/locale/sc_IT/LC_IDENTIFICATION
-#usr/lib/locale/sc_IT/LC_MEASUREMENT
-#usr/lib/locale/sc_IT/LC_MESSAGES
-#usr/lib/locale/sc_IT/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sc_IT/LC_MONETARY
-#usr/lib/locale/sc_IT/LC_NAME
-#usr/lib/locale/sc_IT/LC_NUMERIC
-#usr/lib/locale/sc_IT/LC_PAPER
-#usr/lib/locale/sc_IT/LC_TELEPHONE
-#usr/lib/locale/sc_IT/LC_TIME
-#usr/lib/locale/sd_IN
-#usr/lib/locale/sd_IN/LC_ADDRESS
-#usr/lib/locale/sd_IN/LC_COLLATE
-#usr/lib/locale/sd_IN/LC_CTYPE
-#usr/lib/locale/sd_IN/LC_IDENTIFICATION
-#usr/lib/locale/sd_IN/LC_MEASUREMENT
-#usr/lib/locale/sd_IN/LC_MESSAGES
-#usr/lib/locale/sd_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sd_IN/LC_MONETARY
-#usr/lib/locale/sd_IN/LC_NAME
-#usr/lib/locale/sd_IN/LC_NUMERIC
-#usr/lib/locale/sd_IN/LC_PAPER
-#usr/lib/locale/sd_IN/LC_TELEPHONE
-#usr/lib/locale/sd_IN/LC_TIME
-#usr/lib/locale/sd_IN@devanagari
-#usr/lib/locale/sd_IN@devanagari/LC_ADDRESS
-#usr/lib/locale/sd_IN@devanagari/LC_COLLATE
-#usr/lib/locale/sd_IN@devanagari/LC_CTYPE
-#usr/lib/locale/sd_IN@devanagari/LC_IDENTIFICATION
-#usr/lib/locale/sd_IN@devanagari/LC_MEASUREMENT
-#usr/lib/locale/sd_IN@devanagari/LC_MESSAGES
-#usr/lib/locale/sd_IN@devanagari/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sd_IN@devanagari/LC_MONETARY
-#usr/lib/locale/sd_IN@devanagari/LC_NAME
-#usr/lib/locale/sd_IN@devanagari/LC_NUMERIC
-#usr/lib/locale/sd_IN@devanagari/LC_PAPER
-#usr/lib/locale/sd_IN@devanagari/LC_TELEPHONE
-#usr/lib/locale/sd_IN@devanagari/LC_TIME
-#usr/lib/locale/se_NO
-#usr/lib/locale/se_NO/LC_ADDRESS
-#usr/lib/locale/se_NO/LC_COLLATE
-#usr/lib/locale/se_NO/LC_CTYPE
-#usr/lib/locale/se_NO/LC_IDENTIFICATION
-#usr/lib/locale/se_NO/LC_MEASUREMENT
-#usr/lib/locale/se_NO/LC_MESSAGES
-#usr/lib/locale/se_NO/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/se_NO/LC_MONETARY
-#usr/lib/locale/se_NO/LC_NAME
-#usr/lib/locale/se_NO/LC_NUMERIC
-#usr/lib/locale/se_NO/LC_PAPER
-#usr/lib/locale/se_NO/LC_TELEPHONE
-#usr/lib/locale/se_NO/LC_TIME
-#usr/lib/locale/shs_CA
-#usr/lib/locale/shs_CA/LC_ADDRESS
-#usr/lib/locale/shs_CA/LC_COLLATE
-#usr/lib/locale/shs_CA/LC_CTYPE
-#usr/lib/locale/shs_CA/LC_IDENTIFICATION
-#usr/lib/locale/shs_CA/LC_MEASUREMENT
-#usr/lib/locale/shs_CA/LC_MESSAGES
-#usr/lib/locale/shs_CA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/shs_CA/LC_MONETARY
-#usr/lib/locale/shs_CA/LC_NAME
-#usr/lib/locale/shs_CA/LC_NUMERIC
-#usr/lib/locale/shs_CA/LC_PAPER
-#usr/lib/locale/shs_CA/LC_TELEPHONE
-#usr/lib/locale/shs_CA/LC_TIME
-#usr/lib/locale/si_LK
-#usr/lib/locale/si_LK/LC_ADDRESS
-#usr/lib/locale/si_LK/LC_COLLATE
-#usr/lib/locale/si_LK/LC_CTYPE
-#usr/lib/locale/si_LK/LC_IDENTIFICATION
-#usr/lib/locale/si_LK/LC_MEASUREMENT
-#usr/lib/locale/si_LK/LC_MESSAGES
-#usr/lib/locale/si_LK/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/si_LK/LC_MONETARY
-#usr/lib/locale/si_LK/LC_NAME
-#usr/lib/locale/si_LK/LC_NUMERIC
-#usr/lib/locale/si_LK/LC_PAPER
-#usr/lib/locale/si_LK/LC_TELEPHONE
-#usr/lib/locale/si_LK/LC_TIME
-#usr/lib/locale/sid_ET
-#usr/lib/locale/sid_ET/LC_ADDRESS
-#usr/lib/locale/sid_ET/LC_COLLATE
-#usr/lib/locale/sid_ET/LC_CTYPE
-#usr/lib/locale/sid_ET/LC_IDENTIFICATION
-#usr/lib/locale/sid_ET/LC_MEASUREMENT
-#usr/lib/locale/sid_ET/LC_MESSAGES
-#usr/lib/locale/sid_ET/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sid_ET/LC_MONETARY
-#usr/lib/locale/sid_ET/LC_NAME
-#usr/lib/locale/sid_ET/LC_NUMERIC
-#usr/lib/locale/sid_ET/LC_PAPER
-#usr/lib/locale/sid_ET/LC_TELEPHONE
-#usr/lib/locale/sid_ET/LC_TIME
-#usr/lib/locale/sk_SK
-#usr/lib/locale/sk_SK.utf8
-#usr/lib/locale/sk_SK.utf8/LC_ADDRESS
-#usr/lib/locale/sk_SK.utf8/LC_COLLATE
-#usr/lib/locale/sk_SK.utf8/LC_CTYPE
-#usr/lib/locale/sk_SK.utf8/LC_IDENTIFICATION
-#usr/lib/locale/sk_SK.utf8/LC_MEASUREMENT
-#usr/lib/locale/sk_SK.utf8/LC_MESSAGES
-#usr/lib/locale/sk_SK.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sk_SK.utf8/LC_MONETARY
-#usr/lib/locale/sk_SK.utf8/LC_NAME
-#usr/lib/locale/sk_SK.utf8/LC_NUMERIC
-#usr/lib/locale/sk_SK.utf8/LC_PAPER
-#usr/lib/locale/sk_SK.utf8/LC_TELEPHONE
-#usr/lib/locale/sk_SK.utf8/LC_TIME
-#usr/lib/locale/sk_SK/LC_ADDRESS
-#usr/lib/locale/sk_SK/LC_COLLATE
-#usr/lib/locale/sk_SK/LC_CTYPE
-#usr/lib/locale/sk_SK/LC_IDENTIFICATION
-#usr/lib/locale/sk_SK/LC_MEASUREMENT
-#usr/lib/locale/sk_SK/LC_MESSAGES
-#usr/lib/locale/sk_SK/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sk_SK/LC_MONETARY
-#usr/lib/locale/sk_SK/LC_NAME
-#usr/lib/locale/sk_SK/LC_NUMERIC
-#usr/lib/locale/sk_SK/LC_PAPER
-#usr/lib/locale/sk_SK/LC_TELEPHONE
-#usr/lib/locale/sk_SK/LC_TIME
-#usr/lib/locale/sl_SI
-#usr/lib/locale/sl_SI.utf8
-#usr/lib/locale/sl_SI.utf8/LC_ADDRESS
-#usr/lib/locale/sl_SI.utf8/LC_COLLATE
-#usr/lib/locale/sl_SI.utf8/LC_CTYPE
-#usr/lib/locale/sl_SI.utf8/LC_IDENTIFICATION
-#usr/lib/locale/sl_SI.utf8/LC_MEASUREMENT
-#usr/lib/locale/sl_SI.utf8/LC_MESSAGES
-#usr/lib/locale/sl_SI.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sl_SI.utf8/LC_MONETARY
-#usr/lib/locale/sl_SI.utf8/LC_NAME
-#usr/lib/locale/sl_SI.utf8/LC_NUMERIC
-#usr/lib/locale/sl_SI.utf8/LC_PAPER
-#usr/lib/locale/sl_SI.utf8/LC_TELEPHONE
-#usr/lib/locale/sl_SI.utf8/LC_TIME
-#usr/lib/locale/sl_SI/LC_ADDRESS
-#usr/lib/locale/sl_SI/LC_COLLATE
-#usr/lib/locale/sl_SI/LC_CTYPE
-#usr/lib/locale/sl_SI/LC_IDENTIFICATION
-#usr/lib/locale/sl_SI/LC_MEASUREMENT
-#usr/lib/locale/sl_SI/LC_MESSAGES
-#usr/lib/locale/sl_SI/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sl_SI/LC_MONETARY
-#usr/lib/locale/sl_SI/LC_NAME
-#usr/lib/locale/sl_SI/LC_NUMERIC
-#usr/lib/locale/sl_SI/LC_PAPER
-#usr/lib/locale/sl_SI/LC_TELEPHONE
-#usr/lib/locale/sl_SI/LC_TIME
-#usr/lib/locale/so_DJ
-#usr/lib/locale/so_DJ.utf8
-#usr/lib/locale/so_DJ.utf8/LC_ADDRESS
-#usr/lib/locale/so_DJ.utf8/LC_COLLATE
-#usr/lib/locale/so_DJ.utf8/LC_CTYPE
-#usr/lib/locale/so_DJ.utf8/LC_IDENTIFICATION
-#usr/lib/locale/so_DJ.utf8/LC_MEASUREMENT
-#usr/lib/locale/so_DJ.utf8/LC_MESSAGES
-#usr/lib/locale/so_DJ.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/so_DJ.utf8/LC_MONETARY
-#usr/lib/locale/so_DJ.utf8/LC_NAME
-#usr/lib/locale/so_DJ.utf8/LC_NUMERIC
-#usr/lib/locale/so_DJ.utf8/LC_PAPER
-#usr/lib/locale/so_DJ.utf8/LC_TELEPHONE
-#usr/lib/locale/so_DJ.utf8/LC_TIME
-#usr/lib/locale/so_DJ/LC_ADDRESS
-#usr/lib/locale/so_DJ/LC_COLLATE
-#usr/lib/locale/so_DJ/LC_CTYPE
-#usr/lib/locale/so_DJ/LC_IDENTIFICATION
-#usr/lib/locale/so_DJ/LC_MEASUREMENT
-#usr/lib/locale/so_DJ/LC_MESSAGES
-#usr/lib/locale/so_DJ/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/so_DJ/LC_MONETARY
-#usr/lib/locale/so_DJ/LC_NAME
-#usr/lib/locale/so_DJ/LC_NUMERIC
-#usr/lib/locale/so_DJ/LC_PAPER
-#usr/lib/locale/so_DJ/LC_TELEPHONE
-#usr/lib/locale/so_DJ/LC_TIME
-#usr/lib/locale/so_ET
-#usr/lib/locale/so_ET/LC_ADDRESS
-#usr/lib/locale/so_ET/LC_COLLATE
-#usr/lib/locale/so_ET/LC_CTYPE
-#usr/lib/locale/so_ET/LC_IDENTIFICATION
-#usr/lib/locale/so_ET/LC_MEASUREMENT
-#usr/lib/locale/so_ET/LC_MESSAGES
-#usr/lib/locale/so_ET/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/so_ET/LC_MONETARY
-#usr/lib/locale/so_ET/LC_NAME
-#usr/lib/locale/so_ET/LC_NUMERIC
-#usr/lib/locale/so_ET/LC_PAPER
-#usr/lib/locale/so_ET/LC_TELEPHONE
-#usr/lib/locale/so_ET/LC_TIME
-#usr/lib/locale/so_KE
-#usr/lib/locale/so_KE.utf8
-#usr/lib/locale/so_KE.utf8/LC_ADDRESS
-#usr/lib/locale/so_KE.utf8/LC_COLLATE
-#usr/lib/locale/so_KE.utf8/LC_CTYPE
-#usr/lib/locale/so_KE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/so_KE.utf8/LC_MEASUREMENT
-#usr/lib/locale/so_KE.utf8/LC_MESSAGES
-#usr/lib/locale/so_KE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/so_KE.utf8/LC_MONETARY
-#usr/lib/locale/so_KE.utf8/LC_NAME
-#usr/lib/locale/so_KE.utf8/LC_NUMERIC
-#usr/lib/locale/so_KE.utf8/LC_PAPER
-#usr/lib/locale/so_KE.utf8/LC_TELEPHONE
-#usr/lib/locale/so_KE.utf8/LC_TIME
-#usr/lib/locale/so_KE/LC_ADDRESS
-#usr/lib/locale/so_KE/LC_COLLATE
-#usr/lib/locale/so_KE/LC_CTYPE
-#usr/lib/locale/so_KE/LC_IDENTIFICATION
-#usr/lib/locale/so_KE/LC_MEASUREMENT
-#usr/lib/locale/so_KE/LC_MESSAGES
-#usr/lib/locale/so_KE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/so_KE/LC_MONETARY
-#usr/lib/locale/so_KE/LC_NAME
-#usr/lib/locale/so_KE/LC_NUMERIC
-#usr/lib/locale/so_KE/LC_PAPER
-#usr/lib/locale/so_KE/LC_TELEPHONE
-#usr/lib/locale/so_KE/LC_TIME
-#usr/lib/locale/so_SO
-#usr/lib/locale/so_SO.utf8
-#usr/lib/locale/so_SO.utf8/LC_ADDRESS
-#usr/lib/locale/so_SO.utf8/LC_COLLATE
-#usr/lib/locale/so_SO.utf8/LC_CTYPE
-#usr/lib/locale/so_SO.utf8/LC_IDENTIFICATION
-#usr/lib/locale/so_SO.utf8/LC_MEASUREMENT
-#usr/lib/locale/so_SO.utf8/LC_MESSAGES
-#usr/lib/locale/so_SO.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/so_SO.utf8/LC_MONETARY
-#usr/lib/locale/so_SO.utf8/LC_NAME
-#usr/lib/locale/so_SO.utf8/LC_NUMERIC
-#usr/lib/locale/so_SO.utf8/LC_PAPER
-#usr/lib/locale/so_SO.utf8/LC_TELEPHONE
-#usr/lib/locale/so_SO.utf8/LC_TIME
-#usr/lib/locale/so_SO/LC_ADDRESS
-#usr/lib/locale/so_SO/LC_COLLATE
-#usr/lib/locale/so_SO/LC_CTYPE
-#usr/lib/locale/so_SO/LC_IDENTIFICATION
-#usr/lib/locale/so_SO/LC_MEASUREMENT
-#usr/lib/locale/so_SO/LC_MESSAGES
-#usr/lib/locale/so_SO/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/so_SO/LC_MONETARY
-#usr/lib/locale/so_SO/LC_NAME
-#usr/lib/locale/so_SO/LC_NUMERIC
-#usr/lib/locale/so_SO/LC_PAPER
-#usr/lib/locale/so_SO/LC_TELEPHONE
-#usr/lib/locale/so_SO/LC_TIME
-#usr/lib/locale/sq_AL
-#usr/lib/locale/sq_AL.utf8
-#usr/lib/locale/sq_AL.utf8/LC_ADDRESS
-#usr/lib/locale/sq_AL.utf8/LC_COLLATE
-#usr/lib/locale/sq_AL.utf8/LC_CTYPE
-#usr/lib/locale/sq_AL.utf8/LC_IDENTIFICATION
-#usr/lib/locale/sq_AL.utf8/LC_MEASUREMENT
-#usr/lib/locale/sq_AL.utf8/LC_MESSAGES
-#usr/lib/locale/sq_AL.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sq_AL.utf8/LC_MONETARY
-#usr/lib/locale/sq_AL.utf8/LC_NAME
-#usr/lib/locale/sq_AL.utf8/LC_NUMERIC
-#usr/lib/locale/sq_AL.utf8/LC_PAPER
-#usr/lib/locale/sq_AL.utf8/LC_TELEPHONE
-#usr/lib/locale/sq_AL.utf8/LC_TIME
-#usr/lib/locale/sq_AL/LC_ADDRESS
-#usr/lib/locale/sq_AL/LC_COLLATE
-#usr/lib/locale/sq_AL/LC_CTYPE
-#usr/lib/locale/sq_AL/LC_IDENTIFICATION
-#usr/lib/locale/sq_AL/LC_MEASUREMENT
-#usr/lib/locale/sq_AL/LC_MESSAGES
-#usr/lib/locale/sq_AL/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sq_AL/LC_MONETARY
-#usr/lib/locale/sq_AL/LC_NAME
-#usr/lib/locale/sq_AL/LC_NUMERIC
-#usr/lib/locale/sq_AL/LC_PAPER
-#usr/lib/locale/sq_AL/LC_TELEPHONE
-#usr/lib/locale/sq_AL/LC_TIME
-#usr/lib/locale/sq_MK
-#usr/lib/locale/sq_MK/LC_ADDRESS
-#usr/lib/locale/sq_MK/LC_COLLATE
-#usr/lib/locale/sq_MK/LC_CTYPE
-#usr/lib/locale/sq_MK/LC_IDENTIFICATION
-#usr/lib/locale/sq_MK/LC_MEASUREMENT
-#usr/lib/locale/sq_MK/LC_MESSAGES
-#usr/lib/locale/sq_MK/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sq_MK/LC_MONETARY
-#usr/lib/locale/sq_MK/LC_NAME
-#usr/lib/locale/sq_MK/LC_NUMERIC
-#usr/lib/locale/sq_MK/LC_PAPER
-#usr/lib/locale/sq_MK/LC_TELEPHONE
-#usr/lib/locale/sq_MK/LC_TIME
-#usr/lib/locale/sr_ME
-#usr/lib/locale/sr_ME/LC_ADDRESS
-#usr/lib/locale/sr_ME/LC_COLLATE
-#usr/lib/locale/sr_ME/LC_CTYPE
-#usr/lib/locale/sr_ME/LC_IDENTIFICATION
-#usr/lib/locale/sr_ME/LC_MEASUREMENT
-#usr/lib/locale/sr_ME/LC_MESSAGES
-#usr/lib/locale/sr_ME/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sr_ME/LC_MONETARY
-#usr/lib/locale/sr_ME/LC_NAME
-#usr/lib/locale/sr_ME/LC_NUMERIC
-#usr/lib/locale/sr_ME/LC_PAPER
-#usr/lib/locale/sr_ME/LC_TELEPHONE
-#usr/lib/locale/sr_ME/LC_TIME
-#usr/lib/locale/sr_RS
-#usr/lib/locale/sr_RS/LC_ADDRESS
-#usr/lib/locale/sr_RS/LC_COLLATE
-#usr/lib/locale/sr_RS/LC_CTYPE
-#usr/lib/locale/sr_RS/LC_IDENTIFICATION
-#usr/lib/locale/sr_RS/LC_MEASUREMENT
-#usr/lib/locale/sr_RS/LC_MESSAGES
-#usr/lib/locale/sr_RS/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sr_RS/LC_MONETARY
-#usr/lib/locale/sr_RS/LC_NAME
-#usr/lib/locale/sr_RS/LC_NUMERIC
-#usr/lib/locale/sr_RS/LC_PAPER
-#usr/lib/locale/sr_RS/LC_TELEPHONE
-#usr/lib/locale/sr_RS/LC_TIME
-#usr/lib/locale/sr_RS@latin
-#usr/lib/locale/sr_RS@latin/LC_ADDRESS
-#usr/lib/locale/sr_RS@latin/LC_COLLATE
-#usr/lib/locale/sr_RS@latin/LC_CTYPE
-#usr/lib/locale/sr_RS@latin/LC_IDENTIFICATION
-#usr/lib/locale/sr_RS@latin/LC_MEASUREMENT
-#usr/lib/locale/sr_RS@latin/LC_MESSAGES
-#usr/lib/locale/sr_RS@latin/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sr_RS@latin/LC_MONETARY
-#usr/lib/locale/sr_RS@latin/LC_NAME
-#usr/lib/locale/sr_RS@latin/LC_NUMERIC
-#usr/lib/locale/sr_RS@latin/LC_PAPER
-#usr/lib/locale/sr_RS@latin/LC_TELEPHONE
-#usr/lib/locale/sr_RS@latin/LC_TIME
-#usr/lib/locale/ss_ZA
-#usr/lib/locale/ss_ZA/LC_ADDRESS
-#usr/lib/locale/ss_ZA/LC_COLLATE
-#usr/lib/locale/ss_ZA/LC_CTYPE
-#usr/lib/locale/ss_ZA/LC_IDENTIFICATION
-#usr/lib/locale/ss_ZA/LC_MEASUREMENT
-#usr/lib/locale/ss_ZA/LC_MESSAGES
-#usr/lib/locale/ss_ZA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ss_ZA/LC_MONETARY
-#usr/lib/locale/ss_ZA/LC_NAME
-#usr/lib/locale/ss_ZA/LC_NUMERIC
-#usr/lib/locale/ss_ZA/LC_PAPER
-#usr/lib/locale/ss_ZA/LC_TELEPHONE
-#usr/lib/locale/ss_ZA/LC_TIME
-#usr/lib/locale/st_ZA
-#usr/lib/locale/st_ZA.utf8
-#usr/lib/locale/st_ZA.utf8/LC_ADDRESS
-#usr/lib/locale/st_ZA.utf8/LC_COLLATE
-#usr/lib/locale/st_ZA.utf8/LC_CTYPE
-#usr/lib/locale/st_ZA.utf8/LC_IDENTIFICATION
-#usr/lib/locale/st_ZA.utf8/LC_MEASUREMENT
-#usr/lib/locale/st_ZA.utf8/LC_MESSAGES
-#usr/lib/locale/st_ZA.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/st_ZA.utf8/LC_MONETARY
-#usr/lib/locale/st_ZA.utf8/LC_NAME
-#usr/lib/locale/st_ZA.utf8/LC_NUMERIC
-#usr/lib/locale/st_ZA.utf8/LC_PAPER
-#usr/lib/locale/st_ZA.utf8/LC_TELEPHONE
-#usr/lib/locale/st_ZA.utf8/LC_TIME
-#usr/lib/locale/st_ZA/LC_ADDRESS
-#usr/lib/locale/st_ZA/LC_COLLATE
-#usr/lib/locale/st_ZA/LC_CTYPE
-#usr/lib/locale/st_ZA/LC_IDENTIFICATION
-#usr/lib/locale/st_ZA/LC_MEASUREMENT
-#usr/lib/locale/st_ZA/LC_MESSAGES
-#usr/lib/locale/st_ZA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/st_ZA/LC_MONETARY
-#usr/lib/locale/st_ZA/LC_NAME
-#usr/lib/locale/st_ZA/LC_NUMERIC
-#usr/lib/locale/st_ZA/LC_PAPER
-#usr/lib/locale/st_ZA/LC_TELEPHONE
-#usr/lib/locale/st_ZA/LC_TIME
-#usr/lib/locale/sv_FI
-#usr/lib/locale/sv_FI.utf8
-#usr/lib/locale/sv_FI.utf8/LC_ADDRESS
-#usr/lib/locale/sv_FI.utf8/LC_COLLATE
-#usr/lib/locale/sv_FI.utf8/LC_CTYPE
-#usr/lib/locale/sv_FI.utf8/LC_IDENTIFICATION
-#usr/lib/locale/sv_FI.utf8/LC_MEASUREMENT
-#usr/lib/locale/sv_FI.utf8/LC_MESSAGES
-#usr/lib/locale/sv_FI.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sv_FI.utf8/LC_MONETARY
-#usr/lib/locale/sv_FI.utf8/LC_NAME
-#usr/lib/locale/sv_FI.utf8/LC_NUMERIC
-#usr/lib/locale/sv_FI.utf8/LC_PAPER
-#usr/lib/locale/sv_FI.utf8/LC_TELEPHONE
-#usr/lib/locale/sv_FI.utf8/LC_TIME
-#usr/lib/locale/sv_FI/LC_ADDRESS
-#usr/lib/locale/sv_FI/LC_COLLATE
-#usr/lib/locale/sv_FI/LC_CTYPE
-#usr/lib/locale/sv_FI/LC_IDENTIFICATION
-#usr/lib/locale/sv_FI/LC_MEASUREMENT
-#usr/lib/locale/sv_FI/LC_MESSAGES
-#usr/lib/locale/sv_FI/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sv_FI/LC_MONETARY
-#usr/lib/locale/sv_FI/LC_NAME
-#usr/lib/locale/sv_FI/LC_NUMERIC
-#usr/lib/locale/sv_FI/LC_PAPER
-#usr/lib/locale/sv_FI/LC_TELEPHONE
-#usr/lib/locale/sv_FI/LC_TIME
-#usr/lib/locale/sv_FI@euro
-#usr/lib/locale/sv_FI@euro/LC_ADDRESS
-#usr/lib/locale/sv_FI@euro/LC_COLLATE
-#usr/lib/locale/sv_FI@euro/LC_CTYPE
-#usr/lib/locale/sv_FI@euro/LC_IDENTIFICATION
-#usr/lib/locale/sv_FI@euro/LC_MEASUREMENT
-#usr/lib/locale/sv_FI@euro/LC_MESSAGES
-#usr/lib/locale/sv_FI@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sv_FI@euro/LC_MONETARY
-#usr/lib/locale/sv_FI@euro/LC_NAME
-#usr/lib/locale/sv_FI@euro/LC_NUMERIC
-#usr/lib/locale/sv_FI@euro/LC_PAPER
-#usr/lib/locale/sv_FI@euro/LC_TELEPHONE
-#usr/lib/locale/sv_FI@euro/LC_TIME
-#usr/lib/locale/sv_SE
-#usr/lib/locale/sv_SE.iso885915
-#usr/lib/locale/sv_SE.iso885915/LC_ADDRESS
-#usr/lib/locale/sv_SE.iso885915/LC_COLLATE
-#usr/lib/locale/sv_SE.iso885915/LC_CTYPE
-#usr/lib/locale/sv_SE.iso885915/LC_IDENTIFICATION
-#usr/lib/locale/sv_SE.iso885915/LC_MEASUREMENT
-#usr/lib/locale/sv_SE.iso885915/LC_MESSAGES
-#usr/lib/locale/sv_SE.iso885915/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sv_SE.iso885915/LC_MONETARY
-#usr/lib/locale/sv_SE.iso885915/LC_NAME
-#usr/lib/locale/sv_SE.iso885915/LC_NUMERIC
-#usr/lib/locale/sv_SE.iso885915/LC_PAPER
-#usr/lib/locale/sv_SE.iso885915/LC_TELEPHONE
-#usr/lib/locale/sv_SE.iso885915/LC_TIME
-#usr/lib/locale/sv_SE.utf8
-#usr/lib/locale/sv_SE.utf8/LC_ADDRESS
-#usr/lib/locale/sv_SE.utf8/LC_COLLATE
-#usr/lib/locale/sv_SE.utf8/LC_CTYPE
-#usr/lib/locale/sv_SE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/sv_SE.utf8/LC_MEASUREMENT
-#usr/lib/locale/sv_SE.utf8/LC_MESSAGES
-#usr/lib/locale/sv_SE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sv_SE.utf8/LC_MONETARY
-#usr/lib/locale/sv_SE.utf8/LC_NAME
-#usr/lib/locale/sv_SE.utf8/LC_NUMERIC
-#usr/lib/locale/sv_SE.utf8/LC_PAPER
-#usr/lib/locale/sv_SE.utf8/LC_TELEPHONE
-#usr/lib/locale/sv_SE.utf8/LC_TIME
-#usr/lib/locale/sv_SE/LC_ADDRESS
-#usr/lib/locale/sv_SE/LC_COLLATE
-#usr/lib/locale/sv_SE/LC_CTYPE
-#usr/lib/locale/sv_SE/LC_IDENTIFICATION
-#usr/lib/locale/sv_SE/LC_MEASUREMENT
-#usr/lib/locale/sv_SE/LC_MESSAGES
-#usr/lib/locale/sv_SE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sv_SE/LC_MONETARY
-#usr/lib/locale/sv_SE/LC_NAME
-#usr/lib/locale/sv_SE/LC_NUMERIC
-#usr/lib/locale/sv_SE/LC_PAPER
-#usr/lib/locale/sv_SE/LC_TELEPHONE
-#usr/lib/locale/sv_SE/LC_TIME
-#usr/lib/locale/ta_IN
-#usr/lib/locale/ta_IN/LC_ADDRESS
-#usr/lib/locale/ta_IN/LC_COLLATE
-#usr/lib/locale/ta_IN/LC_CTYPE
-#usr/lib/locale/ta_IN/LC_IDENTIFICATION
-#usr/lib/locale/ta_IN/LC_MEASUREMENT
-#usr/lib/locale/ta_IN/LC_MESSAGES
-#usr/lib/locale/ta_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ta_IN/LC_MONETARY
-#usr/lib/locale/ta_IN/LC_NAME
-#usr/lib/locale/ta_IN/LC_NUMERIC
-#usr/lib/locale/ta_IN/LC_PAPER
-#usr/lib/locale/ta_IN/LC_TELEPHONE
-#usr/lib/locale/ta_IN/LC_TIME
-#usr/lib/locale/te_IN
-#usr/lib/locale/te_IN/LC_ADDRESS
-#usr/lib/locale/te_IN/LC_COLLATE
-#usr/lib/locale/te_IN/LC_CTYPE
-#usr/lib/locale/te_IN/LC_IDENTIFICATION
-#usr/lib/locale/te_IN/LC_MEASUREMENT
-#usr/lib/locale/te_IN/LC_MESSAGES
-#usr/lib/locale/te_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/te_IN/LC_MONETARY
-#usr/lib/locale/te_IN/LC_NAME
-#usr/lib/locale/te_IN/LC_NUMERIC
-#usr/lib/locale/te_IN/LC_PAPER
-#usr/lib/locale/te_IN/LC_TELEPHONE
-#usr/lib/locale/te_IN/LC_TIME
-#usr/lib/locale/tg_TJ
-#usr/lib/locale/tg_TJ.utf8
-#usr/lib/locale/tg_TJ.utf8/LC_ADDRESS
-#usr/lib/locale/tg_TJ.utf8/LC_COLLATE
-#usr/lib/locale/tg_TJ.utf8/LC_CTYPE
-#usr/lib/locale/tg_TJ.utf8/LC_IDENTIFICATION
-#usr/lib/locale/tg_TJ.utf8/LC_MEASUREMENT
-#usr/lib/locale/tg_TJ.utf8/LC_MESSAGES
-#usr/lib/locale/tg_TJ.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/tg_TJ.utf8/LC_MONETARY
-#usr/lib/locale/tg_TJ.utf8/LC_NAME
-#usr/lib/locale/tg_TJ.utf8/LC_NUMERIC
-#usr/lib/locale/tg_TJ.utf8/LC_PAPER
-#usr/lib/locale/tg_TJ.utf8/LC_TELEPHONE
-#usr/lib/locale/tg_TJ.utf8/LC_TIME
-#usr/lib/locale/tg_TJ/LC_ADDRESS
-#usr/lib/locale/tg_TJ/LC_COLLATE
-#usr/lib/locale/tg_TJ/LC_CTYPE
-#usr/lib/locale/tg_TJ/LC_IDENTIFICATION
-#usr/lib/locale/tg_TJ/LC_MEASUREMENT
-#usr/lib/locale/tg_TJ/LC_MESSAGES
-#usr/lib/locale/tg_TJ/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/tg_TJ/LC_MONETARY
-#usr/lib/locale/tg_TJ/LC_NAME
-#usr/lib/locale/tg_TJ/LC_NUMERIC
-#usr/lib/locale/tg_TJ/LC_PAPER
-#usr/lib/locale/tg_TJ/LC_TELEPHONE
-#usr/lib/locale/tg_TJ/LC_TIME
-#usr/lib/locale/th_TH
-#usr/lib/locale/th_TH.utf8
-#usr/lib/locale/th_TH.utf8/LC_ADDRESS
-#usr/lib/locale/th_TH.utf8/LC_COLLATE
-#usr/lib/locale/th_TH.utf8/LC_CTYPE
-#usr/lib/locale/th_TH.utf8/LC_IDENTIFICATION
-#usr/lib/locale/th_TH.utf8/LC_MEASUREMENT
-#usr/lib/locale/th_TH.utf8/LC_MESSAGES
-#usr/lib/locale/th_TH.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/th_TH.utf8/LC_MONETARY
-#usr/lib/locale/th_TH.utf8/LC_NAME
-#usr/lib/locale/th_TH.utf8/LC_NUMERIC
-#usr/lib/locale/th_TH.utf8/LC_PAPER
-#usr/lib/locale/th_TH.utf8/LC_TELEPHONE
-#usr/lib/locale/th_TH.utf8/LC_TIME
-#usr/lib/locale/th_TH/LC_ADDRESS
-#usr/lib/locale/th_TH/LC_COLLATE
-#usr/lib/locale/th_TH/LC_CTYPE
-#usr/lib/locale/th_TH/LC_IDENTIFICATION
-#usr/lib/locale/th_TH/LC_MEASUREMENT
-#usr/lib/locale/th_TH/LC_MESSAGES
-#usr/lib/locale/th_TH/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/th_TH/LC_MONETARY
-#usr/lib/locale/th_TH/LC_NAME
-#usr/lib/locale/th_TH/LC_NUMERIC
-#usr/lib/locale/th_TH/LC_PAPER
-#usr/lib/locale/th_TH/LC_TELEPHONE
-#usr/lib/locale/th_TH/LC_TIME
-#usr/lib/locale/ti_ER
-#usr/lib/locale/ti_ER/LC_ADDRESS
-#usr/lib/locale/ti_ER/LC_COLLATE
-#usr/lib/locale/ti_ER/LC_CTYPE
-#usr/lib/locale/ti_ER/LC_IDENTIFICATION
-#usr/lib/locale/ti_ER/LC_MEASUREMENT
-#usr/lib/locale/ti_ER/LC_MESSAGES
-#usr/lib/locale/ti_ER/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ti_ER/LC_MONETARY
-#usr/lib/locale/ti_ER/LC_NAME
-#usr/lib/locale/ti_ER/LC_NUMERIC
-#usr/lib/locale/ti_ER/LC_PAPER
-#usr/lib/locale/ti_ER/LC_TELEPHONE
-#usr/lib/locale/ti_ER/LC_TIME
-#usr/lib/locale/ti_ET
-#usr/lib/locale/ti_ET/LC_ADDRESS
-#usr/lib/locale/ti_ET/LC_COLLATE
-#usr/lib/locale/ti_ET/LC_CTYPE
-#usr/lib/locale/ti_ET/LC_IDENTIFICATION
-#usr/lib/locale/ti_ET/LC_MEASUREMENT
-#usr/lib/locale/ti_ET/LC_MESSAGES
-#usr/lib/locale/ti_ET/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ti_ET/LC_MONETARY
-#usr/lib/locale/ti_ET/LC_NAME
-#usr/lib/locale/ti_ET/LC_NUMERIC
-#usr/lib/locale/ti_ET/LC_PAPER
-#usr/lib/locale/ti_ET/LC_TELEPHONE
-#usr/lib/locale/ti_ET/LC_TIME
-#usr/lib/locale/tig_ER
-#usr/lib/locale/tig_ER/LC_ADDRESS
-#usr/lib/locale/tig_ER/LC_COLLATE
-#usr/lib/locale/tig_ER/LC_CTYPE
-#usr/lib/locale/tig_ER/LC_IDENTIFICATION
-#usr/lib/locale/tig_ER/LC_MEASUREMENT
-#usr/lib/locale/tig_ER/LC_MESSAGES
-#usr/lib/locale/tig_ER/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/tig_ER/LC_MONETARY
-#usr/lib/locale/tig_ER/LC_NAME
-#usr/lib/locale/tig_ER/LC_NUMERIC
-#usr/lib/locale/tig_ER/LC_PAPER
-#usr/lib/locale/tig_ER/LC_TELEPHONE
-#usr/lib/locale/tig_ER/LC_TIME
-#usr/lib/locale/tk_TM
-#usr/lib/locale/tk_TM/LC_ADDRESS
-#usr/lib/locale/tk_TM/LC_COLLATE
-#usr/lib/locale/tk_TM/LC_CTYPE
-#usr/lib/locale/tk_TM/LC_IDENTIFICATION
-#usr/lib/locale/tk_TM/LC_MEASUREMENT
-#usr/lib/locale/tk_TM/LC_MESSAGES
-#usr/lib/locale/tk_TM/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/tk_TM/LC_MONETARY
-#usr/lib/locale/tk_TM/LC_NAME
-#usr/lib/locale/tk_TM/LC_NUMERIC
-#usr/lib/locale/tk_TM/LC_PAPER
-#usr/lib/locale/tk_TM/LC_TELEPHONE
-#usr/lib/locale/tk_TM/LC_TIME
-#usr/lib/locale/tl_PH
-#usr/lib/locale/tl_PH.utf8
-#usr/lib/locale/tl_PH.utf8/LC_ADDRESS
-#usr/lib/locale/tl_PH.utf8/LC_COLLATE
-#usr/lib/locale/tl_PH.utf8/LC_CTYPE
-#usr/lib/locale/tl_PH.utf8/LC_IDENTIFICATION
-#usr/lib/locale/tl_PH.utf8/LC_MEASUREMENT
-#usr/lib/locale/tl_PH.utf8/LC_MESSAGES
-#usr/lib/locale/tl_PH.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/tl_PH.utf8/LC_MONETARY
-#usr/lib/locale/tl_PH.utf8/LC_NAME
-#usr/lib/locale/tl_PH.utf8/LC_NUMERIC
-#usr/lib/locale/tl_PH.utf8/LC_PAPER
-#usr/lib/locale/tl_PH.utf8/LC_TELEPHONE
-#usr/lib/locale/tl_PH.utf8/LC_TIME
-#usr/lib/locale/tl_PH/LC_ADDRESS
-#usr/lib/locale/tl_PH/LC_COLLATE
-#usr/lib/locale/tl_PH/LC_CTYPE
-#usr/lib/locale/tl_PH/LC_IDENTIFICATION
-#usr/lib/locale/tl_PH/LC_MEASUREMENT
-#usr/lib/locale/tl_PH/LC_MESSAGES
-#usr/lib/locale/tl_PH/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/tl_PH/LC_MONETARY
-#usr/lib/locale/tl_PH/LC_NAME
-#usr/lib/locale/tl_PH/LC_NUMERIC
-#usr/lib/locale/tl_PH/LC_PAPER
-#usr/lib/locale/tl_PH/LC_TELEPHONE
-#usr/lib/locale/tl_PH/LC_TIME
-#usr/lib/locale/tn_ZA
-#usr/lib/locale/tn_ZA/LC_ADDRESS
-#usr/lib/locale/tn_ZA/LC_COLLATE
-#usr/lib/locale/tn_ZA/LC_CTYPE
-#usr/lib/locale/tn_ZA/LC_IDENTIFICATION
-#usr/lib/locale/tn_ZA/LC_MEASUREMENT
-#usr/lib/locale/tn_ZA/LC_MESSAGES
-#usr/lib/locale/tn_ZA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/tn_ZA/LC_MONETARY
-#usr/lib/locale/tn_ZA/LC_NAME
-#usr/lib/locale/tn_ZA/LC_NUMERIC
-#usr/lib/locale/tn_ZA/LC_PAPER
-#usr/lib/locale/tn_ZA/LC_TELEPHONE
-#usr/lib/locale/tn_ZA/LC_TIME
-#usr/lib/locale/tr_CY
-#usr/lib/locale/tr_CY.utf8
-#usr/lib/locale/tr_CY.utf8/LC_ADDRESS
-#usr/lib/locale/tr_CY.utf8/LC_COLLATE
-#usr/lib/locale/tr_CY.utf8/LC_CTYPE
-#usr/lib/locale/tr_CY.utf8/LC_IDENTIFICATION
-#usr/lib/locale/tr_CY.utf8/LC_MEASUREMENT
-#usr/lib/locale/tr_CY.utf8/LC_MESSAGES
-#usr/lib/locale/tr_CY.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/tr_CY.utf8/LC_MONETARY
-#usr/lib/locale/tr_CY.utf8/LC_NAME
-#usr/lib/locale/tr_CY.utf8/LC_NUMERIC
-#usr/lib/locale/tr_CY.utf8/LC_PAPER
-#usr/lib/locale/tr_CY.utf8/LC_TELEPHONE
-#usr/lib/locale/tr_CY.utf8/LC_TIME
-#usr/lib/locale/tr_CY/LC_ADDRESS
-#usr/lib/locale/tr_CY/LC_COLLATE
-#usr/lib/locale/tr_CY/LC_CTYPE
-#usr/lib/locale/tr_CY/LC_IDENTIFICATION
-#usr/lib/locale/tr_CY/LC_MEASUREMENT
-#usr/lib/locale/tr_CY/LC_MESSAGES
-#usr/lib/locale/tr_CY/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/tr_CY/LC_MONETARY
-#usr/lib/locale/tr_CY/LC_NAME
-#usr/lib/locale/tr_CY/LC_NUMERIC
-#usr/lib/locale/tr_CY/LC_PAPER
-#usr/lib/locale/tr_CY/LC_TELEPHONE
-#usr/lib/locale/tr_CY/LC_TIME
-#usr/lib/locale/tr_TR
-#usr/lib/locale/tr_TR.utf8
-#usr/lib/locale/tr_TR.utf8/LC_ADDRESS
-#usr/lib/locale/tr_TR.utf8/LC_COLLATE
-#usr/lib/locale/tr_TR.utf8/LC_CTYPE
-#usr/lib/locale/tr_TR.utf8/LC_IDENTIFICATION
-#usr/lib/locale/tr_TR.utf8/LC_MEASUREMENT
-#usr/lib/locale/tr_TR.utf8/LC_MESSAGES
-#usr/lib/locale/tr_TR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/tr_TR.utf8/LC_MONETARY
-#usr/lib/locale/tr_TR.utf8/LC_NAME
-#usr/lib/locale/tr_TR.utf8/LC_NUMERIC
-#usr/lib/locale/tr_TR.utf8/LC_PAPER
-#usr/lib/locale/tr_TR.utf8/LC_TELEPHONE
-#usr/lib/locale/tr_TR.utf8/LC_TIME
-#usr/lib/locale/tr_TR/LC_ADDRESS
-#usr/lib/locale/tr_TR/LC_COLLATE
-#usr/lib/locale/tr_TR/LC_CTYPE
-#usr/lib/locale/tr_TR/LC_IDENTIFICATION
-#usr/lib/locale/tr_TR/LC_MEASUREMENT
-#usr/lib/locale/tr_TR/LC_MESSAGES
-#usr/lib/locale/tr_TR/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/tr_TR/LC_MONETARY
-#usr/lib/locale/tr_TR/LC_NAME
-#usr/lib/locale/tr_TR/LC_NUMERIC
-#usr/lib/locale/tr_TR/LC_PAPER
-#usr/lib/locale/tr_TR/LC_TELEPHONE
-#usr/lib/locale/tr_TR/LC_TIME
-#usr/lib/locale/ts_ZA
-#usr/lib/locale/ts_ZA/LC_ADDRESS
-#usr/lib/locale/ts_ZA/LC_COLLATE
-#usr/lib/locale/ts_ZA/LC_CTYPE
-#usr/lib/locale/ts_ZA/LC_IDENTIFICATION
-#usr/lib/locale/ts_ZA/LC_MEASUREMENT
-#usr/lib/locale/ts_ZA/LC_MESSAGES
-#usr/lib/locale/ts_ZA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ts_ZA/LC_MONETARY
-#usr/lib/locale/ts_ZA/LC_NAME
-#usr/lib/locale/ts_ZA/LC_NUMERIC
-#usr/lib/locale/ts_ZA/LC_PAPER
-#usr/lib/locale/ts_ZA/LC_TELEPHONE
-#usr/lib/locale/ts_ZA/LC_TIME
-#usr/lib/locale/tt_RU
-#usr/lib/locale/tt_RU/LC_ADDRESS
-#usr/lib/locale/tt_RU/LC_COLLATE
-#usr/lib/locale/tt_RU/LC_CTYPE
-#usr/lib/locale/tt_RU/LC_IDENTIFICATION
-#usr/lib/locale/tt_RU/LC_MEASUREMENT
-#usr/lib/locale/tt_RU/LC_MESSAGES
-#usr/lib/locale/tt_RU/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/tt_RU/LC_MONETARY
-#usr/lib/locale/tt_RU/LC_NAME
-#usr/lib/locale/tt_RU/LC_NUMERIC
-#usr/lib/locale/tt_RU/LC_PAPER
-#usr/lib/locale/tt_RU/LC_TELEPHONE
-#usr/lib/locale/tt_RU/LC_TIME
-#usr/lib/locale/tt_RU@iqtelif
-#usr/lib/locale/tt_RU@iqtelif/LC_ADDRESS
-#usr/lib/locale/tt_RU@iqtelif/LC_COLLATE
-#usr/lib/locale/tt_RU@iqtelif/LC_CTYPE
-#usr/lib/locale/tt_RU@iqtelif/LC_IDENTIFICATION
-#usr/lib/locale/tt_RU@iqtelif/LC_MEASUREMENT
-#usr/lib/locale/tt_RU@iqtelif/LC_MESSAGES
-#usr/lib/locale/tt_RU@iqtelif/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/tt_RU@iqtelif/LC_MONETARY
-#usr/lib/locale/tt_RU@iqtelif/LC_NAME
-#usr/lib/locale/tt_RU@iqtelif/LC_NUMERIC
-#usr/lib/locale/tt_RU@iqtelif/LC_PAPER
-#usr/lib/locale/tt_RU@iqtelif/LC_TELEPHONE
-#usr/lib/locale/tt_RU@iqtelif/LC_TIME
-#usr/lib/locale/ug_CN
-#usr/lib/locale/ug_CN/LC_ADDRESS
-#usr/lib/locale/ug_CN/LC_COLLATE
-#usr/lib/locale/ug_CN/LC_CTYPE
-#usr/lib/locale/ug_CN/LC_IDENTIFICATION
-#usr/lib/locale/ug_CN/LC_MEASUREMENT
-#usr/lib/locale/ug_CN/LC_MESSAGES
-#usr/lib/locale/ug_CN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ug_CN/LC_MONETARY
-#usr/lib/locale/ug_CN/LC_NAME
-#usr/lib/locale/ug_CN/LC_NUMERIC
-#usr/lib/locale/ug_CN/LC_PAPER
-#usr/lib/locale/ug_CN/LC_TELEPHONE
-#usr/lib/locale/ug_CN/LC_TIME
-#usr/lib/locale/uk_UA
-#usr/lib/locale/uk_UA.utf8
-#usr/lib/locale/uk_UA.utf8/LC_ADDRESS
-#usr/lib/locale/uk_UA.utf8/LC_COLLATE
-#usr/lib/locale/uk_UA.utf8/LC_CTYPE
-#usr/lib/locale/uk_UA.utf8/LC_IDENTIFICATION
-#usr/lib/locale/uk_UA.utf8/LC_MEASUREMENT
-#usr/lib/locale/uk_UA.utf8/LC_MESSAGES
-#usr/lib/locale/uk_UA.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/uk_UA.utf8/LC_MONETARY
-#usr/lib/locale/uk_UA.utf8/LC_NAME
-#usr/lib/locale/uk_UA.utf8/LC_NUMERIC
-#usr/lib/locale/uk_UA.utf8/LC_PAPER
-#usr/lib/locale/uk_UA.utf8/LC_TELEPHONE
-#usr/lib/locale/uk_UA.utf8/LC_TIME
-#usr/lib/locale/uk_UA/LC_ADDRESS
-#usr/lib/locale/uk_UA/LC_COLLATE
-#usr/lib/locale/uk_UA/LC_CTYPE
-#usr/lib/locale/uk_UA/LC_IDENTIFICATION
-#usr/lib/locale/uk_UA/LC_MEASUREMENT
-#usr/lib/locale/uk_UA/LC_MESSAGES
-#usr/lib/locale/uk_UA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/uk_UA/LC_MONETARY
-#usr/lib/locale/uk_UA/LC_NAME
-#usr/lib/locale/uk_UA/LC_NUMERIC
-#usr/lib/locale/uk_UA/LC_PAPER
-#usr/lib/locale/uk_UA/LC_TELEPHONE
-#usr/lib/locale/uk_UA/LC_TIME
-#usr/lib/locale/ur_PK
-#usr/lib/locale/ur_PK/LC_ADDRESS
-#usr/lib/locale/ur_PK/LC_COLLATE
-#usr/lib/locale/ur_PK/LC_CTYPE
-#usr/lib/locale/ur_PK/LC_IDENTIFICATION
-#usr/lib/locale/ur_PK/LC_MEASUREMENT
-#usr/lib/locale/ur_PK/LC_MESSAGES
-#usr/lib/locale/ur_PK/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ur_PK/LC_MONETARY
-#usr/lib/locale/ur_PK/LC_NAME
-#usr/lib/locale/ur_PK/LC_NUMERIC
-#usr/lib/locale/ur_PK/LC_PAPER
-#usr/lib/locale/ur_PK/LC_TELEPHONE
-#usr/lib/locale/ur_PK/LC_TIME
-#usr/lib/locale/uz_UZ
-#usr/lib/locale/uz_UZ/LC_ADDRESS
-#usr/lib/locale/uz_UZ/LC_COLLATE
-#usr/lib/locale/uz_UZ/LC_CTYPE
-#usr/lib/locale/uz_UZ/LC_IDENTIFICATION
-#usr/lib/locale/uz_UZ/LC_MEASUREMENT
-#usr/lib/locale/uz_UZ/LC_MESSAGES
-#usr/lib/locale/uz_UZ/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/uz_UZ/LC_MONETARY
-#usr/lib/locale/uz_UZ/LC_NAME
-#usr/lib/locale/uz_UZ/LC_NUMERIC
-#usr/lib/locale/uz_UZ/LC_PAPER
-#usr/lib/locale/uz_UZ/LC_TELEPHONE
-#usr/lib/locale/uz_UZ/LC_TIME
-#usr/lib/locale/uz_UZ@cyrillic
-#usr/lib/locale/uz_UZ@cyrillic/LC_ADDRESS
-#usr/lib/locale/uz_UZ@cyrillic/LC_COLLATE
-#usr/lib/locale/uz_UZ@cyrillic/LC_CTYPE
-#usr/lib/locale/uz_UZ@cyrillic/LC_IDENTIFICATION
-#usr/lib/locale/uz_UZ@cyrillic/LC_MEASUREMENT
-#usr/lib/locale/uz_UZ@cyrillic/LC_MESSAGES
-#usr/lib/locale/uz_UZ@cyrillic/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/uz_UZ@cyrillic/LC_MONETARY
-#usr/lib/locale/uz_UZ@cyrillic/LC_NAME
-#usr/lib/locale/uz_UZ@cyrillic/LC_NUMERIC
-#usr/lib/locale/uz_UZ@cyrillic/LC_PAPER
-#usr/lib/locale/uz_UZ@cyrillic/LC_TELEPHONE
-#usr/lib/locale/uz_UZ@cyrillic/LC_TIME
-#usr/lib/locale/ve_ZA
-#usr/lib/locale/ve_ZA/LC_ADDRESS
-#usr/lib/locale/ve_ZA/LC_COLLATE
-#usr/lib/locale/ve_ZA/LC_CTYPE
-#usr/lib/locale/ve_ZA/LC_IDENTIFICATION
-#usr/lib/locale/ve_ZA/LC_MEASUREMENT
-#usr/lib/locale/ve_ZA/LC_MESSAGES
-#usr/lib/locale/ve_ZA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ve_ZA/LC_MONETARY
-#usr/lib/locale/ve_ZA/LC_NAME
-#usr/lib/locale/ve_ZA/LC_NUMERIC
-#usr/lib/locale/ve_ZA/LC_PAPER
-#usr/lib/locale/ve_ZA/LC_TELEPHONE
-#usr/lib/locale/ve_ZA/LC_TIME
-#usr/lib/locale/vi_VN
-#usr/lib/locale/vi_VN.tcvn
-#usr/lib/locale/vi_VN.tcvn/LC_ADDRESS
-#usr/lib/locale/vi_VN.tcvn/LC_COLLATE
-#usr/lib/locale/vi_VN.tcvn/LC_CTYPE
-#usr/lib/locale/vi_VN.tcvn/LC_IDENTIFICATION
-#usr/lib/locale/vi_VN.tcvn/LC_MEASUREMENT
-#usr/lib/locale/vi_VN.tcvn/LC_MESSAGES
-#usr/lib/locale/vi_VN.tcvn/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/vi_VN.tcvn/LC_MONETARY
-#usr/lib/locale/vi_VN.tcvn/LC_NAME
-#usr/lib/locale/vi_VN.tcvn/LC_NUMERIC
-#usr/lib/locale/vi_VN.tcvn/LC_PAPER
-#usr/lib/locale/vi_VN.tcvn/LC_TELEPHONE
-#usr/lib/locale/vi_VN.tcvn/LC_TIME
-#usr/lib/locale/vi_VN/LC_ADDRESS
-#usr/lib/locale/vi_VN/LC_COLLATE
-#usr/lib/locale/vi_VN/LC_CTYPE
-#usr/lib/locale/vi_VN/LC_IDENTIFICATION
-#usr/lib/locale/vi_VN/LC_MEASUREMENT
-#usr/lib/locale/vi_VN/LC_MESSAGES
-#usr/lib/locale/vi_VN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/vi_VN/LC_MONETARY
-#usr/lib/locale/vi_VN/LC_NAME
-#usr/lib/locale/vi_VN/LC_NUMERIC
-#usr/lib/locale/vi_VN/LC_PAPER
-#usr/lib/locale/vi_VN/LC_TELEPHONE
-#usr/lib/locale/vi_VN/LC_TIME
-#usr/lib/locale/wa_BE
-#usr/lib/locale/wa_BE.utf8
-#usr/lib/locale/wa_BE.utf8/LC_ADDRESS
-#usr/lib/locale/wa_BE.utf8/LC_COLLATE
-#usr/lib/locale/wa_BE.utf8/LC_CTYPE
-#usr/lib/locale/wa_BE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/wa_BE.utf8/LC_MEASUREMENT
-#usr/lib/locale/wa_BE.utf8/LC_MESSAGES
-#usr/lib/locale/wa_BE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/wa_BE.utf8/LC_MONETARY
-#usr/lib/locale/wa_BE.utf8/LC_NAME
-#usr/lib/locale/wa_BE.utf8/LC_NUMERIC
-#usr/lib/locale/wa_BE.utf8/LC_PAPER
-#usr/lib/locale/wa_BE.utf8/LC_TELEPHONE
-#usr/lib/locale/wa_BE.utf8/LC_TIME
-#usr/lib/locale/wa_BE/LC_ADDRESS
-#usr/lib/locale/wa_BE/LC_COLLATE
-#usr/lib/locale/wa_BE/LC_CTYPE
-#usr/lib/locale/wa_BE/LC_IDENTIFICATION
-#usr/lib/locale/wa_BE/LC_MEASUREMENT
-#usr/lib/locale/wa_BE/LC_MESSAGES
-#usr/lib/locale/wa_BE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/wa_BE/LC_MONETARY
-#usr/lib/locale/wa_BE/LC_NAME
-#usr/lib/locale/wa_BE/LC_NUMERIC
-#usr/lib/locale/wa_BE/LC_PAPER
-#usr/lib/locale/wa_BE/LC_TELEPHONE
-#usr/lib/locale/wa_BE/LC_TIME
-#usr/lib/locale/wa_BE@euro
-#usr/lib/locale/wa_BE@euro/LC_ADDRESS
-#usr/lib/locale/wa_BE@euro/LC_COLLATE
-#usr/lib/locale/wa_BE@euro/LC_CTYPE
-#usr/lib/locale/wa_BE@euro/LC_IDENTIFICATION
-#usr/lib/locale/wa_BE@euro/LC_MEASUREMENT
-#usr/lib/locale/wa_BE@euro/LC_MESSAGES
-#usr/lib/locale/wa_BE@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/wa_BE@euro/LC_MONETARY
-#usr/lib/locale/wa_BE@euro/LC_NAME
-#usr/lib/locale/wa_BE@euro/LC_NUMERIC
-#usr/lib/locale/wa_BE@euro/LC_PAPER
-#usr/lib/locale/wa_BE@euro/LC_TELEPHONE
-#usr/lib/locale/wa_BE@euro/LC_TIME
-#usr/lib/locale/wo_SN
-#usr/lib/locale/wo_SN/LC_ADDRESS
-#usr/lib/locale/wo_SN/LC_COLLATE
-#usr/lib/locale/wo_SN/LC_CTYPE
-#usr/lib/locale/wo_SN/LC_IDENTIFICATION
-#usr/lib/locale/wo_SN/LC_MEASUREMENT
-#usr/lib/locale/wo_SN/LC_MESSAGES
-#usr/lib/locale/wo_SN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/wo_SN/LC_MONETARY
-#usr/lib/locale/wo_SN/LC_NAME
-#usr/lib/locale/wo_SN/LC_NUMERIC
-#usr/lib/locale/wo_SN/LC_PAPER
-#usr/lib/locale/wo_SN/LC_TELEPHONE
-#usr/lib/locale/wo_SN/LC_TIME
-#usr/lib/locale/xh_ZA
-#usr/lib/locale/xh_ZA.utf8
-#usr/lib/locale/xh_ZA.utf8/LC_ADDRESS
-#usr/lib/locale/xh_ZA.utf8/LC_COLLATE
-#usr/lib/locale/xh_ZA.utf8/LC_CTYPE
-#usr/lib/locale/xh_ZA.utf8/LC_IDENTIFICATION
-#usr/lib/locale/xh_ZA.utf8/LC_MEASUREMENT
-#usr/lib/locale/xh_ZA.utf8/LC_MESSAGES
-#usr/lib/locale/xh_ZA.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/xh_ZA.utf8/LC_MONETARY
-#usr/lib/locale/xh_ZA.utf8/LC_NAME
-#usr/lib/locale/xh_ZA.utf8/LC_NUMERIC
-#usr/lib/locale/xh_ZA.utf8/LC_PAPER
-#usr/lib/locale/xh_ZA.utf8/LC_TELEPHONE
-#usr/lib/locale/xh_ZA.utf8/LC_TIME
-#usr/lib/locale/xh_ZA/LC_ADDRESS
-#usr/lib/locale/xh_ZA/LC_COLLATE
-#usr/lib/locale/xh_ZA/LC_CTYPE
-#usr/lib/locale/xh_ZA/LC_IDENTIFICATION
-#usr/lib/locale/xh_ZA/LC_MEASUREMENT
-#usr/lib/locale/xh_ZA/LC_MESSAGES
-#usr/lib/locale/xh_ZA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/xh_ZA/LC_MONETARY
-#usr/lib/locale/xh_ZA/LC_NAME
-#usr/lib/locale/xh_ZA/LC_NUMERIC
-#usr/lib/locale/xh_ZA/LC_PAPER
-#usr/lib/locale/xh_ZA/LC_TELEPHONE
-#usr/lib/locale/xh_ZA/LC_TIME
-#usr/lib/locale/yi_US
-#usr/lib/locale/yi_US.utf8
-#usr/lib/locale/yi_US.utf8/LC_ADDRESS
-#usr/lib/locale/yi_US.utf8/LC_COLLATE
-#usr/lib/locale/yi_US.utf8/LC_CTYPE
-#usr/lib/locale/yi_US.utf8/LC_IDENTIFICATION
-#usr/lib/locale/yi_US.utf8/LC_MEASUREMENT
-#usr/lib/locale/yi_US.utf8/LC_MESSAGES
-#usr/lib/locale/yi_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/yi_US.utf8/LC_MONETARY
-#usr/lib/locale/yi_US.utf8/LC_NAME
-#usr/lib/locale/yi_US.utf8/LC_NUMERIC
-#usr/lib/locale/yi_US.utf8/LC_PAPER
-#usr/lib/locale/yi_US.utf8/LC_TELEPHONE
-#usr/lib/locale/yi_US.utf8/LC_TIME
-#usr/lib/locale/yi_US/LC_ADDRESS
-#usr/lib/locale/yi_US/LC_COLLATE
-#usr/lib/locale/yi_US/LC_CTYPE
-#usr/lib/locale/yi_US/LC_IDENTIFICATION
-#usr/lib/locale/yi_US/LC_MEASUREMENT
-#usr/lib/locale/yi_US/LC_MESSAGES
-#usr/lib/locale/yi_US/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/yi_US/LC_MONETARY
-#usr/lib/locale/yi_US/LC_NAME
-#usr/lib/locale/yi_US/LC_NUMERIC
-#usr/lib/locale/yi_US/LC_PAPER
-#usr/lib/locale/yi_US/LC_TELEPHONE
-#usr/lib/locale/yi_US/LC_TIME
-#usr/lib/locale/yo_NG
-#usr/lib/locale/yo_NG/LC_ADDRESS
-#usr/lib/locale/yo_NG/LC_COLLATE
-#usr/lib/locale/yo_NG/LC_CTYPE
-#usr/lib/locale/yo_NG/LC_IDENTIFICATION
-#usr/lib/locale/yo_NG/LC_MEASUREMENT
-#usr/lib/locale/yo_NG/LC_MESSAGES
-#usr/lib/locale/yo_NG/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/yo_NG/LC_MONETARY
-#usr/lib/locale/yo_NG/LC_NAME
-#usr/lib/locale/yo_NG/LC_NUMERIC
-#usr/lib/locale/yo_NG/LC_PAPER
-#usr/lib/locale/yo_NG/LC_TELEPHONE
-#usr/lib/locale/yo_NG/LC_TIME
-#usr/lib/locale/zh_CN
-#usr/lib/locale/zh_CN.gb18030
-#usr/lib/locale/zh_CN.gb18030/LC_ADDRESS
-#usr/lib/locale/zh_CN.gb18030/LC_COLLATE
-#usr/lib/locale/zh_CN.gb18030/LC_CTYPE
-#usr/lib/locale/zh_CN.gb18030/LC_IDENTIFICATION
-#usr/lib/locale/zh_CN.gb18030/LC_MEASUREMENT
-#usr/lib/locale/zh_CN.gb18030/LC_MESSAGES
-#usr/lib/locale/zh_CN.gb18030/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/zh_CN.gb18030/LC_MONETARY
-#usr/lib/locale/zh_CN.gb18030/LC_NAME
-#usr/lib/locale/zh_CN.gb18030/LC_NUMERIC
-#usr/lib/locale/zh_CN.gb18030/LC_PAPER
-#usr/lib/locale/zh_CN.gb18030/LC_TELEPHONE
-#usr/lib/locale/zh_CN.gb18030/LC_TIME
-#usr/lib/locale/zh_CN.gbk
-#usr/lib/locale/zh_CN.gbk/LC_ADDRESS
-#usr/lib/locale/zh_CN.gbk/LC_COLLATE
-#usr/lib/locale/zh_CN.gbk/LC_CTYPE
-#usr/lib/locale/zh_CN.gbk/LC_IDENTIFICATION
-#usr/lib/locale/zh_CN.gbk/LC_MEASUREMENT
-#usr/lib/locale/zh_CN.gbk/LC_MESSAGES
-#usr/lib/locale/zh_CN.gbk/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/zh_CN.gbk/LC_MONETARY
-#usr/lib/locale/zh_CN.gbk/LC_NAME
-#usr/lib/locale/zh_CN.gbk/LC_NUMERIC
-#usr/lib/locale/zh_CN.gbk/LC_PAPER
-#usr/lib/locale/zh_CN.gbk/LC_TELEPHONE
-#usr/lib/locale/zh_CN.gbk/LC_TIME
-#usr/lib/locale/zh_CN.utf8
-#usr/lib/locale/zh_CN.utf8/LC_ADDRESS
-#usr/lib/locale/zh_CN.utf8/LC_COLLATE
-#usr/lib/locale/zh_CN.utf8/LC_CTYPE
-#usr/lib/locale/zh_CN.utf8/LC_IDENTIFICATION
-#usr/lib/locale/zh_CN.utf8/LC_MEASUREMENT
-#usr/lib/locale/zh_CN.utf8/LC_MESSAGES
-#usr/lib/locale/zh_CN.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/zh_CN.utf8/LC_MONETARY
-#usr/lib/locale/zh_CN.utf8/LC_NAME
-#usr/lib/locale/zh_CN.utf8/LC_NUMERIC
-#usr/lib/locale/zh_CN.utf8/LC_PAPER
-#usr/lib/locale/zh_CN.utf8/LC_TELEPHONE
-#usr/lib/locale/zh_CN.utf8/LC_TIME
-#usr/lib/locale/zh_CN/LC_ADDRESS
-#usr/lib/locale/zh_CN/LC_COLLATE
-#usr/lib/locale/zh_CN/LC_CTYPE
-#usr/lib/locale/zh_CN/LC_IDENTIFICATION
-#usr/lib/locale/zh_CN/LC_MEASUREMENT
-#usr/lib/locale/zh_CN/LC_MESSAGES
-#usr/lib/locale/zh_CN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/zh_CN/LC_MONETARY
-#usr/lib/locale/zh_CN/LC_NAME
-#usr/lib/locale/zh_CN/LC_NUMERIC
-#usr/lib/locale/zh_CN/LC_PAPER
-#usr/lib/locale/zh_CN/LC_TELEPHONE
-#usr/lib/locale/zh_CN/LC_TIME
-#usr/lib/locale/zh_HK
-#usr/lib/locale/zh_HK.utf8
-#usr/lib/locale/zh_HK.utf8/LC_ADDRESS
-#usr/lib/locale/zh_HK.utf8/LC_COLLATE
-#usr/lib/locale/zh_HK.utf8/LC_CTYPE
-#usr/lib/locale/zh_HK.utf8/LC_IDENTIFICATION
-#usr/lib/locale/zh_HK.utf8/LC_MEASUREMENT
-#usr/lib/locale/zh_HK.utf8/LC_MESSAGES
-#usr/lib/locale/zh_HK.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/zh_HK.utf8/LC_MONETARY
-#usr/lib/locale/zh_HK.utf8/LC_NAME
-#usr/lib/locale/zh_HK.utf8/LC_NUMERIC
-#usr/lib/locale/zh_HK.utf8/LC_PAPER
-#usr/lib/locale/zh_HK.utf8/LC_TELEPHONE
-#usr/lib/locale/zh_HK.utf8/LC_TIME
-#usr/lib/locale/zh_HK/LC_ADDRESS
-#usr/lib/locale/zh_HK/LC_COLLATE
-#usr/lib/locale/zh_HK/LC_CTYPE
-#usr/lib/locale/zh_HK/LC_IDENTIFICATION
-#usr/lib/locale/zh_HK/LC_MEASUREMENT
-#usr/lib/locale/zh_HK/LC_MESSAGES
-#usr/lib/locale/zh_HK/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/zh_HK/LC_MONETARY
-#usr/lib/locale/zh_HK/LC_NAME
-#usr/lib/locale/zh_HK/LC_NUMERIC
-#usr/lib/locale/zh_HK/LC_PAPER
-#usr/lib/locale/zh_HK/LC_TELEPHONE
-#usr/lib/locale/zh_HK/LC_TIME
-#usr/lib/locale/zh_SG
-#usr/lib/locale/zh_SG.gbk
-#usr/lib/locale/zh_SG.gbk/LC_ADDRESS
-#usr/lib/locale/zh_SG.gbk/LC_COLLATE
-#usr/lib/locale/zh_SG.gbk/LC_CTYPE
-#usr/lib/locale/zh_SG.gbk/LC_IDENTIFICATION
-#usr/lib/locale/zh_SG.gbk/LC_MEASUREMENT
-#usr/lib/locale/zh_SG.gbk/LC_MESSAGES
-#usr/lib/locale/zh_SG.gbk/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/zh_SG.gbk/LC_MONETARY
-#usr/lib/locale/zh_SG.gbk/LC_NAME
-#usr/lib/locale/zh_SG.gbk/LC_NUMERIC
-#usr/lib/locale/zh_SG.gbk/LC_PAPER
-#usr/lib/locale/zh_SG.gbk/LC_TELEPHONE
-#usr/lib/locale/zh_SG.gbk/LC_TIME
-#usr/lib/locale/zh_SG.utf8
-#usr/lib/locale/zh_SG.utf8/LC_ADDRESS
-#usr/lib/locale/zh_SG.utf8/LC_COLLATE
-#usr/lib/locale/zh_SG.utf8/LC_CTYPE
-#usr/lib/locale/zh_SG.utf8/LC_IDENTIFICATION
-#usr/lib/locale/zh_SG.utf8/LC_MEASUREMENT
-#usr/lib/locale/zh_SG.utf8/LC_MESSAGES
-#usr/lib/locale/zh_SG.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/zh_SG.utf8/LC_MONETARY
-#usr/lib/locale/zh_SG.utf8/LC_NAME
-#usr/lib/locale/zh_SG.utf8/LC_NUMERIC
-#usr/lib/locale/zh_SG.utf8/LC_PAPER
-#usr/lib/locale/zh_SG.utf8/LC_TELEPHONE
-#usr/lib/locale/zh_SG.utf8/LC_TIME
-#usr/lib/locale/zh_SG/LC_ADDRESS
-#usr/lib/locale/zh_SG/LC_COLLATE
-#usr/lib/locale/zh_SG/LC_CTYPE
-#usr/lib/locale/zh_SG/LC_IDENTIFICATION
-#usr/lib/locale/zh_SG/LC_MEASUREMENT
-#usr/lib/locale/zh_SG/LC_MESSAGES
-#usr/lib/locale/zh_SG/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/zh_SG/LC_MONETARY
-#usr/lib/locale/zh_SG/LC_NAME
-#usr/lib/locale/zh_SG/LC_NUMERIC
-#usr/lib/locale/zh_SG/LC_PAPER
-#usr/lib/locale/zh_SG/LC_TELEPHONE
-#usr/lib/locale/zh_SG/LC_TIME
-#usr/lib/locale/zh_TW
-#usr/lib/locale/zh_TW.euctw
-#usr/lib/locale/zh_TW.euctw/LC_ADDRESS
-#usr/lib/locale/zh_TW.euctw/LC_COLLATE
-#usr/lib/locale/zh_TW.euctw/LC_CTYPE
-#usr/lib/locale/zh_TW.euctw/LC_IDENTIFICATION
-#usr/lib/locale/zh_TW.euctw/LC_MEASUREMENT
-#usr/lib/locale/zh_TW.euctw/LC_MESSAGES
-#usr/lib/locale/zh_TW.euctw/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/zh_TW.euctw/LC_MONETARY
-#usr/lib/locale/zh_TW.euctw/LC_NAME
-#usr/lib/locale/zh_TW.euctw/LC_NUMERIC
-#usr/lib/locale/zh_TW.euctw/LC_PAPER
-#usr/lib/locale/zh_TW.euctw/LC_TELEPHONE
-#usr/lib/locale/zh_TW.euctw/LC_TIME
-#usr/lib/locale/zh_TW.utf8
-#usr/lib/locale/zh_TW.utf8/LC_ADDRESS
-#usr/lib/locale/zh_TW.utf8/LC_COLLATE
-#usr/lib/locale/zh_TW.utf8/LC_CTYPE
-#usr/lib/locale/zh_TW.utf8/LC_IDENTIFICATION
-#usr/lib/locale/zh_TW.utf8/LC_MEASUREMENT
-#usr/lib/locale/zh_TW.utf8/LC_MESSAGES
-#usr/lib/locale/zh_TW.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/zh_TW.utf8/LC_MONETARY
-#usr/lib/locale/zh_TW.utf8/LC_NAME
-#usr/lib/locale/zh_TW.utf8/LC_NUMERIC
-#usr/lib/locale/zh_TW.utf8/LC_PAPER
-#usr/lib/locale/zh_TW.utf8/LC_TELEPHONE
-#usr/lib/locale/zh_TW.utf8/LC_TIME
-#usr/lib/locale/zh_TW/LC_ADDRESS
-#usr/lib/locale/zh_TW/LC_COLLATE
-#usr/lib/locale/zh_TW/LC_CTYPE
-#usr/lib/locale/zh_TW/LC_IDENTIFICATION
-#usr/lib/locale/zh_TW/LC_MEASUREMENT
-#usr/lib/locale/zh_TW/LC_MESSAGES
-#usr/lib/locale/zh_TW/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/zh_TW/LC_MONETARY
-#usr/lib/locale/zh_TW/LC_NAME
-#usr/lib/locale/zh_TW/LC_NUMERIC
-#usr/lib/locale/zh_TW/LC_PAPER
-#usr/lib/locale/zh_TW/LC_TELEPHONE
-#usr/lib/locale/zh_TW/LC_TIME
-#usr/lib/locale/zu_ZA
-#usr/lib/locale/zu_ZA.utf8
-#usr/lib/locale/zu_ZA.utf8/LC_ADDRESS
-#usr/lib/locale/zu_ZA.utf8/LC_COLLATE
-#usr/lib/locale/zu_ZA.utf8/LC_CTYPE
-#usr/lib/locale/zu_ZA.utf8/LC_IDENTIFICATION
-#usr/lib/locale/zu_ZA.utf8/LC_MEASUREMENT
-#usr/lib/locale/zu_ZA.utf8/LC_MESSAGES
-#usr/lib/locale/zu_ZA.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/zu_ZA.utf8/LC_MONETARY
-#usr/lib/locale/zu_ZA.utf8/LC_NAME
-#usr/lib/locale/zu_ZA.utf8/LC_NUMERIC
-#usr/lib/locale/zu_ZA.utf8/LC_PAPER
-#usr/lib/locale/zu_ZA.utf8/LC_TELEPHONE
-#usr/lib/locale/zu_ZA.utf8/LC_TIME
-#usr/lib/locale/zu_ZA/LC_ADDRESS
-#usr/lib/locale/zu_ZA/LC_COLLATE
-#usr/lib/locale/zu_ZA/LC_CTYPE
-#usr/lib/locale/zu_ZA/LC_IDENTIFICATION
-#usr/lib/locale/zu_ZA/LC_MEASUREMENT
-#usr/lib/locale/zu_ZA/LC_MESSAGES
-#usr/lib/locale/zu_ZA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/zu_ZA/LC_MONETARY
-#usr/lib/locale/zu_ZA/LC_NAME
-#usr/lib/locale/zu_ZA/LC_NUMERIC
-#usr/lib/locale/zu_ZA/LC_PAPER
-#usr/lib/locale/zu_ZA/LC_TELEPHONE
-#usr/lib/locale/zu_ZA/LC_TIME
+usr/lib/locale/locale-archive
 #usr/sbin/iconvconfig
 #usr/sbin/nscd
-#usr/sbin/rpcinfo
 #usr/sbin/zdump
 #usr/sbin/zic
 #usr/share/i18n
@@ -6741,6 +864,11 @@ usr/lib/locale
 #usr/share/i18n/charmaps/CP1257.gz
 #usr/share/i18n/charmaps/CP1258.gz
 #usr/share/i18n/charmaps/CP737.gz
+#usr/share/i18n/charmaps/CP770.gz
+#usr/share/i18n/charmaps/CP771.gz
+#usr/share/i18n/charmaps/CP772.gz
+#usr/share/i18n/charmaps/CP773.gz
+#usr/share/i18n/charmaps/CP774.gz
 #usr/share/i18n/charmaps/CP775.gz
 #usr/share/i18n/charmaps/CP949.gz
 #usr/share/i18n/charmaps/CSA_Z243.4-1985-1.gz
@@ -6954,8 +1082,10 @@ usr/lib/locale
 #usr/share/i18n/locales/aa_ER@saaho
 #usr/share/i18n/locales/aa_ET
 #usr/share/i18n/locales/af_ZA
+#usr/share/i18n/locales/ak_GH
 #usr/share/i18n/locales/am_ET
 #usr/share/i18n/locales/an_ES
+#usr/share/i18n/locales/anp_IN
 #usr/share/i18n/locales/ar_AE
 #usr/share/i18n/locales/ar_BH
 #usr/share/i18n/locales/ar_DZ
@@ -6971,23 +1101,29 @@ usr/lib/locale
 #usr/share/i18n/locales/ar_QA
 #usr/share/i18n/locales/ar_SA
 #usr/share/i18n/locales/ar_SD
+#usr/share/i18n/locales/ar_SS
 #usr/share/i18n/locales/ar_SY
 #usr/share/i18n/locales/ar_TN
 #usr/share/i18n/locales/ar_YE
 #usr/share/i18n/locales/as_IN
 #usr/share/i18n/locales/ast_ES
+#usr/share/i18n/locales/ayc_PE
 #usr/share/i18n/locales/az_AZ
 #usr/share/i18n/locales/be_BY
 #usr/share/i18n/locales/be_BY@latin
+#usr/share/i18n/locales/bem_ZM
 #usr/share/i18n/locales/ber_DZ
 #usr/share/i18n/locales/ber_MA
 #usr/share/i18n/locales/bg_BG
+#usr/share/i18n/locales/bhb_IN
+#usr/share/i18n/locales/bho_IN
 #usr/share/i18n/locales/bn_BD
 #usr/share/i18n/locales/bn_IN
 #usr/share/i18n/locales/bo_CN
 #usr/share/i18n/locales/bo_IN
 #usr/share/i18n/locales/br_FR
 #usr/share/i18n/locales/br_FR@euro
+#usr/share/i18n/locales/brx_IN
 #usr/share/i18n/locales/bs_BA
 #usr/share/i18n/locales/byn_ER
 #usr/share/i18n/locales/ca_AD
@@ -6995,6 +1131,9 @@ usr/lib/locale
 #usr/share/i18n/locales/ca_ES@euro
 #usr/share/i18n/locales/ca_FR
 #usr/share/i18n/locales/ca_IT
+#usr/share/i18n/locales/ce_RU
+#usr/share/i18n/locales/chr_US
+#usr/share/i18n/locales/cmn_TW
 #usr/share/i18n/locales/crh_UA
 #usr/share/i18n/locales/cs_CZ
 #usr/share/i18n/locales/csb_PL
@@ -7008,8 +1147,11 @@ usr/lib/locale
 #usr/share/i18n/locales/de_CH
 #usr/share/i18n/locales/de_DE
 #usr/share/i18n/locales/de_DE@euro
+#usr/share/i18n/locales/de_IT
+#usr/share/i18n/locales/de_LI
 #usr/share/i18n/locales/de_LU
 #usr/share/i18n/locales/de_LU@euro
+#usr/share/i18n/locales/doi_IN
 #usr/share/i18n/locales/dv_MV
 #usr/share/i18n/locales/dz_BT
 #usr/share/i18n/locales/el_CY
@@ -7024,6 +1166,7 @@ usr/lib/locale
 #usr/share/i18n/locales/en_HK
 #usr/share/i18n/locales/en_IE
 #usr/share/i18n/locales/en_IE@euro
+#usr/share/i18n/locales/en_IL
 #usr/share/i18n/locales/en_IN
 #usr/share/i18n/locales/en_NG
 #usr/share/i18n/locales/en_NZ
@@ -7031,12 +1174,15 @@ usr/lib/locale
 #usr/share/i18n/locales/en_SG
 #usr/share/i18n/locales/en_US
 #usr/share/i18n/locales/en_ZA
+#usr/share/i18n/locales/en_ZM
 #usr/share/i18n/locales/en_ZW
+#usr/share/i18n/locales/eo
 #usr/share/i18n/locales/es_AR
 #usr/share/i18n/locales/es_BO
 #usr/share/i18n/locales/es_CL
 #usr/share/i18n/locales/es_CO
 #usr/share/i18n/locales/es_CR
+#usr/share/i18n/locales/es_CU
 #usr/share/i18n/locales/es_DO
 #usr/share/i18n/locales/es_EC
 #usr/share/i18n/locales/es_ES
@@ -7057,8 +1203,8 @@ usr/lib/locale
 #usr/share/i18n/locales/eu_ES
 #usr/share/i18n/locales/eu_ES@euro
 #usr/share/i18n/locales/fa_IR
+#usr/share/i18n/locales/ff_SN
 #usr/share/i18n/locales/fi_FI
-#usr/share/i18n/locales/fi_FI.orig
 #usr/share/i18n/locales/fi_FI@euro
 #usr/share/i18n/locales/fil_PH
 #usr/share/i18n/locales/fo_FO
@@ -7085,6 +1231,7 @@ usr/lib/locale
 #usr/share/i18n/locales/gu_IN
 #usr/share/i18n/locales/gv_GB
 #usr/share/i18n/locales/ha_NG
+#usr/share/i18n/locales/hak_TW
 #usr/share/i18n/locales/he_IL
 #usr/share/i18n/locales/hi_IN
 #usr/share/i18n/locales/hne_IN
@@ -7094,6 +1241,7 @@ usr/lib/locale
 #usr/share/i18n/locales/hu_HU
 #usr/share/i18n/locales/hy_AM
 #usr/share/i18n/locales/i18n
+#usr/share/i18n/locales/ia_FR
 #usr/share/i18n/locales/id_ID
 #usr/share/i18n/locales/ig_NG
 #usr/share/i18n/locales/ik_CA
@@ -7105,7 +1253,6 @@ usr/lib/locale
 #usr/share/i18n/locales/it_IT
 #usr/share/i18n/locales/it_IT@euro
 #usr/share/i18n/locales/iu_CA
-#usr/share/i18n/locales/iw_IL
 #usr/share/i18n/locales/ja_JP
 #usr/share/i18n/locales/ka_GE
 #usr/share/i18n/locales/kk_KZ
@@ -7119,57 +1266,73 @@ usr/lib/locale
 #usr/share/i18n/locales/ku_TR
 #usr/share/i18n/locales/kw_GB
 #usr/share/i18n/locales/ky_KG
+#usr/share/i18n/locales/lb_LU
 #usr/share/i18n/locales/lg_UG
 #usr/share/i18n/locales/li_BE
 #usr/share/i18n/locales/li_NL
+#usr/share/i18n/locales/lij_IT
+#usr/share/i18n/locales/ln_CD
 #usr/share/i18n/locales/lo_LA
 #usr/share/i18n/locales/lt_LT
 #usr/share/i18n/locales/lv_LV
+#usr/share/i18n/locales/lzh_TW
+#usr/share/i18n/locales/mag_IN
 #usr/share/i18n/locales/mai_IN
 #usr/share/i18n/locales/mg_MG
+#usr/share/i18n/locales/mhr_RU
 #usr/share/i18n/locales/mi_NZ
 #usr/share/i18n/locales/mk_MK
 #usr/share/i18n/locales/ml_IN
 #usr/share/i18n/locales/mn_MN
+#usr/share/i18n/locales/mni_IN
 #usr/share/i18n/locales/mr_IN
 #usr/share/i18n/locales/ms_MY
 #usr/share/i18n/locales/mt_MT
 #usr/share/i18n/locales/my_MM
+#usr/share/i18n/locales/nan_TW
 #usr/share/i18n/locales/nan_TW@latin
 #usr/share/i18n/locales/nb_NO
 #usr/share/i18n/locales/nds_DE
 #usr/share/i18n/locales/nds_NL
 #usr/share/i18n/locales/ne_NP
+#usr/share/i18n/locales/nhn_MX
+#usr/share/i18n/locales/niu_NU
+#usr/share/i18n/locales/niu_NZ
 #usr/share/i18n/locales/nl_AW
 #usr/share/i18n/locales/nl_BE
 #usr/share/i18n/locales/nl_BE@euro
 #usr/share/i18n/locales/nl_NL
 #usr/share/i18n/locales/nl_NL@euro
 #usr/share/i18n/locales/nn_NO
-#usr/share/i18n/locales/no_NO
 #usr/share/i18n/locales/nr_ZA
 #usr/share/i18n/locales/nso_ZA
 #usr/share/i18n/locales/oc_FR
 #usr/share/i18n/locales/om_ET
 #usr/share/i18n/locales/om_KE
 #usr/share/i18n/locales/or_IN
+#usr/share/i18n/locales/os_RU
 #usr/share/i18n/locales/pa_IN
 #usr/share/i18n/locales/pa_PK
-#usr/share/i18n/locales/pap_AN
+#usr/share/i18n/locales/pap_AW
+#usr/share/i18n/locales/pap_CW
 #usr/share/i18n/locales/pl_PL
 #usr/share/i18n/locales/ps_AF
 #usr/share/i18n/locales/pt_BR
 #usr/share/i18n/locales/pt_PT
 #usr/share/i18n/locales/pt_PT@euro
+#usr/share/i18n/locales/quz_PE
+#usr/share/i18n/locales/raj_IN
 #usr/share/i18n/locales/ro_RO
 #usr/share/i18n/locales/ru_RU
 #usr/share/i18n/locales/ru_UA
 #usr/share/i18n/locales/rw_RW
 #usr/share/i18n/locales/sa_IN
+#usr/share/i18n/locales/sat_IN
 #usr/share/i18n/locales/sc_IT
 #usr/share/i18n/locales/sd_IN
 #usr/share/i18n/locales/sd_IN@devanagari
 #usr/share/i18n/locales/se_NO
+#usr/share/i18n/locales/sgs_LT
 #usr/share/i18n/locales/shs_CA
 #usr/share/i18n/locales/si_LK
 #usr/share/i18n/locales/sid_ET
@@ -7189,10 +1352,16 @@ usr/lib/locale
 #usr/share/i18n/locales/sv_FI
 #usr/share/i18n/locales/sv_FI@euro
 #usr/share/i18n/locales/sv_SE
+#usr/share/i18n/locales/sw_KE
+#usr/share/i18n/locales/sw_TZ
+#usr/share/i18n/locales/szl_PL
 #usr/share/i18n/locales/ta_IN
+#usr/share/i18n/locales/ta_LK
+#usr/share/i18n/locales/tcy_IN
 #usr/share/i18n/locales/te_IN
 #usr/share/i18n/locales/tg_TJ
 #usr/share/i18n/locales/th_TH
+#usr/share/i18n/locales/the_NP
 #usr/share/i18n/locales/ti_ER
 #usr/share/i18n/locales/ti_ET
 #usr/share/i18n/locales/tig_ER
@@ -7218,6 +1387,7 @@ usr/lib/locale
 #usr/share/i18n/locales/tt_RU@iqtelif
 #usr/share/i18n/locales/ug_CN
 #usr/share/i18n/locales/uk_UA
+#usr/share/i18n/locales/unm_US
 #usr/share/i18n/locales/ur_IN
 #usr/share/i18n/locales/ur_PK
 #usr/share/i18n/locales/uz_UZ
@@ -7226,11 +1396,13 @@ usr/lib/locale
 #usr/share/i18n/locales/vi_VN
 #usr/share/i18n/locales/wa_BE
 #usr/share/i18n/locales/wa_BE@euro
+#usr/share/i18n/locales/wae_CH
 #usr/share/i18n/locales/wal_ET
 #usr/share/i18n/locales/wo_SN
 #usr/share/i18n/locales/xh_ZA
 #usr/share/i18n/locales/yi_US
 #usr/share/i18n/locales/yo_NG
+#usr/share/i18n/locales/yue_HK
 #usr/share/i18n/locales/zh_CN
 #usr/share/i18n/locales/zh_HK
 #usr/share/i18n/locales/zh_SG
@@ -7241,6 +1413,10 @@ usr/lib/locale
 #usr/share/info/libc.info-1
 #usr/share/info/libc.info-10
 #usr/share/info/libc.info-11
+#usr/share/info/libc.info-12
+#usr/share/info/libc.info-13
+#usr/share/info/libc.info-14
+#usr/share/info/libc.info-15
 #usr/share/info/libc.info-2
 #usr/share/info/libc.info-3
 #usr/share/info/libc.info-4
@@ -7273,6 +1449,9 @@ usr/lib/locale
 #usr/share/locale/en_GB
 #usr/share/locale/en_GB/LC_MESSAGES
 #usr/share/locale/en_GB/LC_MESSAGES/libc.mo
+#usr/share/locale/eo
+#usr/share/locale/eo/LC_MESSAGES
+#usr/share/locale/eo/LC_MESSAGES/libc.mo
 #usr/share/locale/es
 #usr/share/locale/es/LC_MESSAGES
 #usr/share/locale/es/LC_MESSAGES/libc.mo
@@ -7291,6 +1470,9 @@ usr/lib/locale
 #usr/share/locale/hu
 #usr/share/locale/hu/LC_MESSAGES
 #usr/share/locale/hu/LC_MESSAGES/libc.mo
+#usr/share/locale/ia
+#usr/share/locale/ia/LC_MESSAGES
+#usr/share/locale/ia/LC_MESSAGES/libc.mo
 #usr/share/locale/id
 #usr/share/locale/id/LC_MESSAGES
 #usr/share/locale/id/LC_MESSAGES/libc.mo
@@ -7328,12 +1510,18 @@ usr/lib/locale
 #usr/share/locale/sk
 #usr/share/locale/sk/LC_MESSAGES
 #usr/share/locale/sk/LC_MESSAGES/libc.mo
+#usr/share/locale/sl
+#usr/share/locale/sl/LC_MESSAGES
+#usr/share/locale/sl/LC_MESSAGES/libc.mo
 #usr/share/locale/sv
 #usr/share/locale/sv/LC_MESSAGES
 #usr/share/locale/sv/LC_MESSAGES/libc.mo
 #usr/share/locale/tr
 #usr/share/locale/tr/LC_MESSAGES
 #usr/share/locale/tr/LC_MESSAGES/libc.mo
+#usr/share/locale/uk
+#usr/share/locale/uk/LC_MESSAGES
+#usr/share/locale/uk/LC_MESSAGES/libc.mo
 #usr/share/locale/vi
 #usr/share/locale/vi/LC_MESSAGES
 #usr/share/locale/vi/LC_MESSAGES/libc.mo
@@ -7345,3 +1533,5 @@ usr/lib/locale
 #usr/share/locale/zh_TW/LC_MESSAGES/libc.mo
 #var/cache/ldconfig
 #var/cache/ldconfig/aux-cache
+#var/db
+#var/db/Makefile
index a308ae0e4f31a4fcd6bf639601eabe387645883f..9248201f90b2c4545a3f764be6b0b4344acd1b60 100644 (file)
@@ -1463,8 +1463,8 @@ usr/lib/python2.7/encodings/zlib_codec.pyc
 #usr/lib/python2.7/ensurepip/__main__.pyc
 #usr/lib/python2.7/ensurepip/__main__.pyo
 #usr/lib/python2.7/ensurepip/_bundled
-#usr/lib/python2.7/ensurepip/_bundled/pip-6.1.1-py2.py3-none-any.whl
-#usr/lib/python2.7/ensurepip/_bundled/setuptools-15.2-py2.py3-none-any.whl
+#usr/lib/python2.7/ensurepip/_bundled/pip-9.0.1-py2.py3-none-any.whl
+#usr/lib/python2.7/ensurepip/_bundled/setuptools-28.8.0-py2.py3-none-any.whl
 #usr/lib/python2.7/ensurepip/_uninstall.py
 #usr/lib/python2.7/ensurepip/_uninstall.pyc
 #usr/lib/python2.7/ensurepip/_uninstall.pyo
@@ -1718,6 +1718,10 @@ usr/lib/python2.7/httplib.pyc
 #usr/lib/python2.7/idlelib/dynOptionMenuWidget.pyc
 #usr/lib/python2.7/idlelib/dynOptionMenuWidget.pyo
 #usr/lib/python2.7/idlelib/extend.txt
+#usr/lib/python2.7/idlelib/help.html
+#usr/lib/python2.7/idlelib/help.py
+#usr/lib/python2.7/idlelib/help.pyc
+#usr/lib/python2.7/idlelib/help.pyo
 #usr/lib/python2.7/idlelib/help.txt
 #usr/lib/python2.7/idlelib/idle.bat
 #usr/lib/python2.7/idlelib/idle.py
@@ -1756,12 +1760,18 @@ usr/lib/python2.7/httplib.pyc
 #usr/lib/python2.7/idlelib/idle_test/test_delegator.py
 #usr/lib/python2.7/idlelib/idle_test/test_delegator.pyc
 #usr/lib/python2.7/idlelib/idle_test/test_delegator.pyo
+#usr/lib/python2.7/idlelib/idle_test/test_editmenu.py
+#usr/lib/python2.7/idlelib/idle_test/test_editmenu.pyc
+#usr/lib/python2.7/idlelib/idle_test/test_editmenu.pyo
 #usr/lib/python2.7/idlelib/idle_test/test_formatparagraph.py
 #usr/lib/python2.7/idlelib/idle_test/test_formatparagraph.pyc
 #usr/lib/python2.7/idlelib/idle_test/test_formatparagraph.pyo
 #usr/lib/python2.7/idlelib/idle_test/test_grep.py
 #usr/lib/python2.7/idlelib/idle_test/test_grep.pyc
 #usr/lib/python2.7/idlelib/idle_test/test_grep.pyo
+#usr/lib/python2.7/idlelib/idle_test/test_helpabout.py
+#usr/lib/python2.7/idlelib/idle_test/test_helpabout.pyc
+#usr/lib/python2.7/idlelib/idle_test/test_helpabout.pyo
 #usr/lib/python2.7/idlelib/idle_test/test_hyperparser.py
 #usr/lib/python2.7/idlelib/idle_test/test_hyperparser.pyc
 #usr/lib/python2.7/idlelib/idle_test/test_hyperparser.pyo
@@ -1916,7 +1926,7 @@ usr/lib/python2.7/json/tool.pyc
 usr/lib/python2.7/keyword.pyc
 #usr/lib/python2.7/keyword.pyo
 #usr/lib/python2.7/lib-dynload
-#usr/lib/python2.7/lib-dynload/Python-2.7.10-py2.7.egg-info
+#usr/lib/python2.7/lib-dynload/Python-2.7.13-py2.7.egg-info
 usr/lib/python2.7/lib-dynload/_bisect.so
 usr/lib/python2.7/lib-dynload/_bsddb.so
 usr/lib/python2.7/lib-dynload/_codecs_cn.so
@@ -2092,9 +2102,9 @@ usr/lib/python2.7/lib-dynload/zlib.so
 #usr/lib/python2.7/lib-tk/turtle.pyo
 #usr/lib/python2.7/lib2to3
 #usr/lib/python2.7/lib2to3/Grammar.txt
-#usr/lib/python2.7/lib2to3/Grammar2.7.10.final.0.pickle
+#usr/lib/python2.7/lib2to3/Grammar2.7.13.final.0.pickle
 #usr/lib/python2.7/lib2to3/PatternGrammar.txt
-#usr/lib/python2.7/lib2to3/PatternGrammar2.7.10.final.0.pickle
+#usr/lib/python2.7/lib2to3/PatternGrammar2.7.13.final.0.pickle
 #usr/lib/python2.7/lib2to3/__init__.py
 #usr/lib/python2.7/lib2to3/__init__.pyc
 #usr/lib/python2.7/lib2to3/__init__.pyo
@@ -2129,9 +2139,6 @@ usr/lib/python2.7/lib-dynload/zlib.so
 #usr/lib/python2.7/lib2to3/fixes/fix_buffer.py
 #usr/lib/python2.7/lib2to3/fixes/fix_buffer.pyc
 #usr/lib/python2.7/lib2to3/fixes/fix_buffer.pyo
-#usr/lib/python2.7/lib2to3/fixes/fix_callable.py
-#usr/lib/python2.7/lib2to3/fixes/fix_callable.pyc
-#usr/lib/python2.7/lib2to3/fixes/fix_callable.pyo
 #usr/lib/python2.7/lib2to3/fixes/fix_dict.py
 #usr/lib/python2.7/lib2to3/fixes/fix_dict.pyc
 #usr/lib/python2.7/lib2to3/fixes/fix_dict.pyo
@@ -2750,6 +2757,7 @@ usr/lib/python2.7/tempfile.pyc
 #usr/lib/python2.7/test/_mock_backport.py
 #usr/lib/python2.7/test/_mock_backport.pyc
 #usr/lib/python2.7/test/_mock_backport.pyo
+#usr/lib/python2.7/test/allsans.pem
 #usr/lib/python2.7/test/audiodata
 #usr/lib/python2.7/test/audiodata/pluck-pcm16.aiff
 #usr/lib/python2.7/test/audiodata/pluck-pcm16.au
@@ -2784,16 +2792,14 @@ usr/lib/python2.7/tempfile.pyc
 #usr/lib/python2.7/test/badsyntax_future8.py
 #usr/lib/python2.7/test/badsyntax_future9.py
 #usr/lib/python2.7/test/badsyntax_nocaret.py
-#usr/lib/python2.7/test/buffer_tests.py
-#usr/lib/python2.7/test/buffer_tests.pyc
-#usr/lib/python2.7/test/buffer_tests.pyo
 #usr/lib/python2.7/test/capath
+#usr/lib/python2.7/test/capath/0e4015b9.0
 #usr/lib/python2.7/test/capath/4e1295a3.0
 #usr/lib/python2.7/test/capath/5ed36f99.0
 #usr/lib/python2.7/test/capath/6e88d7b8.0
 #usr/lib/python2.7/test/capath/99d0fa06.0
+#usr/lib/python2.7/test/capath/ce7b8643.0
 #usr/lib/python2.7/test/cfgparser.1
-#usr/lib/python2.7/test/check_soundcard.vbs
 #usr/lib/python2.7/test/cjkencodings
 #usr/lib/python2.7/test/cjkencodings/big5-utf8.txt
 #usr/lib/python2.7/test/cjkencodings/big5.txt
@@ -2993,7 +2999,6 @@ usr/lib/python2.7/tempfile.pyc
 #usr/lib/python2.7/test/gdb_sample.pyc
 #usr/lib/python2.7/test/gdb_sample.pyo
 #usr/lib/python2.7/test/greyrgb.uue
-#usr/lib/python2.7/test/https_svn_python_org_root.pem
 #usr/lib/python2.7/test/ieee754.txt
 #usr/lib/python2.7/test/imghdrdata
 #usr/lib/python2.7/test/imghdrdata/python.bmp
@@ -3105,6 +3110,9 @@ usr/lib/python2.7/tempfile.pyc
 #usr/lib/python2.7/test/ssl_servers.py
 #usr/lib/python2.7/test/ssl_servers.pyc
 #usr/lib/python2.7/test/ssl_servers.pyo
+#usr/lib/python2.7/test/ssltests.py
+#usr/lib/python2.7/test/ssltests.pyc
+#usr/lib/python2.7/test/ssltests.pyo
 #usr/lib/python2.7/test/string_tests.py
 #usr/lib/python2.7/test/string_tests.pyc
 #usr/lib/python2.7/test/string_tests.pyo
@@ -3319,9 +3327,6 @@ usr/lib/python2.7/tempfile.pyc
 #usr/lib/python2.7/test/test_codeop.py
 #usr/lib/python2.7/test/test_codeop.pyc
 #usr/lib/python2.7/test/test_codeop.pyo
-#usr/lib/python2.7/test/test_coding.py
-#usr/lib/python2.7/test/test_coding.pyc
-#usr/lib/python2.7/test/test_coding.pyo
 #usr/lib/python2.7/test/test_coercion.py
 #usr/lib/python2.7/test/test_coercion.pyc
 #usr/lib/python2.7/test/test_coercion.pyo
@@ -3837,6 +3842,9 @@ usr/lib/python2.7/tempfile.pyc
 #usr/lib/python2.7/test/test_optparse.py
 #usr/lib/python2.7/test/test_optparse.pyc
 #usr/lib/python2.7/test/test_optparse.pyo
+#usr/lib/python2.7/test/test_ordered_dict.py
+#usr/lib/python2.7/test/test_ordered_dict.pyc
+#usr/lib/python2.7/test/test_ordered_dict.pyo
 #usr/lib/python2.7/test/test_os.py
 #usr/lib/python2.7/test/test_os.pyc
 #usr/lib/python2.7/test/test_os.pyo
@@ -3855,15 +3863,9 @@ usr/lib/python2.7/tempfile.pyc
 #usr/lib/python2.7/test/test_pep247.py
 #usr/lib/python2.7/test/test_pep247.pyc
 #usr/lib/python2.7/test/test_pep247.pyo
-#usr/lib/python2.7/test/test_pep263.py
-#usr/lib/python2.7/test/test_pep263.pyc
-#usr/lib/python2.7/test/test_pep263.pyo
 #usr/lib/python2.7/test/test_pep277.py
 #usr/lib/python2.7/test/test_pep277.pyc
 #usr/lib/python2.7/test/test_pep277.pyo
-#usr/lib/python2.7/test/test_pep292.py
-#usr/lib/python2.7/test/test_pep292.pyc
-#usr/lib/python2.7/test/test_pep292.pyo
 #usr/lib/python2.7/test/test_pep352.py
 #usr/lib/python2.7/test/test_pep352.pyc
 #usr/lib/python2.7/test/test_pep352.pyo
@@ -4047,6 +4049,9 @@ usr/lib/python2.7/tempfile.pyc
 #usr/lib/python2.7/test/test_sort.py
 #usr/lib/python2.7/test/test_sort.pyc
 #usr/lib/python2.7/test/test_sort.pyo
+#usr/lib/python2.7/test/test_source_encoding.py
+#usr/lib/python2.7/test/test_source_encoding.pyc
+#usr/lib/python2.7/test/test_source_encoding.pyo
 #usr/lib/python2.7/test/test_spwd.py
 #usr/lib/python2.7/test/test_spwd.pyc
 #usr/lib/python2.7/test/test_spwd.pyo
@@ -4194,6 +4199,9 @@ usr/lib/python2.7/tempfile.pyc
 #usr/lib/python2.7/test/test_tuple.py
 #usr/lib/python2.7/test/test_tuple.pyc
 #usr/lib/python2.7/test/test_tuple.pyo
+#usr/lib/python2.7/test/test_turtle.py
+#usr/lib/python2.7/test/test_turtle.pyc
+#usr/lib/python2.7/test/test_turtle.pyo
 #usr/lib/python2.7/test/test_typechecks.py
 #usr/lib/python2.7/test/test_typechecks.pyc
 #usr/lib/python2.7/test/test_typechecks.pyo
index 80daa2d5b2afc95cb6749221642061b4435feba6..c190eef7b496768ab4a7a2275f55361796738884 100644 (file)
@@ -1,15 +1,15 @@
-#usr/bin/bsdcpio
 #usr/bin/bsdcat
+#usr/bin/bsdcpio
 #usr/bin/bsdtar
 #usr/include/archive.h
 #usr/include/archive_entry.h
 #usr/lib/libarchive.la
 #usr/lib/libarchive.so
 #usr/lib/libarchive.so.13
-#usr/lib/libarchive.so.13.2.1
+#usr/lib/libarchive.so.13.3.1
 #usr/lib/pkgconfig/libarchive.pc
-#usr/share/man/man1/bsdcpio.1
 #usr/share/man/man1/bsdcat.1
+#usr/share/man/man1/bsdcpio.1
 #usr/share/man/man1/bsdtar.1
 #usr/share/man/man3/archive_entry.3
 #usr/share/man/man3/archive_entry_acl.3
index 470634341648204bef689fc49877cf20cf659461..725593f8b812df9ac874631bbeb36414ddbb49ba 100644 (file)
@@ -6,7 +6,7 @@
 #usr/lib/libgcrypt.la
 #usr/lib/libgcrypt.so
 usr/lib/libgcrypt.so.20
-usr/lib/libgcrypt.so.20.1.3
+usr/lib/libgcrypt.so.20.1.7
 #usr/share/aclocal/libgcrypt.m4
 #usr/share/info/gcrypt.info
 #usr/share/man/man1/hmac256.1
index 92ac1f3f94ee87afabbb05aaad5b6ff099854d35..6945f3495add52a29a4973962f5638e1eeacd451 100644 (file)
@@ -1,10 +1,11 @@
 usr/bin/gpg-error
 #usr/bin/gpg-error-config
 #usr/include/gpg-error.h
+#usr/include/gpgrt.h
 #usr/lib/libgpg-error.la
 #usr/lib/libgpg-error.so
 usr/lib/libgpg-error.so.0
-usr/lib/libgpg-error.so.0.19.1
+usr/lib/libgpg-error.so.0.22.0
 #usr/share/aclocal/gpg-error.m4
 #usr/share/common-lisp
 #usr/share/common-lisp/source
@@ -14,6 +15,8 @@ usr/lib/libgpg-error.so.0.19.1
 #usr/share/common-lisp/source/gpg-error/gpg-error.asd
 #usr/share/common-lisp/source/gpg-error/gpg-error.lisp
 #usr/share/info/gpgrt.info
+#usr/share/libgpg-error
+#usr/share/libgpg-error/errorref.txt
 #usr/share/locale/cs/LC_MESSAGES/libgpg-error.mo
 #usr/share/locale/da/LC_MESSAGES/libgpg-error.mo
 #usr/share/locale/de/LC_MESSAGES/libgpg-error.mo
index 4f34e39dd4a3c34c55d9f6a77bd7cc41a1c26a55..0b7cff8b167d0d52eb02558d6e7950e66d03913f 100644 (file)
@@ -49,14 +49,9 @@ usr/lib/libncursesw.so.6.0
 usr/lib/libpanelw.so.6
 usr/lib/libpanelw.so.6.0
 #usr/lib/pkgconfig/form.pc
-#usr/lib/pkgconfig/formw.pc
 #usr/lib/pkgconfig/menu.pc
-#usr/lib/pkgconfig/menuw.pc
-#usr/lib/pkgconfig/ncurses++w.pc
 #usr/lib/pkgconfig/ncurses.pc
-#usr/lib/pkgconfig/ncursesw.pc
 #usr/lib/pkgconfig/panel.pc
-#usr/lib/pkgconfig/panelw.pc
 #usr/lib/terminfo
 #usr/share/man/man1/captoinfo.1m
 #usr/share/man/man1/clear.1
diff --git a/config/rootfiles/common/paxctl b/config/rootfiles/common/paxctl
deleted file mode 100644 (file)
index c9135a8..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-sbin/paxctl
-#usr/share/man/man1/paxctl.1
index f5cfca2feaa4a4b38eae2e8150c4113aeb01c934..ac375e9413b87e883f8338feafae81981ecb3883 100644 (file)
@@ -1,3 +1,4 @@
+#sbin/debugfs.reiserfs
 #sbin/debugreiserfs
 sbin/fsck.reiserfs
 sbin/mkfs.reiserfs
@@ -5,8 +6,26 @@ sbin/mkreiserfs
 sbin/reiserfsck
 sbin/reiserfstune
 sbin/resize_reiserfs
+sbin/tunefs.reiserfs
+#usr/include/reiserfs
+#usr/include/reiserfs/io.h
+#usr/include/reiserfs/misc.h
+#usr/include/reiserfs/reiserfs_err.h
+#usr/include/reiserfs/reiserfs_fs.h
+#usr/include/reiserfs/reiserfs_lib.h
+#usr/include/reiserfs/swab.h
+#usr/lib/libreiserfscore.a
+#usr/lib/libreiserfscore.la
+#usr/lib/libreiserfscore.so
+usr/lib/libreiserfscore.so.0
+usr/lib/libreiserfscore.so.0.0.0
+#usr/lib/pkgconfig/reiserfscore.pc
+#usr/share/man/man8/debugfs.reiserfs.8
 #usr/share/man/man8/debugreiserfs.8
+#usr/share/man/man8/fsck.reiserfs.8
+#usr/share/man/man8/mkfs.reiserfs.8
 #usr/share/man/man8/mkreiserfs.8
 #usr/share/man/man8/reiserfsck.8
 #usr/share/man/man8/reiserfstune.8
 #usr/share/man/man8/resize_reiserfs.8
+#usr/share/man/man8/tunefs.reiserfs.8
index c904fc337e7ba4c92d17167d6639aea1e0fc63e2..d6ac72d4f5ac021b776d63db080ce61a1a4a804e 100644 (file)
@@ -74,4 +74,4 @@ usr/sbin/visudo
 #usr/share/man/man8/sudoedit.8
 #usr/share/man/man8/sudoreplay.8
 #usr/share/man/man8/visudo.8
-var/lib/sudo
+var/db/sudo
index 61481999e2fa5c03aab40763b185b14111ff4d63..c44ad4abf56f6f4f18d7962c108cc37926241d29 100644 (file)
@@ -1,3 +1,4 @@
+etc/localtime
 usr/share/zoneinfo
 #usr/share/zoneinfo/Africa
 #usr/share/zoneinfo/Africa/Abidjan
index 1330ed7a8fc77d2c3adc0960d00a5aa63cd7d26e..f204f165777963f78456613a63c7efea008fddf2 100644 (file)
@@ -29,7 +29,6 @@ srv/web/ipfire/cgi-bin/gui.cgi
 srv/web/ipfire/cgi-bin/hardwaregraphs.cgi
 srv/web/ipfire/cgi-bin/hosts.cgi
 srv/web/ipfire/cgi-bin/ids.cgi
-#srv/web/ipfire/cgi-bin/imspector.cgi
 srv/web/ipfire/cgi-bin/index.cgi
 srv/web/ipfire/cgi-bin/ipinfo.cgi
 srv/web/ipfire/cgi-bin/iptables.cgi
index bb0bf9b1fae520a7fd57ecfb54a790cb6b92271d..88c1da36e59c54b5aaa8359a28c5d48c39e6c901 100644 (file)
@@ -19,6 +19,7 @@
 #usr/include/bfdlink.h
 #usr/include/dis-asm.h
 #usr/include/libiberty.h
+#usr/include/plugin-api.h
 #usr/include/symcat.h
 #usr/lib/ldscripts
 #usr/lib/ldscripts/elf32_x86_64.x
 #usr/lib/ldscripts/elf_i386.xsw
 #usr/lib/ldscripts/elf_i386.xu
 #usr/lib/ldscripts/elf_i386.xw
+#usr/lib/ldscripts/elf_iamcu.x
+#usr/lib/ldscripts/elf_iamcu.xbn
+#usr/lib/ldscripts/elf_iamcu.xc
+#usr/lib/ldscripts/elf_iamcu.xd
+#usr/lib/ldscripts/elf_iamcu.xdc
+#usr/lib/ldscripts/elf_iamcu.xdw
+#usr/lib/ldscripts/elf_iamcu.xn
+#usr/lib/ldscripts/elf_iamcu.xr
+#usr/lib/ldscripts/elf_iamcu.xs
+#usr/lib/ldscripts/elf_iamcu.xsc
+#usr/lib/ldscripts/elf_iamcu.xsw
+#usr/lib/ldscripts/elf_iamcu.xu
+#usr/lib/ldscripts/elf_iamcu.xw
 #usr/lib/ldscripts/elf_k1om.x
 #usr/lib/ldscripts/elf_k1om.xbn
 #usr/lib/ldscripts/elf_k1om.xc
 #usr/lib/ldscripts/i386linux.xn
 #usr/lib/ldscripts/i386linux.xr
 #usr/lib/ldscripts/i386linux.xu
-#usr/lib/libbfd-2.24.so
+#usr/lib/libbfd-2.28.so
 #usr/lib/libbfd.a
 #usr/lib/libbfd.la
 #usr/lib/libbfd.so
-#usr/lib/libiberty.a
-#usr/lib/libopcodes-2.24.so
+#usr/lib/libopcodes-2.28.so
 #usr/lib/libopcodes.a
 #usr/lib/libopcodes.la
 #usr/lib/libopcodes.so
 #usr/share/info/as.info
 #usr/share/info/bfd.info
 #usr/share/info/binutils.info
-#usr/share/info/configure.info
-#usr/share/info/dir
 #usr/share/info/gprof.info
 #usr/share/info/ld.info
-#usr/share/info/standards.info
+#usr/share/locale/bg/LC_MESSAGES/binutils.mo
+#usr/share/locale/bg/LC_MESSAGES/gprof.mo
+#usr/share/locale/bg/LC_MESSAGES/ld.mo
+#usr/share/locale/ca/LC_MESSAGES/binutils.mo
+#usr/share/locale/da/LC_MESSAGES/bfd.mo
+#usr/share/locale/da/LC_MESSAGES/binutils.mo
+#usr/share/locale/da/LC_MESSAGES/gprof.mo
+#usr/share/locale/da/LC_MESSAGES/ld.mo
+#usr/share/locale/da/LC_MESSAGES/opcodes.mo
+#usr/share/locale/de/LC_MESSAGES/gprof.mo
+#usr/share/locale/de/LC_MESSAGES/opcodes.mo
+#usr/share/locale/eo/LC_MESSAGES/gprof.mo
+#usr/share/locale/es/LC_MESSAGES/bfd.mo
+#usr/share/locale/es/LC_MESSAGES/binutils.mo
+#usr/share/locale/es/LC_MESSAGES/gas.mo
+#usr/share/locale/es/LC_MESSAGES/gprof.mo
+#usr/share/locale/es/LC_MESSAGES/ld.mo
+#usr/share/locale/es/LC_MESSAGES/opcodes.mo
+#usr/share/locale/fi/LC_MESSAGES/bfd.mo
+#usr/share/locale/fi/LC_MESSAGES/binutils.mo
+#usr/share/locale/fi/LC_MESSAGES/gas.mo
+#usr/share/locale/fi/LC_MESSAGES/gprof.mo
+#usr/share/locale/fi/LC_MESSAGES/ld.mo
+#usr/share/locale/fi/LC_MESSAGES/opcodes.mo
+#usr/share/locale/fr/LC_MESSAGES/bfd.mo
+#usr/share/locale/fr/LC_MESSAGES/binutils.mo
+#usr/share/locale/fr/LC_MESSAGES/gas.mo
+#usr/share/locale/fr/LC_MESSAGES/gprof.mo
+#usr/share/locale/fr/LC_MESSAGES/ld.mo
+#usr/share/locale/fr/LC_MESSAGES/opcodes.mo
+#usr/share/locale/ga
+#usr/share/locale/ga/LC_MESSAGES
+#usr/share/locale/ga/LC_MESSAGES/gprof.mo
+#usr/share/locale/ga/LC_MESSAGES/ld.mo
+#usr/share/locale/ga/LC_MESSAGES/opcodes.mo
+#usr/share/locale/hr/LC_MESSAGES/binutils.mo
+#usr/share/locale/hu/LC_MESSAGES/gprof.mo
+#usr/share/locale/id/LC_MESSAGES/bfd.mo
+#usr/share/locale/id/LC_MESSAGES/binutils.mo
+#usr/share/locale/id/LC_MESSAGES/gas.mo
+#usr/share/locale/id/LC_MESSAGES/gprof.mo
+#usr/share/locale/id/LC_MESSAGES/ld.mo
+#usr/share/locale/id/LC_MESSAGES/opcodes.mo
+#usr/share/locale/it/LC_MESSAGES/binutils.mo
+#usr/share/locale/it/LC_MESSAGES/gprof.mo
+#usr/share/locale/it/LC_MESSAGES/ld.mo
+#usr/share/locale/it/LC_MESSAGES/opcodes.mo
+#usr/share/locale/ja/LC_MESSAGES/bfd.mo
+#usr/share/locale/ja/LC_MESSAGES/binutils.mo
+#usr/share/locale/ja/LC_MESSAGES/gas.mo
+#usr/share/locale/ja/LC_MESSAGES/gprof.mo
+#usr/share/locale/ja/LC_MESSAGES/ld.mo
+#usr/share/locale/ms
+#usr/share/locale/ms/LC_MESSAGES
+#usr/share/locale/ms/LC_MESSAGES/gprof.mo
+#usr/share/locale/nl/LC_MESSAGES/gprof.mo
+#usr/share/locale/nl/LC_MESSAGES/opcodes.mo
+#usr/share/locale/pt_BR/LC_MESSAGES/gprof.mo
+#usr/share/locale/pt_BR/LC_MESSAGES/opcodes.mo
+#usr/share/locale/ro
+#usr/share/locale/ro/LC_MESSAGES
+#usr/share/locale/ro/LC_MESSAGES/bfd.mo
+#usr/share/locale/ro/LC_MESSAGES/binutils.mo
+#usr/share/locale/ro/LC_MESSAGES/gprof.mo
+#usr/share/locale/ro/LC_MESSAGES/opcodes.mo
+#usr/share/locale/ru/LC_MESSAGES/bfd.mo
+#usr/share/locale/ru/LC_MESSAGES/binutils.mo
+#usr/share/locale/ru/LC_MESSAGES/gas.mo
+#usr/share/locale/ru/LC_MESSAGES/gprof.mo
+#usr/share/locale/rw/LC_MESSAGES/bfd.mo
+#usr/share/locale/rw/LC_MESSAGES/binutils.mo
+#usr/share/locale/rw/LC_MESSAGES/gas.mo
+#usr/share/locale/rw/LC_MESSAGES/gprof.mo
+#usr/share/locale/sk/LC_MESSAGES/binutils.mo
+#usr/share/locale/sr
+#usr/share/locale/sr/LC_MESSAGES
+#usr/share/locale/sr/LC_MESSAGES/bfd.mo
+#usr/share/locale/sr/LC_MESSAGES/binutils.mo
+#usr/share/locale/sr/LC_MESSAGES/gprof.mo
+#usr/share/locale/sv/LC_MESSAGES/bfd.mo
+#usr/share/locale/sv/LC_MESSAGES/binutils.mo
+#usr/share/locale/sv/LC_MESSAGES/gprof.mo
+#usr/share/locale/sv/LC_MESSAGES/ld.mo
+#usr/share/locale/sv/LC_MESSAGES/opcodes.mo
+#usr/share/locale/tr/LC_MESSAGES/bfd.mo
+#usr/share/locale/tr/LC_MESSAGES/binutils.mo
+#usr/share/locale/tr/LC_MESSAGES/gas.mo
+#usr/share/locale/tr/LC_MESSAGES/gprof.mo
+#usr/share/locale/tr/LC_MESSAGES/ld.mo
+#usr/share/locale/tr/LC_MESSAGES/opcodes.mo
+#usr/share/locale/uk/LC_MESSAGES/bfd.mo
+#usr/share/locale/uk/LC_MESSAGES/binutils.mo
+#usr/share/locale/uk/LC_MESSAGES/gas.mo
+#usr/share/locale/uk/LC_MESSAGES/gprof.mo
+#usr/share/locale/uk/LC_MESSAGES/ld.mo
+#usr/share/locale/uk/LC_MESSAGES/opcodes.mo
+#usr/share/locale/vi/LC_MESSAGES/bfd.mo
+#usr/share/locale/vi/LC_MESSAGES/binutils.mo
+#usr/share/locale/vi/LC_MESSAGES/gprof.mo
+#usr/share/locale/vi/LC_MESSAGES/ld.mo
+#usr/share/locale/vi/LC_MESSAGES/opcodes.mo
+#usr/share/locale/zh_CN/LC_MESSAGES/bfd.mo
+#usr/share/locale/zh_CN/LC_MESSAGES/binutils.mo
+#usr/share/locale/zh_CN/LC_MESSAGES/gas.mo
+#usr/share/locale/zh_CN/LC_MESSAGES/ld.mo
+#usr/share/locale/zh_CN/LC_MESSAGES/opcodes.mo
+#usr/share/locale/zh_TW/LC_MESSAGES/binutils.mo
+#usr/share/locale/zh_TW/LC_MESSAGES/ld.mo
 #usr/share/man/man1/addr2line.1
 #usr/share/man/man1/ar.1
 #usr/share/man/man1/as.1
index ccd3a75d6162742f6a38f4c2d28675c68c3f1f1a..d30ead1cf9bf3398321665549b35197679171c4a 100644 (file)
 #usr/bin/gcc-nm
 #usr/bin/gcc-ranlib
 #usr/bin/gcov
-#usr/bin/x86_64-unknown-linux-gnu-c++
-#usr/bin/x86_64-unknown-linux-gnu-g++
-#usr/bin/x86_64-unknown-linux-gnu-gcc
-#usr/bin/x86_64-unknown-linux-gnu-gcc-4.9.4
-#usr/bin/x86_64-unknown-linux-gnu-gcc-ar
-#usr/bin/x86_64-unknown-linux-gnu-gcc-nm
-#usr/bin/x86_64-unknown-linux-gnu-gcc-ranlib
+#usr/bin/gcov-tool
+#usr/bin/x86_64-pc-linux-gnu-c++
+#usr/bin/x86_64-pc-linux-gnu-g++
+#usr/bin/x86_64-pc-linux-gnu-gcc
+#usr/bin/x86_64-pc-linux-gnu-gcc-6.3.0
+#usr/bin/x86_64-pc-linux-gnu-gcc-ar
+#usr/bin/x86_64-pc-linux-gnu-gcc-nm
+#usr/bin/x86_64-pc-linux-gnu-gcc-ranlib
 #usr/include/c++
-#usr/include/c++/4.9.4
-#usr/include/c++/4.9.4/algorithm
-#usr/include/c++/4.9.4/array
-#usr/include/c++/4.9.4/atomic
-#usr/include/c++/4.9.4/backward
-#usr/include/c++/4.9.4/backward/auto_ptr.h
-#usr/include/c++/4.9.4/backward/backward_warning.h
-#usr/include/c++/4.9.4/backward/binders.h
-#usr/include/c++/4.9.4/backward/hash_fun.h
-#usr/include/c++/4.9.4/backward/hash_map
-#usr/include/c++/4.9.4/backward/hash_set
-#usr/include/c++/4.9.4/backward/hashtable.h
-#usr/include/c++/4.9.4/backward/strstream
-#usr/include/c++/4.9.4/bits
-#usr/include/c++/4.9.4/bits/algorithmfwd.h
-#usr/include/c++/4.9.4/bits/alloc_traits.h
-#usr/include/c++/4.9.4/bits/allocator.h
-#usr/include/c++/4.9.4/bits/atomic_base.h
-#usr/include/c++/4.9.4/bits/atomic_lockfree_defines.h
-#usr/include/c++/4.9.4/bits/basic_ios.h
-#usr/include/c++/4.9.4/bits/basic_ios.tcc
-#usr/include/c++/4.9.4/bits/basic_string.h
-#usr/include/c++/4.9.4/bits/basic_string.tcc
-#usr/include/c++/4.9.4/bits/boost_concept_check.h
-#usr/include/c++/4.9.4/bits/c++0x_warning.h
-#usr/include/c++/4.9.4/bits/c++14_warning.h
-#usr/include/c++/4.9.4/bits/char_traits.h
-#usr/include/c++/4.9.4/bits/codecvt.h
-#usr/include/c++/4.9.4/bits/concept_check.h
-#usr/include/c++/4.9.4/bits/cpp_type_traits.h
-#usr/include/c++/4.9.4/bits/cxxabi_forced.h
-#usr/include/c++/4.9.4/bits/deque.tcc
-#usr/include/c++/4.9.4/bits/enable_special_members.h
-#usr/include/c++/4.9.4/bits/exception_defines.h
-#usr/include/c++/4.9.4/bits/exception_ptr.h
-#usr/include/c++/4.9.4/bits/forward_list.h
-#usr/include/c++/4.9.4/bits/forward_list.tcc
-#usr/include/c++/4.9.4/bits/fstream.tcc
-#usr/include/c++/4.9.4/bits/functexcept.h
-#usr/include/c++/4.9.4/bits/functional_hash.h
-#usr/include/c++/4.9.4/bits/gslice.h
-#usr/include/c++/4.9.4/bits/gslice_array.h
-#usr/include/c++/4.9.4/bits/hash_bytes.h
-#usr/include/c++/4.9.4/bits/hashtable.h
-#usr/include/c++/4.9.4/bits/hashtable_policy.h
-#usr/include/c++/4.9.4/bits/indirect_array.h
-#usr/include/c++/4.9.4/bits/ios_base.h
-#usr/include/c++/4.9.4/bits/istream.tcc
-#usr/include/c++/4.9.4/bits/list.tcc
-#usr/include/c++/4.9.4/bits/locale_classes.h
-#usr/include/c++/4.9.4/bits/locale_classes.tcc
-#usr/include/c++/4.9.4/bits/locale_facets.h
-#usr/include/c++/4.9.4/bits/locale_facets.tcc
-#usr/include/c++/4.9.4/bits/locale_facets_nonio.h
-#usr/include/c++/4.9.4/bits/locale_facets_nonio.tcc
-#usr/include/c++/4.9.4/bits/localefwd.h
-#usr/include/c++/4.9.4/bits/mask_array.h
-#usr/include/c++/4.9.4/bits/memoryfwd.h
-#usr/include/c++/4.9.4/bits/move.h
-#usr/include/c++/4.9.4/bits/nested_exception.h
-#usr/include/c++/4.9.4/bits/ostream.tcc
-#usr/include/c++/4.9.4/bits/ostream_insert.h
-#usr/include/c++/4.9.4/bits/parse_numbers.h
-#usr/include/c++/4.9.4/bits/postypes.h
-#usr/include/c++/4.9.4/bits/predefined_ops.h
-#usr/include/c++/4.9.4/bits/ptr_traits.h
-#usr/include/c++/4.9.4/bits/random.h
-#usr/include/c++/4.9.4/bits/random.tcc
-#usr/include/c++/4.9.4/bits/range_access.h
-#usr/include/c++/4.9.4/bits/regex.h
-#usr/include/c++/4.9.4/bits/regex.tcc
-#usr/include/c++/4.9.4/bits/regex_automaton.h
-#usr/include/c++/4.9.4/bits/regex_automaton.tcc
-#usr/include/c++/4.9.4/bits/regex_compiler.h
-#usr/include/c++/4.9.4/bits/regex_compiler.tcc
-#usr/include/c++/4.9.4/bits/regex_constants.h
-#usr/include/c++/4.9.4/bits/regex_error.h
-#usr/include/c++/4.9.4/bits/regex_executor.h
-#usr/include/c++/4.9.4/bits/regex_executor.tcc
-#usr/include/c++/4.9.4/bits/regex_scanner.h
-#usr/include/c++/4.9.4/bits/regex_scanner.tcc
-#usr/include/c++/4.9.4/bits/shared_ptr.h
-#usr/include/c++/4.9.4/bits/shared_ptr_base.h
-#usr/include/c++/4.9.4/bits/slice_array.h
-#usr/include/c++/4.9.4/bits/sstream.tcc
-#usr/include/c++/4.9.4/bits/stl_algo.h
-#usr/include/c++/4.9.4/bits/stl_algobase.h
-#usr/include/c++/4.9.4/bits/stl_bvector.h
-#usr/include/c++/4.9.4/bits/stl_construct.h
-#usr/include/c++/4.9.4/bits/stl_deque.h
-#usr/include/c++/4.9.4/bits/stl_function.h
-#usr/include/c++/4.9.4/bits/stl_heap.h
-#usr/include/c++/4.9.4/bits/stl_iterator.h
-#usr/include/c++/4.9.4/bits/stl_iterator_base_funcs.h
-#usr/include/c++/4.9.4/bits/stl_iterator_base_types.h
-#usr/include/c++/4.9.4/bits/stl_list.h
-#usr/include/c++/4.9.4/bits/stl_map.h
-#usr/include/c++/4.9.4/bits/stl_multimap.h
-#usr/include/c++/4.9.4/bits/stl_multiset.h
-#usr/include/c++/4.9.4/bits/stl_numeric.h
-#usr/include/c++/4.9.4/bits/stl_pair.h
-#usr/include/c++/4.9.4/bits/stl_queue.h
-#usr/include/c++/4.9.4/bits/stl_raw_storage_iter.h
-#usr/include/c++/4.9.4/bits/stl_relops.h
-#usr/include/c++/4.9.4/bits/stl_set.h
-#usr/include/c++/4.9.4/bits/stl_stack.h
-#usr/include/c++/4.9.4/bits/stl_tempbuf.h
-#usr/include/c++/4.9.4/bits/stl_tree.h
-#usr/include/c++/4.9.4/bits/stl_uninitialized.h
-#usr/include/c++/4.9.4/bits/stl_vector.h
-#usr/include/c++/4.9.4/bits/stream_iterator.h
-#usr/include/c++/4.9.4/bits/streambuf.tcc
-#usr/include/c++/4.9.4/bits/streambuf_iterator.h
-#usr/include/c++/4.9.4/bits/stringfwd.h
-#usr/include/c++/4.9.4/bits/unique_ptr.h
-#usr/include/c++/4.9.4/bits/unordered_map.h
-#usr/include/c++/4.9.4/bits/unordered_set.h
-#usr/include/c++/4.9.4/bits/uses_allocator.h
-#usr/include/c++/4.9.4/bits/valarray_after.h
-#usr/include/c++/4.9.4/bits/valarray_array.h
-#usr/include/c++/4.9.4/bits/valarray_array.tcc
-#usr/include/c++/4.9.4/bits/valarray_before.h
-#usr/include/c++/4.9.4/bits/vector.tcc
-#usr/include/c++/4.9.4/bitset
-#usr/include/c++/4.9.4/cassert
-#usr/include/c++/4.9.4/ccomplex
-#usr/include/c++/4.9.4/cctype
-#usr/include/c++/4.9.4/cerrno
-#usr/include/c++/4.9.4/cfenv
-#usr/include/c++/4.9.4/cfloat
-#usr/include/c++/4.9.4/chrono
-#usr/include/c++/4.9.4/cinttypes
-#usr/include/c++/4.9.4/ciso646
-#usr/include/c++/4.9.4/climits
-#usr/include/c++/4.9.4/clocale
-#usr/include/c++/4.9.4/cmath
-#usr/include/c++/4.9.4/complex
-#usr/include/c++/4.9.4/complex.h
-#usr/include/c++/4.9.4/condition_variable
-#usr/include/c++/4.9.4/csetjmp
-#usr/include/c++/4.9.4/csignal
-#usr/include/c++/4.9.4/cstdalign
-#usr/include/c++/4.9.4/cstdarg
-#usr/include/c++/4.9.4/cstdbool
-#usr/include/c++/4.9.4/cstddef
-#usr/include/c++/4.9.4/cstdint
-#usr/include/c++/4.9.4/cstdio
-#usr/include/c++/4.9.4/cstdlib
-#usr/include/c++/4.9.4/cstring
-#usr/include/c++/4.9.4/ctgmath
-#usr/include/c++/4.9.4/ctime
-#usr/include/c++/4.9.4/cwchar
-#usr/include/c++/4.9.4/cwctype
-#usr/include/c++/4.9.4/cxxabi.h
-#usr/include/c++/4.9.4/debug
-#usr/include/c++/4.9.4/debug/array
-#usr/include/c++/4.9.4/debug/bitset
-#usr/include/c++/4.9.4/debug/debug.h
-#usr/include/c++/4.9.4/debug/deque
-#usr/include/c++/4.9.4/debug/formatter.h
-#usr/include/c++/4.9.4/debug/forward_list
-#usr/include/c++/4.9.4/debug/functions.h
-#usr/include/c++/4.9.4/debug/list
-#usr/include/c++/4.9.4/debug/macros.h
-#usr/include/c++/4.9.4/debug/map
-#usr/include/c++/4.9.4/debug/map.h
-#usr/include/c++/4.9.4/debug/multimap.h
-#usr/include/c++/4.9.4/debug/multiset.h
-#usr/include/c++/4.9.4/debug/safe_base.h
-#usr/include/c++/4.9.4/debug/safe_iterator.h
-#usr/include/c++/4.9.4/debug/safe_iterator.tcc
-#usr/include/c++/4.9.4/debug/safe_local_iterator.h
-#usr/include/c++/4.9.4/debug/safe_local_iterator.tcc
-#usr/include/c++/4.9.4/debug/safe_sequence.h
-#usr/include/c++/4.9.4/debug/safe_sequence.tcc
-#usr/include/c++/4.9.4/debug/safe_unordered_base.h
-#usr/include/c++/4.9.4/debug/safe_unordered_container.h
-#usr/include/c++/4.9.4/debug/safe_unordered_container.tcc
-#usr/include/c++/4.9.4/debug/set
-#usr/include/c++/4.9.4/debug/set.h
-#usr/include/c++/4.9.4/debug/string
-#usr/include/c++/4.9.4/debug/unordered_map
-#usr/include/c++/4.9.4/debug/unordered_set
-#usr/include/c++/4.9.4/debug/vector
-#usr/include/c++/4.9.4/decimal
-#usr/include/c++/4.9.4/decimal/decimal
-#usr/include/c++/4.9.4/decimal/decimal.h
-#usr/include/c++/4.9.4/deque
-#usr/include/c++/4.9.4/exception
-#usr/include/c++/4.9.4/experimental
-#usr/include/c++/4.9.4/experimental/optional
-#usr/include/c++/4.9.4/experimental/string_view
-#usr/include/c++/4.9.4/experimental/string_view.tcc
-#usr/include/c++/4.9.4/ext
-#usr/include/c++/4.9.4/ext/algorithm
-#usr/include/c++/4.9.4/ext/aligned_buffer.h
-#usr/include/c++/4.9.4/ext/alloc_traits.h
-#usr/include/c++/4.9.4/ext/array_allocator.h
-#usr/include/c++/4.9.4/ext/atomicity.h
-#usr/include/c++/4.9.4/ext/bitmap_allocator.h
-#usr/include/c++/4.9.4/ext/cast.h
-#usr/include/c++/4.9.4/ext/cmath
-#usr/include/c++/4.9.4/ext/codecvt_specializations.h
-#usr/include/c++/4.9.4/ext/concurrence.h
-#usr/include/c++/4.9.4/ext/debug_allocator.h
-#usr/include/c++/4.9.4/ext/enc_filebuf.h
-#usr/include/c++/4.9.4/ext/extptr_allocator.h
-#usr/include/c++/4.9.4/ext/functional
-#usr/include/c++/4.9.4/ext/hash_map
-#usr/include/c++/4.9.4/ext/hash_set
-#usr/include/c++/4.9.4/ext/iterator
-#usr/include/c++/4.9.4/ext/malloc_allocator.h
-#usr/include/c++/4.9.4/ext/memory
-#usr/include/c++/4.9.4/ext/mt_allocator.h
-#usr/include/c++/4.9.4/ext/new_allocator.h
-#usr/include/c++/4.9.4/ext/numeric
-#usr/include/c++/4.9.4/ext/numeric_traits.h
-#usr/include/c++/4.9.4/ext/pb_ds
-#usr/include/c++/4.9.4/ext/pb_ds/assoc_container.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/bin_search_tree_/traits.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/const_iterator.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/entry_pred.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/point_const_iterator.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/resize_policy.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binomial_heap_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binomial_heap_base_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/branch_policy
-#usr/include/c++/4.9.4/ext/pb_ds/detail/branch_policy/branch_policy.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/branch_policy/null_node_metadata.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/branch_policy/traits.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/cond_dealtor.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/container_base_dispatch.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/debug_map_base.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/eq_fn
-#usr/include/c++/4.9.4/ext/pb_ds/detail/eq_fn/eq_by_less.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/hash_fn
-#usr/include/c++/4.9.4/ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/left_child_next_sibling_heap_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/left_child_next_sibling_heap_/point_const_iterator.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/list_update_map_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/list_update_map_/lu_map_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/list_update_policy
-#usr/include/c++/4.9.4/ext/pb_ds/detail/list_update_policy/lu_counter_metadata.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/ov_tree_map_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/ov_tree_map_/traits.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pairing_heap_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/synth_access_traits.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/traits.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/priority_queue_base_dispatch.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rb_tree_map_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rb_tree_map_/node.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rb_tree_map_/traits.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rc_binomial_heap_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rc_binomial_heap_/rc_binomial_heap_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/resize_policy
-#usr/include/c++/4.9.4/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/splay_tree_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/splay_tree_/node.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/splay_tree_/traits.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/standard_policies.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/thin_heap_
-#usr/include/c++/4.9.4/ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/tree_policy
-#usr/include/c++/4.9.4/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/tree_trace_base.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/trie_policy
-#usr/include/c++/4.9.4/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/trie_policy/sample_trie_access_traits.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/trie_policy/trie_string_access_traits_imp.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/type_utils.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/types_traits.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/unordered_iterator
-#usr/include/c++/4.9.4/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/unordered_iterator/iterator.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/unordered_iterator/point_const_iterator.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/exception.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/hash_policy.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/list_update_policy.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/priority_queue.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/tag_and_trait.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/tree_policy.hpp
-#usr/include/c++/4.9.4/ext/pb_ds/trie_policy.hpp
-#usr/include/c++/4.9.4/ext/pod_char_traits.h
-#usr/include/c++/4.9.4/ext/pointer.h
-#usr/include/c++/4.9.4/ext/pool_allocator.h
-#usr/include/c++/4.9.4/ext/random
-#usr/include/c++/4.9.4/ext/random.tcc
-#usr/include/c++/4.9.4/ext/rb_tree
-#usr/include/c++/4.9.4/ext/rc_string_base.h
-#usr/include/c++/4.9.4/ext/rope
-#usr/include/c++/4.9.4/ext/ropeimpl.h
-#usr/include/c++/4.9.4/ext/slist
-#usr/include/c++/4.9.4/ext/sso_string_base.h
-#usr/include/c++/4.9.4/ext/stdio_filebuf.h
-#usr/include/c++/4.9.4/ext/stdio_sync_filebuf.h
-#usr/include/c++/4.9.4/ext/string_conversions.h
-#usr/include/c++/4.9.4/ext/throw_allocator.h
-#usr/include/c++/4.9.4/ext/type_traits.h
-#usr/include/c++/4.9.4/ext/typelist.h
-#usr/include/c++/4.9.4/ext/vstring.h
-#usr/include/c++/4.9.4/ext/vstring.tcc
-#usr/include/c++/4.9.4/ext/vstring_fwd.h
-#usr/include/c++/4.9.4/ext/vstring_util.h
-#usr/include/c++/4.9.4/fenv.h
-#usr/include/c++/4.9.4/forward_list
-#usr/include/c++/4.9.4/fstream
-#usr/include/c++/4.9.4/functional
-#usr/include/c++/4.9.4/future
-#usr/include/c++/4.9.4/initializer_list
-#usr/include/c++/4.9.4/iomanip
-#usr/include/c++/4.9.4/ios
-#usr/include/c++/4.9.4/iosfwd
-#usr/include/c++/4.9.4/iostream
-#usr/include/c++/4.9.4/istream
-#usr/include/c++/4.9.4/iterator
-#usr/include/c++/4.9.4/limits
-#usr/include/c++/4.9.4/list
-#usr/include/c++/4.9.4/locale
-#usr/include/c++/4.9.4/map
-#usr/include/c++/4.9.4/memory
-#usr/include/c++/4.9.4/mutex
-#usr/include/c++/4.9.4/new
-#usr/include/c++/4.9.4/numeric
-#usr/include/c++/4.9.4/ostream
-#usr/include/c++/4.9.4/parallel
-#usr/include/c++/4.9.4/parallel/algo.h
-#usr/include/c++/4.9.4/parallel/algobase.h
-#usr/include/c++/4.9.4/parallel/algorithm
-#usr/include/c++/4.9.4/parallel/algorithmfwd.h
-#usr/include/c++/4.9.4/parallel/balanced_quicksort.h
-#usr/include/c++/4.9.4/parallel/base.h
-#usr/include/c++/4.9.4/parallel/basic_iterator.h
-#usr/include/c++/4.9.4/parallel/checkers.h
-#usr/include/c++/4.9.4/parallel/compatibility.h
-#usr/include/c++/4.9.4/parallel/compiletime_settings.h
-#usr/include/c++/4.9.4/parallel/equally_split.h
-#usr/include/c++/4.9.4/parallel/features.h
-#usr/include/c++/4.9.4/parallel/find.h
-#usr/include/c++/4.9.4/parallel/find_selectors.h
-#usr/include/c++/4.9.4/parallel/for_each.h
-#usr/include/c++/4.9.4/parallel/for_each_selectors.h
-#usr/include/c++/4.9.4/parallel/iterator.h
-#usr/include/c++/4.9.4/parallel/list_partition.h
-#usr/include/c++/4.9.4/parallel/losertree.h
-#usr/include/c++/4.9.4/parallel/merge.h
-#usr/include/c++/4.9.4/parallel/multiseq_selection.h
-#usr/include/c++/4.9.4/parallel/multiway_merge.h
-#usr/include/c++/4.9.4/parallel/multiway_mergesort.h
-#usr/include/c++/4.9.4/parallel/numeric
-#usr/include/c++/4.9.4/parallel/numericfwd.h
-#usr/include/c++/4.9.4/parallel/omp_loop.h
-#usr/include/c++/4.9.4/parallel/omp_loop_static.h
-#usr/include/c++/4.9.4/parallel/par_loop.h
-#usr/include/c++/4.9.4/parallel/parallel.h
-#usr/include/c++/4.9.4/parallel/partial_sum.h
-#usr/include/c++/4.9.4/parallel/partition.h
-#usr/include/c++/4.9.4/parallel/queue.h
-#usr/include/c++/4.9.4/parallel/quicksort.h
-#usr/include/c++/4.9.4/parallel/random_number.h
-#usr/include/c++/4.9.4/parallel/random_shuffle.h
-#usr/include/c++/4.9.4/parallel/search.h
-#usr/include/c++/4.9.4/parallel/set_operations.h
-#usr/include/c++/4.9.4/parallel/settings.h
-#usr/include/c++/4.9.4/parallel/sort.h
-#usr/include/c++/4.9.4/parallel/tags.h
-#usr/include/c++/4.9.4/parallel/types.h
-#usr/include/c++/4.9.4/parallel/unique_copy.h
-#usr/include/c++/4.9.4/parallel/workstealing.h
-#usr/include/c++/4.9.4/profile
-#usr/include/c++/4.9.4/profile/array
-#usr/include/c++/4.9.4/profile/base.h
-#usr/include/c++/4.9.4/profile/bitset
-#usr/include/c++/4.9.4/profile/deque
-#usr/include/c++/4.9.4/profile/forward_list
-#usr/include/c++/4.9.4/profile/impl
-#usr/include/c++/4.9.4/profile/impl/profiler.h
-#usr/include/c++/4.9.4/profile/impl/profiler_algos.h
-#usr/include/c++/4.9.4/profile/impl/profiler_container_size.h
-#usr/include/c++/4.9.4/profile/impl/profiler_hash_func.h
-#usr/include/c++/4.9.4/profile/impl/profiler_hashtable_size.h
-#usr/include/c++/4.9.4/profile/impl/profiler_list_to_slist.h
-#usr/include/c++/4.9.4/profile/impl/profiler_list_to_vector.h
-#usr/include/c++/4.9.4/profile/impl/profiler_map_to_unordered_map.h
-#usr/include/c++/4.9.4/profile/impl/profiler_node.h
-#usr/include/c++/4.9.4/profile/impl/profiler_state.h
-#usr/include/c++/4.9.4/profile/impl/profiler_trace.h
-#usr/include/c++/4.9.4/profile/impl/profiler_vector_size.h
-#usr/include/c++/4.9.4/profile/impl/profiler_vector_to_list.h
-#usr/include/c++/4.9.4/profile/iterator_tracker.h
-#usr/include/c++/4.9.4/profile/list
-#usr/include/c++/4.9.4/profile/map
-#usr/include/c++/4.9.4/profile/map.h
-#usr/include/c++/4.9.4/profile/multimap.h
-#usr/include/c++/4.9.4/profile/multiset.h
-#usr/include/c++/4.9.4/profile/set
-#usr/include/c++/4.9.4/profile/set.h
-#usr/include/c++/4.9.4/profile/unordered_base.h
-#usr/include/c++/4.9.4/profile/unordered_map
-#usr/include/c++/4.9.4/profile/unordered_set
-#usr/include/c++/4.9.4/profile/vector
-#usr/include/c++/4.9.4/queue
-#usr/include/c++/4.9.4/random
-#usr/include/c++/4.9.4/ratio
-#usr/include/c++/4.9.4/regex
-#usr/include/c++/4.9.4/scoped_allocator
-#usr/include/c++/4.9.4/set
-#usr/include/c++/4.9.4/shared_mutex
-#usr/include/c++/4.9.4/sstream
-#usr/include/c++/4.9.4/stack
-#usr/include/c++/4.9.4/stdexcept
-#usr/include/c++/4.9.4/streambuf
-#usr/include/c++/4.9.4/string
-#usr/include/c++/4.9.4/system_error
-#usr/include/c++/4.9.4/tgmath.h
-#usr/include/c++/4.9.4/thread
-#usr/include/c++/4.9.4/tr1
-#usr/include/c++/4.9.4/tr1/array
-#usr/include/c++/4.9.4/tr1/bessel_function.tcc
-#usr/include/c++/4.9.4/tr1/beta_function.tcc
-#usr/include/c++/4.9.4/tr1/ccomplex
-#usr/include/c++/4.9.4/tr1/cctype
-#usr/include/c++/4.9.4/tr1/cfenv
-#usr/include/c++/4.9.4/tr1/cfloat
-#usr/include/c++/4.9.4/tr1/cinttypes
-#usr/include/c++/4.9.4/tr1/climits
-#usr/include/c++/4.9.4/tr1/cmath
-#usr/include/c++/4.9.4/tr1/complex
-#usr/include/c++/4.9.4/tr1/complex.h
-#usr/include/c++/4.9.4/tr1/cstdarg
-#usr/include/c++/4.9.4/tr1/cstdbool
-#usr/include/c++/4.9.4/tr1/cstdint
-#usr/include/c++/4.9.4/tr1/cstdio
-#usr/include/c++/4.9.4/tr1/cstdlib
-#usr/include/c++/4.9.4/tr1/ctgmath
-#usr/include/c++/4.9.4/tr1/ctime
-#usr/include/c++/4.9.4/tr1/ctype.h
-#usr/include/c++/4.9.4/tr1/cwchar
-#usr/include/c++/4.9.4/tr1/cwctype
-#usr/include/c++/4.9.4/tr1/ell_integral.tcc
-#usr/include/c++/4.9.4/tr1/exp_integral.tcc
-#usr/include/c++/4.9.4/tr1/fenv.h
-#usr/include/c++/4.9.4/tr1/float.h
-#usr/include/c++/4.9.4/tr1/functional
-#usr/include/c++/4.9.4/tr1/functional_hash.h
-#usr/include/c++/4.9.4/tr1/gamma.tcc
-#usr/include/c++/4.9.4/tr1/hashtable.h
-#usr/include/c++/4.9.4/tr1/hashtable_policy.h
-#usr/include/c++/4.9.4/tr1/hypergeometric.tcc
-#usr/include/c++/4.9.4/tr1/inttypes.h
-#usr/include/c++/4.9.4/tr1/legendre_function.tcc
-#usr/include/c++/4.9.4/tr1/limits.h
-#usr/include/c++/4.9.4/tr1/math.h
-#usr/include/c++/4.9.4/tr1/memory
-#usr/include/c++/4.9.4/tr1/modified_bessel_func.tcc
-#usr/include/c++/4.9.4/tr1/poly_hermite.tcc
-#usr/include/c++/4.9.4/tr1/poly_laguerre.tcc
-#usr/include/c++/4.9.4/tr1/random
-#usr/include/c++/4.9.4/tr1/random.h
-#usr/include/c++/4.9.4/tr1/random.tcc
-#usr/include/c++/4.9.4/tr1/regex
-#usr/include/c++/4.9.4/tr1/riemann_zeta.tcc
-#usr/include/c++/4.9.4/tr1/shared_ptr.h
-#usr/include/c++/4.9.4/tr1/special_function_util.h
-#usr/include/c++/4.9.4/tr1/stdarg.h
-#usr/include/c++/4.9.4/tr1/stdbool.h
-#usr/include/c++/4.9.4/tr1/stdint.h
-#usr/include/c++/4.9.4/tr1/stdio.h
-#usr/include/c++/4.9.4/tr1/stdlib.h
-#usr/include/c++/4.9.4/tr1/tgmath.h
-#usr/include/c++/4.9.4/tr1/tuple
-#usr/include/c++/4.9.4/tr1/type_traits
-#usr/include/c++/4.9.4/tr1/unordered_map
-#usr/include/c++/4.9.4/tr1/unordered_map.h
-#usr/include/c++/4.9.4/tr1/unordered_set
-#usr/include/c++/4.9.4/tr1/unordered_set.h
-#usr/include/c++/4.9.4/tr1/utility
-#usr/include/c++/4.9.4/tr1/wchar.h
-#usr/include/c++/4.9.4/tr1/wctype.h
-#usr/include/c++/4.9.4/tr2
-#usr/include/c++/4.9.4/tr2/bool_set
-#usr/include/c++/4.9.4/tr2/bool_set.tcc
-#usr/include/c++/4.9.4/tr2/dynamic_bitset
-#usr/include/c++/4.9.4/tr2/dynamic_bitset.tcc
-#usr/include/c++/4.9.4/tr2/ratio
-#usr/include/c++/4.9.4/tr2/type_traits
-#usr/include/c++/4.9.4/tuple
-#usr/include/c++/4.9.4/type_traits
-#usr/include/c++/4.9.4/typeindex
-#usr/include/c++/4.9.4/typeinfo
-#usr/include/c++/4.9.4/unordered_map
-#usr/include/c++/4.9.4/unordered_set
-#usr/include/c++/4.9.4/utility
-#usr/include/c++/4.9.4/valarray
-#usr/include/c++/4.9.4/vector
-#usr/include/c++/4.9.4/x86_64-unknown-linux-gnu
-#usr/include/c++/4.9.4/x86_64-unknown-linux-gnu/bits
-#usr/include/c++/4.9.4/x86_64-unknown-linux-gnu/bits/atomic_word.h
-#usr/include/c++/4.9.4/x86_64-unknown-linux-gnu/bits/basic_file.h
-#usr/include/c++/4.9.4/x86_64-unknown-linux-gnu/bits/c++allocator.h
-#usr/include/c++/4.9.4/x86_64-unknown-linux-gnu/bits/c++config.h
-#usr/include/c++/4.9.4/x86_64-unknown-linux-gnu/bits/c++io.h
-#usr/include/c++/4.9.4/x86_64-unknown-linux-gnu/bits/c++locale.h
-#usr/include/c++/4.9.4/x86_64-unknown-linux-gnu/bits/cpu_defines.h
-#usr/include/c++/4.9.4/x86_64-unknown-linux-gnu/bits/ctype_base.h
-#usr/include/c++/4.9.4/x86_64-unknown-linux-gnu/bits/ctype_inline.h
-#usr/include/c++/4.9.4/x86_64-unknown-linux-gnu/bits/cxxabi_tweaks.h
-#usr/include/c++/4.9.4/x86_64-unknown-linux-gnu/bits/error_constants.h
-#usr/include/c++/4.9.4/x86_64-unknown-linux-gnu/bits/extc++.h
-#usr/include/c++/4.9.4/x86_64-unknown-linux-gnu/bits/gthr-default.h
-#usr/include/c++/4.9.4/x86_64-unknown-linux-gnu/bits/gthr-posix.h
-#usr/include/c++/4.9.4/x86_64-unknown-linux-gnu/bits/gthr-single.h
-#usr/include/c++/4.9.4/x86_64-unknown-linux-gnu/bits/gthr.h
-#usr/include/c++/4.9.4/x86_64-unknown-linux-gnu/bits/messages_members.h
-#usr/include/c++/4.9.4/x86_64-unknown-linux-gnu/bits/opt_random.h
-#usr/include/c++/4.9.4/x86_64-unknown-linux-gnu/bits/os_defines.h
-#usr/include/c++/4.9.4/x86_64-unknown-linux-gnu/bits/stdc++.h
-#usr/include/c++/4.9.4/x86_64-unknown-linux-gnu/bits/stdtr1c++.h
-#usr/include/c++/4.9.4/x86_64-unknown-linux-gnu/bits/time_members.h
-#usr/include/c++/4.9.4/x86_64-unknown-linux-gnu/ext
-#usr/include/c++/4.9.4/x86_64-unknown-linux-gnu/ext/opt_random.h
+#usr/include/c++/6.3.0
+#usr/include/c++/6.3.0/algorithm
+#usr/include/c++/6.3.0/array
+#usr/include/c++/6.3.0/atomic
+#usr/include/c++/6.3.0/backward
+#usr/include/c++/6.3.0/backward/auto_ptr.h
+#usr/include/c++/6.3.0/backward/backward_warning.h
+#usr/include/c++/6.3.0/backward/binders.h
+#usr/include/c++/6.3.0/backward/hash_fun.h
+#usr/include/c++/6.3.0/backward/hash_map
+#usr/include/c++/6.3.0/backward/hash_set
+#usr/include/c++/6.3.0/backward/hashtable.h
+#usr/include/c++/6.3.0/backward/strstream
+#usr/include/c++/6.3.0/bits
+#usr/include/c++/6.3.0/bits/algorithmfwd.h
+#usr/include/c++/6.3.0/bits/alloc_traits.h
+#usr/include/c++/6.3.0/bits/allocated_ptr.h
+#usr/include/c++/6.3.0/bits/allocator.h
+#usr/include/c++/6.3.0/bits/atomic_base.h
+#usr/include/c++/6.3.0/bits/atomic_futex.h
+#usr/include/c++/6.3.0/bits/atomic_lockfree_defines.h
+#usr/include/c++/6.3.0/bits/basic_ios.h
+#usr/include/c++/6.3.0/bits/basic_ios.tcc
+#usr/include/c++/6.3.0/bits/basic_string.h
+#usr/include/c++/6.3.0/bits/basic_string.tcc
+#usr/include/c++/6.3.0/bits/boost_concept_check.h
+#usr/include/c++/6.3.0/bits/c++0x_warning.h
+#usr/include/c++/6.3.0/bits/c++14_warning.h
+#usr/include/c++/6.3.0/bits/char_traits.h
+#usr/include/c++/6.3.0/bits/codecvt.h
+#usr/include/c++/6.3.0/bits/concept_check.h
+#usr/include/c++/6.3.0/bits/cpp_type_traits.h
+#usr/include/c++/6.3.0/bits/cxxabi_forced.h
+#usr/include/c++/6.3.0/bits/deque.tcc
+#usr/include/c++/6.3.0/bits/enable_special_members.h
+#usr/include/c++/6.3.0/bits/exception_defines.h
+#usr/include/c++/6.3.0/bits/exception_ptr.h
+#usr/include/c++/6.3.0/bits/forward_list.h
+#usr/include/c++/6.3.0/bits/forward_list.tcc
+#usr/include/c++/6.3.0/bits/fstream.tcc
+#usr/include/c++/6.3.0/bits/functexcept.h
+#usr/include/c++/6.3.0/bits/functional_hash.h
+#usr/include/c++/6.3.0/bits/gslice.h
+#usr/include/c++/6.3.0/bits/gslice_array.h
+#usr/include/c++/6.3.0/bits/hash_bytes.h
+#usr/include/c++/6.3.0/bits/hashtable.h
+#usr/include/c++/6.3.0/bits/hashtable_policy.h
+#usr/include/c++/6.3.0/bits/indirect_array.h
+#usr/include/c++/6.3.0/bits/ios_base.h
+#usr/include/c++/6.3.0/bits/istream.tcc
+#usr/include/c++/6.3.0/bits/list.tcc
+#usr/include/c++/6.3.0/bits/locale_classes.h
+#usr/include/c++/6.3.0/bits/locale_classes.tcc
+#usr/include/c++/6.3.0/bits/locale_conv.h
+#usr/include/c++/6.3.0/bits/locale_facets.h
+#usr/include/c++/6.3.0/bits/locale_facets.tcc
+#usr/include/c++/6.3.0/bits/locale_facets_nonio.h
+#usr/include/c++/6.3.0/bits/locale_facets_nonio.tcc
+#usr/include/c++/6.3.0/bits/localefwd.h
+#usr/include/c++/6.3.0/bits/mask_array.h
+#usr/include/c++/6.3.0/bits/memoryfwd.h
+#usr/include/c++/6.3.0/bits/move.h
+#usr/include/c++/6.3.0/bits/nested_exception.h
+#usr/include/c++/6.3.0/bits/ostream.tcc
+#usr/include/c++/6.3.0/bits/ostream_insert.h
+#usr/include/c++/6.3.0/bits/parse_numbers.h
+#usr/include/c++/6.3.0/bits/postypes.h
+#usr/include/c++/6.3.0/bits/predefined_ops.h
+#usr/include/c++/6.3.0/bits/ptr_traits.h
+#usr/include/c++/6.3.0/bits/quoted_string.h
+#usr/include/c++/6.3.0/bits/random.h
+#usr/include/c++/6.3.0/bits/random.tcc
+#usr/include/c++/6.3.0/bits/range_access.h
+#usr/include/c++/6.3.0/bits/regex.h
+#usr/include/c++/6.3.0/bits/regex.tcc
+#usr/include/c++/6.3.0/bits/regex_automaton.h
+#usr/include/c++/6.3.0/bits/regex_automaton.tcc
+#usr/include/c++/6.3.0/bits/regex_compiler.h
+#usr/include/c++/6.3.0/bits/regex_compiler.tcc
+#usr/include/c++/6.3.0/bits/regex_constants.h
+#usr/include/c++/6.3.0/bits/regex_error.h
+#usr/include/c++/6.3.0/bits/regex_executor.h
+#usr/include/c++/6.3.0/bits/regex_executor.tcc
+#usr/include/c++/6.3.0/bits/regex_scanner.h
+#usr/include/c++/6.3.0/bits/regex_scanner.tcc
+#usr/include/c++/6.3.0/bits/shared_ptr.h
+#usr/include/c++/6.3.0/bits/shared_ptr_atomic.h
+#usr/include/c++/6.3.0/bits/shared_ptr_base.h
+#usr/include/c++/6.3.0/bits/slice_array.h
+#usr/include/c++/6.3.0/bits/specfun.h
+#usr/include/c++/6.3.0/bits/sstream.tcc
+#usr/include/c++/6.3.0/bits/std_mutex.h
+#usr/include/c++/6.3.0/bits/stl_algo.h
+#usr/include/c++/6.3.0/bits/stl_algobase.h
+#usr/include/c++/6.3.0/bits/stl_bvector.h
+#usr/include/c++/6.3.0/bits/stl_construct.h
+#usr/include/c++/6.3.0/bits/stl_deque.h
+#usr/include/c++/6.3.0/bits/stl_function.h
+#usr/include/c++/6.3.0/bits/stl_heap.h
+#usr/include/c++/6.3.0/bits/stl_iterator.h
+#usr/include/c++/6.3.0/bits/stl_iterator_base_funcs.h
+#usr/include/c++/6.3.0/bits/stl_iterator_base_types.h
+#usr/include/c++/6.3.0/bits/stl_list.h
+#usr/include/c++/6.3.0/bits/stl_map.h
+#usr/include/c++/6.3.0/bits/stl_multimap.h
+#usr/include/c++/6.3.0/bits/stl_multiset.h
+#usr/include/c++/6.3.0/bits/stl_numeric.h
+#usr/include/c++/6.3.0/bits/stl_pair.h
+#usr/include/c++/6.3.0/bits/stl_queue.h
+#usr/include/c++/6.3.0/bits/stl_raw_storage_iter.h
+#usr/include/c++/6.3.0/bits/stl_relops.h
+#usr/include/c++/6.3.0/bits/stl_set.h
+#usr/include/c++/6.3.0/bits/stl_stack.h
+#usr/include/c++/6.3.0/bits/stl_tempbuf.h
+#usr/include/c++/6.3.0/bits/stl_tree.h
+#usr/include/c++/6.3.0/bits/stl_uninitialized.h
+#usr/include/c++/6.3.0/bits/stl_vector.h
+#usr/include/c++/6.3.0/bits/stream_iterator.h
+#usr/include/c++/6.3.0/bits/streambuf.tcc
+#usr/include/c++/6.3.0/bits/streambuf_iterator.h
+#usr/include/c++/6.3.0/bits/stringfwd.h
+#usr/include/c++/6.3.0/bits/uniform_int_dist.h
+#usr/include/c++/6.3.0/bits/unique_ptr.h
+#usr/include/c++/6.3.0/bits/unordered_map.h
+#usr/include/c++/6.3.0/bits/unordered_set.h
+#usr/include/c++/6.3.0/bits/uses_allocator.h
+#usr/include/c++/6.3.0/bits/valarray_after.h
+#usr/include/c++/6.3.0/bits/valarray_array.h
+#usr/include/c++/6.3.0/bits/valarray_array.tcc
+#usr/include/c++/6.3.0/bits/valarray_before.h
+#usr/include/c++/6.3.0/bits/vector.tcc
+#usr/include/c++/6.3.0/bitset
+#usr/include/c++/6.3.0/cassert
+#usr/include/c++/6.3.0/ccomplex
+#usr/include/c++/6.3.0/cctype
+#usr/include/c++/6.3.0/cerrno
+#usr/include/c++/6.3.0/cfenv
+#usr/include/c++/6.3.0/cfloat
+#usr/include/c++/6.3.0/chrono
+#usr/include/c++/6.3.0/cinttypes
+#usr/include/c++/6.3.0/ciso646
+#usr/include/c++/6.3.0/climits
+#usr/include/c++/6.3.0/clocale
+#usr/include/c++/6.3.0/cmath
+#usr/include/c++/6.3.0/codecvt
+#usr/include/c++/6.3.0/complex
+#usr/include/c++/6.3.0/complex.h
+#usr/include/c++/6.3.0/condition_variable
+#usr/include/c++/6.3.0/csetjmp
+#usr/include/c++/6.3.0/csignal
+#usr/include/c++/6.3.0/cstdalign
+#usr/include/c++/6.3.0/cstdarg
+#usr/include/c++/6.3.0/cstdbool
+#usr/include/c++/6.3.0/cstddef
+#usr/include/c++/6.3.0/cstdint
+#usr/include/c++/6.3.0/cstdio
+#usr/include/c++/6.3.0/cstdlib
+#usr/include/c++/6.3.0/cstring
+#usr/include/c++/6.3.0/ctgmath
+#usr/include/c++/6.3.0/ctime
+#usr/include/c++/6.3.0/cuchar
+#usr/include/c++/6.3.0/cwchar
+#usr/include/c++/6.3.0/cwctype
+#usr/include/c++/6.3.0/cxxabi.h
+#usr/include/c++/6.3.0/debug
+#usr/include/c++/6.3.0/debug/array
+#usr/include/c++/6.3.0/debug/assertions.h
+#usr/include/c++/6.3.0/debug/bitset
+#usr/include/c++/6.3.0/debug/debug.h
+#usr/include/c++/6.3.0/debug/deque
+#usr/include/c++/6.3.0/debug/formatter.h
+#usr/include/c++/6.3.0/debug/forward_list
+#usr/include/c++/6.3.0/debug/functions.h
+#usr/include/c++/6.3.0/debug/helper_functions.h
+#usr/include/c++/6.3.0/debug/list
+#usr/include/c++/6.3.0/debug/macros.h
+#usr/include/c++/6.3.0/debug/map
+#usr/include/c++/6.3.0/debug/map.h
+#usr/include/c++/6.3.0/debug/multimap.h
+#usr/include/c++/6.3.0/debug/multiset.h
+#usr/include/c++/6.3.0/debug/safe_base.h
+#usr/include/c++/6.3.0/debug/safe_container.h
+#usr/include/c++/6.3.0/debug/safe_iterator.h
+#usr/include/c++/6.3.0/debug/safe_iterator.tcc
+#usr/include/c++/6.3.0/debug/safe_local_iterator.h
+#usr/include/c++/6.3.0/debug/safe_local_iterator.tcc
+#usr/include/c++/6.3.0/debug/safe_sequence.h
+#usr/include/c++/6.3.0/debug/safe_sequence.tcc
+#usr/include/c++/6.3.0/debug/safe_unordered_base.h
+#usr/include/c++/6.3.0/debug/safe_unordered_container.h
+#usr/include/c++/6.3.0/debug/safe_unordered_container.tcc
+#usr/include/c++/6.3.0/debug/set
+#usr/include/c++/6.3.0/debug/set.h
+#usr/include/c++/6.3.0/debug/stl_iterator.h
+#usr/include/c++/6.3.0/debug/string
+#usr/include/c++/6.3.0/debug/unordered_map
+#usr/include/c++/6.3.0/debug/unordered_set
+#usr/include/c++/6.3.0/debug/vector
+#usr/include/c++/6.3.0/decimal
+#usr/include/c++/6.3.0/decimal/decimal
+#usr/include/c++/6.3.0/decimal/decimal.h
+#usr/include/c++/6.3.0/deque
+#usr/include/c++/6.3.0/exception
+#usr/include/c++/6.3.0/experimental
+#usr/include/c++/6.3.0/experimental/algorithm
+#usr/include/c++/6.3.0/experimental/any
+#usr/include/c++/6.3.0/experimental/array
+#usr/include/c++/6.3.0/experimental/bits
+#usr/include/c++/6.3.0/experimental/bits/erase_if.h
+#usr/include/c++/6.3.0/experimental/bits/fs_dir.h
+#usr/include/c++/6.3.0/experimental/bits/fs_fwd.h
+#usr/include/c++/6.3.0/experimental/bits/fs_ops.h
+#usr/include/c++/6.3.0/experimental/bits/fs_path.h
+#usr/include/c++/6.3.0/experimental/bits/lfts_config.h
+#usr/include/c++/6.3.0/experimental/bits/shared_ptr.h
+#usr/include/c++/6.3.0/experimental/bits/string_view.tcc
+#usr/include/c++/6.3.0/experimental/chrono
+#usr/include/c++/6.3.0/experimental/deque
+#usr/include/c++/6.3.0/experimental/filesystem
+#usr/include/c++/6.3.0/experimental/forward_list
+#usr/include/c++/6.3.0/experimental/functional
+#usr/include/c++/6.3.0/experimental/iterator
+#usr/include/c++/6.3.0/experimental/list
+#usr/include/c++/6.3.0/experimental/map
+#usr/include/c++/6.3.0/experimental/memory
+#usr/include/c++/6.3.0/experimental/memory_resource
+#usr/include/c++/6.3.0/experimental/numeric
+#usr/include/c++/6.3.0/experimental/optional
+#usr/include/c++/6.3.0/experimental/propagate_const
+#usr/include/c++/6.3.0/experimental/random
+#usr/include/c++/6.3.0/experimental/ratio
+#usr/include/c++/6.3.0/experimental/regex
+#usr/include/c++/6.3.0/experimental/set
+#usr/include/c++/6.3.0/experimental/string
+#usr/include/c++/6.3.0/experimental/string_view
+#usr/include/c++/6.3.0/experimental/system_error
+#usr/include/c++/6.3.0/experimental/tuple
+#usr/include/c++/6.3.0/experimental/type_traits
+#usr/include/c++/6.3.0/experimental/unordered_map
+#usr/include/c++/6.3.0/experimental/unordered_set
+#usr/include/c++/6.3.0/experimental/utility
+#usr/include/c++/6.3.0/experimental/vector
+#usr/include/c++/6.3.0/ext
+#usr/include/c++/6.3.0/ext/algorithm
+#usr/include/c++/6.3.0/ext/aligned_buffer.h
+#usr/include/c++/6.3.0/ext/alloc_traits.h
+#usr/include/c++/6.3.0/ext/array_allocator.h
+#usr/include/c++/6.3.0/ext/atomicity.h
+#usr/include/c++/6.3.0/ext/bitmap_allocator.h
+#usr/include/c++/6.3.0/ext/cast.h
+#usr/include/c++/6.3.0/ext/cmath
+#usr/include/c++/6.3.0/ext/codecvt_specializations.h
+#usr/include/c++/6.3.0/ext/concurrence.h
+#usr/include/c++/6.3.0/ext/debug_allocator.h
+#usr/include/c++/6.3.0/ext/enc_filebuf.h
+#usr/include/c++/6.3.0/ext/extptr_allocator.h
+#usr/include/c++/6.3.0/ext/functional
+#usr/include/c++/6.3.0/ext/hash_map
+#usr/include/c++/6.3.0/ext/hash_set
+#usr/include/c++/6.3.0/ext/iterator
+#usr/include/c++/6.3.0/ext/malloc_allocator.h
+#usr/include/c++/6.3.0/ext/memory
+#usr/include/c++/6.3.0/ext/mt_allocator.h
+#usr/include/c++/6.3.0/ext/new_allocator.h
+#usr/include/c++/6.3.0/ext/numeric
+#usr/include/c++/6.3.0/ext/numeric_traits.h
+#usr/include/c++/6.3.0/ext/pb_ds
+#usr/include/c++/6.3.0/ext/pb_ds/assoc_container.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/bin_search_tree_/traits.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/const_iterator.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/entry_pred.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/point_const_iterator.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/resize_policy.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binomial_heap_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binomial_heap_base_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/branch_policy
+#usr/include/c++/6.3.0/ext/pb_ds/detail/branch_policy/branch_policy.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/branch_policy/null_node_metadata.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/branch_policy/traits.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/cond_dealtor.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/container_base_dispatch.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/debug_map_base.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/eq_fn
+#usr/include/c++/6.3.0/ext/pb_ds/detail/eq_fn/eq_by_less.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/hash_fn
+#usr/include/c++/6.3.0/ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/point_const_iterator.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/list_update_map_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/list_update_map_/lu_map_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/list_update_policy
+#usr/include/c++/6.3.0/ext/pb_ds/detail/list_update_policy/lu_counter_metadata.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/ov_tree_map_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/ov_tree_map_/traits.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pairing_heap_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/synth_access_traits.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/traits.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/priority_queue_base_dispatch.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rb_tree_map_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rb_tree_map_/node.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rb_tree_map_/traits.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rc_binomial_heap_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rc_binomial_heap_/rc_binomial_heap_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/resize_policy
+#usr/include/c++/6.3.0/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/splay_tree_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/splay_tree_/node.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/splay_tree_/traits.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/standard_policies.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/thin_heap_
+#usr/include/c++/6.3.0/ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/tree_policy
+#usr/include/c++/6.3.0/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/tree_trace_base.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/trie_policy
+#usr/include/c++/6.3.0/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/trie_policy/sample_trie_access_traits.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/trie_policy/trie_string_access_traits_imp.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/type_utils.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/types_traits.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/unordered_iterator
+#usr/include/c++/6.3.0/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/unordered_iterator/iterator.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/unordered_iterator/point_const_iterator.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/exception.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/hash_policy.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/list_update_policy.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/priority_queue.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/tag_and_trait.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/tree_policy.hpp
+#usr/include/c++/6.3.0/ext/pb_ds/trie_policy.hpp
+#usr/include/c++/6.3.0/ext/pod_char_traits.h
+#usr/include/c++/6.3.0/ext/pointer.h
+#usr/include/c++/6.3.0/ext/pool_allocator.h
+#usr/include/c++/6.3.0/ext/random
+#usr/include/c++/6.3.0/ext/random.tcc
+#usr/include/c++/6.3.0/ext/rb_tree
+#usr/include/c++/6.3.0/ext/rc_string_base.h
+#usr/include/c++/6.3.0/ext/rope
+#usr/include/c++/6.3.0/ext/ropeimpl.h
+#usr/include/c++/6.3.0/ext/slist
+#usr/include/c++/6.3.0/ext/sso_string_base.h
+#usr/include/c++/6.3.0/ext/stdio_filebuf.h
+#usr/include/c++/6.3.0/ext/stdio_sync_filebuf.h
+#usr/include/c++/6.3.0/ext/string_conversions.h
+#usr/include/c++/6.3.0/ext/throw_allocator.h
+#usr/include/c++/6.3.0/ext/type_traits.h
+#usr/include/c++/6.3.0/ext/typelist.h
+#usr/include/c++/6.3.0/ext/vstring.h
+#usr/include/c++/6.3.0/ext/vstring.tcc
+#usr/include/c++/6.3.0/ext/vstring_fwd.h
+#usr/include/c++/6.3.0/ext/vstring_util.h
+#usr/include/c++/6.3.0/fenv.h
+#usr/include/c++/6.3.0/forward_list
+#usr/include/c++/6.3.0/fstream
+#usr/include/c++/6.3.0/functional
+#usr/include/c++/6.3.0/future
+#usr/include/c++/6.3.0/initializer_list
+#usr/include/c++/6.3.0/iomanip
+#usr/include/c++/6.3.0/ios
+#usr/include/c++/6.3.0/iosfwd
+#usr/include/c++/6.3.0/iostream
+#usr/include/c++/6.3.0/istream
+#usr/include/c++/6.3.0/iterator
+#usr/include/c++/6.3.0/limits
+#usr/include/c++/6.3.0/list
+#usr/include/c++/6.3.0/locale
+#usr/include/c++/6.3.0/map
+#usr/include/c++/6.3.0/math.h
+#usr/include/c++/6.3.0/memory
+#usr/include/c++/6.3.0/mutex
+#usr/include/c++/6.3.0/new
+#usr/include/c++/6.3.0/numeric
+#usr/include/c++/6.3.0/ostream
+#usr/include/c++/6.3.0/parallel
+#usr/include/c++/6.3.0/parallel/algo.h
+#usr/include/c++/6.3.0/parallel/algobase.h
+#usr/include/c++/6.3.0/parallel/algorithm
+#usr/include/c++/6.3.0/parallel/algorithmfwd.h
+#usr/include/c++/6.3.0/parallel/balanced_quicksort.h
+#usr/include/c++/6.3.0/parallel/base.h
+#usr/include/c++/6.3.0/parallel/basic_iterator.h
+#usr/include/c++/6.3.0/parallel/checkers.h
+#usr/include/c++/6.3.0/parallel/compatibility.h
+#usr/include/c++/6.3.0/parallel/compiletime_settings.h
+#usr/include/c++/6.3.0/parallel/equally_split.h
+#usr/include/c++/6.3.0/parallel/features.h
+#usr/include/c++/6.3.0/parallel/find.h
+#usr/include/c++/6.3.0/parallel/find_selectors.h
+#usr/include/c++/6.3.0/parallel/for_each.h
+#usr/include/c++/6.3.0/parallel/for_each_selectors.h
+#usr/include/c++/6.3.0/parallel/iterator.h
+#usr/include/c++/6.3.0/parallel/list_partition.h
+#usr/include/c++/6.3.0/parallel/losertree.h
+#usr/include/c++/6.3.0/parallel/merge.h
+#usr/include/c++/6.3.0/parallel/multiseq_selection.h
+#usr/include/c++/6.3.0/parallel/multiway_merge.h
+#usr/include/c++/6.3.0/parallel/multiway_mergesort.h
+#usr/include/c++/6.3.0/parallel/numeric
+#usr/include/c++/6.3.0/parallel/numericfwd.h
+#usr/include/c++/6.3.0/parallel/omp_loop.h
+#usr/include/c++/6.3.0/parallel/omp_loop_static.h
+#usr/include/c++/6.3.0/parallel/par_loop.h
+#usr/include/c++/6.3.0/parallel/parallel.h
+#usr/include/c++/6.3.0/parallel/partial_sum.h
+#usr/include/c++/6.3.0/parallel/partition.h
+#usr/include/c++/6.3.0/parallel/queue.h
+#usr/include/c++/6.3.0/parallel/quicksort.h
+#usr/include/c++/6.3.0/parallel/random_number.h
+#usr/include/c++/6.3.0/parallel/random_shuffle.h
+#usr/include/c++/6.3.0/parallel/search.h
+#usr/include/c++/6.3.0/parallel/set_operations.h
+#usr/include/c++/6.3.0/parallel/settings.h
+#usr/include/c++/6.3.0/parallel/sort.h
+#usr/include/c++/6.3.0/parallel/tags.h
+#usr/include/c++/6.3.0/parallel/types.h
+#usr/include/c++/6.3.0/parallel/unique_copy.h
+#usr/include/c++/6.3.0/parallel/workstealing.h
+#usr/include/c++/6.3.0/profile
+#usr/include/c++/6.3.0/profile/array
+#usr/include/c++/6.3.0/profile/base.h
+#usr/include/c++/6.3.0/profile/bitset
+#usr/include/c++/6.3.0/profile/deque
+#usr/include/c++/6.3.0/profile/forward_list
+#usr/include/c++/6.3.0/profile/impl
+#usr/include/c++/6.3.0/profile/impl/profiler.h
+#usr/include/c++/6.3.0/profile/impl/profiler_algos.h
+#usr/include/c++/6.3.0/profile/impl/profiler_container_size.h
+#usr/include/c++/6.3.0/profile/impl/profiler_hash_func.h
+#usr/include/c++/6.3.0/profile/impl/profiler_hashtable_size.h
+#usr/include/c++/6.3.0/profile/impl/profiler_list_to_slist.h
+#usr/include/c++/6.3.0/profile/impl/profiler_list_to_vector.h
+#usr/include/c++/6.3.0/profile/impl/profiler_map_to_unordered_map.h
+#usr/include/c++/6.3.0/profile/impl/profiler_node.h
+#usr/include/c++/6.3.0/profile/impl/profiler_state.h
+#usr/include/c++/6.3.0/profile/impl/profiler_trace.h
+#usr/include/c++/6.3.0/profile/impl/profiler_vector_size.h
+#usr/include/c++/6.3.0/profile/impl/profiler_vector_to_list.h
+#usr/include/c++/6.3.0/profile/iterator_tracker.h
+#usr/include/c++/6.3.0/profile/list
+#usr/include/c++/6.3.0/profile/map
+#usr/include/c++/6.3.0/profile/map.h
+#usr/include/c++/6.3.0/profile/multimap.h
+#usr/include/c++/6.3.0/profile/multiset.h
+#usr/include/c++/6.3.0/profile/ordered_base.h
+#usr/include/c++/6.3.0/profile/set
+#usr/include/c++/6.3.0/profile/set.h
+#usr/include/c++/6.3.0/profile/unordered_base.h
+#usr/include/c++/6.3.0/profile/unordered_map
+#usr/include/c++/6.3.0/profile/unordered_set
+#usr/include/c++/6.3.0/profile/vector
+#usr/include/c++/6.3.0/queue
+#usr/include/c++/6.3.0/random
+#usr/include/c++/6.3.0/ratio
+#usr/include/c++/6.3.0/regex
+#usr/include/c++/6.3.0/scoped_allocator
+#usr/include/c++/6.3.0/set
+#usr/include/c++/6.3.0/shared_mutex
+#usr/include/c++/6.3.0/sstream
+#usr/include/c++/6.3.0/stack
+#usr/include/c++/6.3.0/stdexcept
+#usr/include/c++/6.3.0/stdlib.h
+#usr/include/c++/6.3.0/streambuf
+#usr/include/c++/6.3.0/string
+#usr/include/c++/6.3.0/system_error
+#usr/include/c++/6.3.0/tgmath.h
+#usr/include/c++/6.3.0/thread
+#usr/include/c++/6.3.0/tr1
+#usr/include/c++/6.3.0/tr1/array
+#usr/include/c++/6.3.0/tr1/bessel_function.tcc
+#usr/include/c++/6.3.0/tr1/beta_function.tcc
+#usr/include/c++/6.3.0/tr1/ccomplex
+#usr/include/c++/6.3.0/tr1/cctype
+#usr/include/c++/6.3.0/tr1/cfenv
+#usr/include/c++/6.3.0/tr1/cfloat
+#usr/include/c++/6.3.0/tr1/cinttypes
+#usr/include/c++/6.3.0/tr1/climits
+#usr/include/c++/6.3.0/tr1/cmath
+#usr/include/c++/6.3.0/tr1/complex
+#usr/include/c++/6.3.0/tr1/complex.h
+#usr/include/c++/6.3.0/tr1/cstdarg
+#usr/include/c++/6.3.0/tr1/cstdbool
+#usr/include/c++/6.3.0/tr1/cstdint
+#usr/include/c++/6.3.0/tr1/cstdio
+#usr/include/c++/6.3.0/tr1/cstdlib
+#usr/include/c++/6.3.0/tr1/ctgmath
+#usr/include/c++/6.3.0/tr1/ctime
+#usr/include/c++/6.3.0/tr1/ctype.h
+#usr/include/c++/6.3.0/tr1/cwchar
+#usr/include/c++/6.3.0/tr1/cwctype
+#usr/include/c++/6.3.0/tr1/ell_integral.tcc
+#usr/include/c++/6.3.0/tr1/exp_integral.tcc
+#usr/include/c++/6.3.0/tr1/fenv.h
+#usr/include/c++/6.3.0/tr1/float.h
+#usr/include/c++/6.3.0/tr1/functional
+#usr/include/c++/6.3.0/tr1/functional_hash.h
+#usr/include/c++/6.3.0/tr1/gamma.tcc
+#usr/include/c++/6.3.0/tr1/hashtable.h
+#usr/include/c++/6.3.0/tr1/hashtable_policy.h
+#usr/include/c++/6.3.0/tr1/hypergeometric.tcc
+#usr/include/c++/6.3.0/tr1/inttypes.h
+#usr/include/c++/6.3.0/tr1/legendre_function.tcc
+#usr/include/c++/6.3.0/tr1/limits.h
+#usr/include/c++/6.3.0/tr1/math.h
+#usr/include/c++/6.3.0/tr1/memory
+#usr/include/c++/6.3.0/tr1/modified_bessel_func.tcc
+#usr/include/c++/6.3.0/tr1/poly_hermite.tcc
+#usr/include/c++/6.3.0/tr1/poly_laguerre.tcc
+#usr/include/c++/6.3.0/tr1/random
+#usr/include/c++/6.3.0/tr1/random.h
+#usr/include/c++/6.3.0/tr1/random.tcc
+#usr/include/c++/6.3.0/tr1/regex
+#usr/include/c++/6.3.0/tr1/riemann_zeta.tcc
+#usr/include/c++/6.3.0/tr1/shared_ptr.h
+#usr/include/c++/6.3.0/tr1/special_function_util.h
+#usr/include/c++/6.3.0/tr1/stdarg.h
+#usr/include/c++/6.3.0/tr1/stdbool.h
+#usr/include/c++/6.3.0/tr1/stdint.h
+#usr/include/c++/6.3.0/tr1/stdio.h
+#usr/include/c++/6.3.0/tr1/stdlib.h
+#usr/include/c++/6.3.0/tr1/tgmath.h
+#usr/include/c++/6.3.0/tr1/tuple
+#usr/include/c++/6.3.0/tr1/type_traits
+#usr/include/c++/6.3.0/tr1/unordered_map
+#usr/include/c++/6.3.0/tr1/unordered_map.h
+#usr/include/c++/6.3.0/tr1/unordered_set
+#usr/include/c++/6.3.0/tr1/unordered_set.h
+#usr/include/c++/6.3.0/tr1/utility
+#usr/include/c++/6.3.0/tr1/wchar.h
+#usr/include/c++/6.3.0/tr1/wctype.h
+#usr/include/c++/6.3.0/tr2
+#usr/include/c++/6.3.0/tr2/bool_set
+#usr/include/c++/6.3.0/tr2/bool_set.tcc
+#usr/include/c++/6.3.0/tr2/dynamic_bitset
+#usr/include/c++/6.3.0/tr2/dynamic_bitset.tcc
+#usr/include/c++/6.3.0/tr2/ratio
+#usr/include/c++/6.3.0/tr2/type_traits
+#usr/include/c++/6.3.0/tuple
+#usr/include/c++/6.3.0/type_traits
+#usr/include/c++/6.3.0/typeindex
+#usr/include/c++/6.3.0/typeinfo
+#usr/include/c++/6.3.0/unordered_map
+#usr/include/c++/6.3.0/unordered_set
+#usr/include/c++/6.3.0/utility
+#usr/include/c++/6.3.0/valarray
+#usr/include/c++/6.3.0/vector
+#usr/include/c++/6.3.0/x86_64-pc-linux-gnu
+#usr/include/c++/6.3.0/x86_64-pc-linux-gnu/bits
+#usr/include/c++/6.3.0/x86_64-pc-linux-gnu/bits/atomic_word.h
+#usr/include/c++/6.3.0/x86_64-pc-linux-gnu/bits/basic_file.h
+#usr/include/c++/6.3.0/x86_64-pc-linux-gnu/bits/c++allocator.h
+#usr/include/c++/6.3.0/x86_64-pc-linux-gnu/bits/c++config.h
+#usr/include/c++/6.3.0/x86_64-pc-linux-gnu/bits/c++io.h
+#usr/include/c++/6.3.0/x86_64-pc-linux-gnu/bits/c++locale.h
+#usr/include/c++/6.3.0/x86_64-pc-linux-gnu/bits/cpu_defines.h
+#usr/include/c++/6.3.0/x86_64-pc-linux-gnu/bits/ctype_base.h
+#usr/include/c++/6.3.0/x86_64-pc-linux-gnu/bits/ctype_inline.h
+#usr/include/c++/6.3.0/x86_64-pc-linux-gnu/bits/cxxabi_tweaks.h
+#usr/include/c++/6.3.0/x86_64-pc-linux-gnu/bits/error_constants.h
+#usr/include/c++/6.3.0/x86_64-pc-linux-gnu/bits/extc++.h
+#usr/include/c++/6.3.0/x86_64-pc-linux-gnu/bits/gthr-default.h
+#usr/include/c++/6.3.0/x86_64-pc-linux-gnu/bits/gthr-posix.h
+#usr/include/c++/6.3.0/x86_64-pc-linux-gnu/bits/gthr-single.h
+#usr/include/c++/6.3.0/x86_64-pc-linux-gnu/bits/gthr.h
+#usr/include/c++/6.3.0/x86_64-pc-linux-gnu/bits/messages_members.h
+#usr/include/c++/6.3.0/x86_64-pc-linux-gnu/bits/opt_random.h
+#usr/include/c++/6.3.0/x86_64-pc-linux-gnu/bits/os_defines.h
+#usr/include/c++/6.3.0/x86_64-pc-linux-gnu/bits/stdc++.h
+#usr/include/c++/6.3.0/x86_64-pc-linux-gnu/bits/stdtr1c++.h
+#usr/include/c++/6.3.0/x86_64-pc-linux-gnu/bits/time_members.h
+#usr/include/c++/6.3.0/x86_64-pc-linux-gnu/ext
+#usr/include/c++/6.3.0/x86_64-pc-linux-gnu/ext/opt_random.h
 #usr/lib/gcc
-#usr/lib/gcc/x86_64-unknown-linux-gnu
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/cc1
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/cc1plus
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/collect2
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/crtbegin.o
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/crtbeginS.o
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/crtbeginT.o
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/crtend.o
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/crtendS.o
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/crtfastmath.o
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/crtprec32.o
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/crtprec64.o
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/crtprec80.o
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/finclude
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include-fixed
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include-fixed/README
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include-fixed/limits.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include-fixed/syslimits.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/adxintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/ammintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/avx2intrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/avx512cdintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/avx512erintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/avx512fintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/avx512pfintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/avxintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/bmi2intrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/bmiintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/bmmintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/cilk
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/cilk/cilk.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/cilk/cilk_api.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/cilk/cilk_api_linux.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/cilk/cilk_stub.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/cilk/cilk_undocumented.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/cilk/common.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/cilk/holder.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/cilk/hyperobject_base.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/cilk/metaprogramming.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/cilk/reducer.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/cilk/reducer_file.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/cilk/reducer_list.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/cilk/reducer_max.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/cilk/reducer_min.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/cilk/reducer_min_max.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/cilk/reducer_opadd.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/cilk/reducer_opand.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/cilk/reducer_opmul.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/cilk/reducer_opor.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/cilk/reducer_opxor.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/cilk/reducer_ostream.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/cilk/reducer_string.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/cpuid.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/cross-stdarg.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/emmintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/f16cintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/float.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/fma4intrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/fmaintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/fxsrintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/ia32intrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/immintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/iso646.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/lwpintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/lzcntintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/mm3dnow.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/mm_malloc.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/mmintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/nmmintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/omp.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/pmmintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/popcntintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/prfchwintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/quadmath.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/quadmath_weak.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/rdseedintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/rtmintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/sanitizer
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/sanitizer/asan_interface.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/sanitizer/common_interface_defs.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/sanitizer/lsan_interface.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/shaintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/smmintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/ssp
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/ssp/ssp.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/ssp/stdio.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/ssp/string.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/ssp/unistd.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/stdalign.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/stdarg.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/stdatomic.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/stdbool.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/stddef.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/stdfix.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/stdint-gcc.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/stdint.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/stdnoreturn.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/tbmintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/tmmintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/unwind.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/varargs.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/wmmintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/x86intrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/xmmintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/xopintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/xsaveintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/xsaveoptintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/include/xtestintrin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/install-tools
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/install-tools/fixinc.sh
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/install-tools/fixinc_list
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/install-tools/fixincl
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/install-tools/gsyslimits.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/install-tools/include
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/install-tools/include/README
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/install-tools/include/limits.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/install-tools/macro_list
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/install-tools/mkheaders
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/install-tools/mkheaders.conf
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/install-tools/mkinstalldirs
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/libgcc.a
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/libgcc_eh.a
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/libgcov.a
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/liblto_plugin.la
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/liblto_plugin.so
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/liblto_plugin.so.0
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/liblto_plugin.so.0.0.0
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/lto-wrapper
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/lto1
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/gengtype
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/gtype.state
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/ada
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/ada/gcc-interface
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/ada/gcc-interface/ada-tree.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/alias.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/all-tree.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/alloc-pool.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/ansidecl.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/attribs.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/auto-host.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/b-header-vars
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/basic-block.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/bitmap.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/builtins.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/bversion.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/c-family
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/c-family/c-common.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/c-family/c-common.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/c-family/c-objc.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/c-family/c-pragma.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/c-family/c-pretty-print.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/c-tree.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/calls.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/cfg-flags.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/cfgexpand.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/cfghooks.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/cfgloop.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/cgraph.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/cif-code.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/cilk-builtins.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/cilkplus.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/config
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/config.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/config/dbxelf.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/config/elfos.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/config/glibc-stdint.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/config/gnu-user.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/config/i386
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/config/i386/att.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/config/i386/biarch64.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/config/i386/gnu-user-common.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/config/i386/gnu-user64.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/config/i386/i386-opts.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/config/i386/i386-protos.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/config/i386/i386.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/config/i386/linux-common.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/config/i386/linux64.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/config/i386/stringop.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/config/i386/unix.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/config/i386/x86-64.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/config/i386/x86-tune.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/config/initfini-array.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/config/linux-android.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/config/linux-protos.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/config/linux.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/config/vxworks-dummy.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/configargs.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/context.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/coretypes.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/cp
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/cp/cp-tree.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/cp/cp-tree.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/cp/cxx-pretty-print.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/cp/name-lookup.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/cp/type-utils.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/cppdefault.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/cpplib.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/debug.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/defaults.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/df.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/diagnostic-color.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/diagnostic-core.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/diagnostic.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/diagnostic.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/double-int.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/dumpfile.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/emit-rtl.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/except.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/filenames.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/fixed-value.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/flag-types.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/flags.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/fold-const.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/function.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/gcc-plugin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/gcc-symtab.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/genrtl.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/ggc.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/gimple-builder.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/gimple-expr.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/gimple-fold.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/gimple-iterator.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/gimple-low.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/gimple-pretty-print.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/gimple-ssa.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/gimple-walk.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/gimple.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/gimple.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/gimplify-me.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/gimplify.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/gsstruct.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/gtm-builtins.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/gtype-desc.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/hard-reg-set.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/hash-table.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/hashtab.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/highlev-plugin-common.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/hwint.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/incpath.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/input.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/insn-codes.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/insn-constants.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/insn-flags.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/insn-modes.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/insn-notes.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/internal-fn.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/internal-fn.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/intl.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/ipa-prop.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/ipa-ref-inline.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/ipa-ref.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/ipa-reference.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/ipa-utils.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/is-a.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/java
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/java/java-tree.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/langhooks.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/libiberty.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/line-map.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/machmode.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/md5.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/mode-classes.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/objc
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/objc/objc-tree.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/obstack.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/omp-builtins.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/options.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/opts.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/output.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/params.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/params.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/pass-instances.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/pass_manager.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/plugin-api.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/plugin-version.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/plugin.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/plugin.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/pointer-set.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/predict.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/predict.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/prefix.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/pretty-print.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/print-rtl.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/print-tree.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/real.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/realmpfr.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/reg-notes.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/regset.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/resource.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/rtl.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/rtl.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/safe-ctype.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/sanitizer.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/sbitmap.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/splay-tree.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/ssa-iterators.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/statistics.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/stmt.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/stor-layout.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/stringpool.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/symtab.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/sync-builtins.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/system.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/target-hooks-macros.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/target.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/target.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/timevar.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/timevar.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tm-preds.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tm.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tm_p.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/toplev.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-cfg.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-cfgcleanup.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-check.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-core.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-dfa.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-dump.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-eh.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-hasher.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-inline.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-into-ssa.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-iterator.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-nested.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-object-size.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-outof-ssa.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-parloops.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-pass.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-phinodes.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-pretty-print.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-ssa-address.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-ssa-alias.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-ssa-coalesce.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-ssa-dom.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-ssa-loop-ivopts.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-ssa-loop-manip.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-ssa-loop-niter.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-ssa-loop.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-ssa-operands.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-ssa-sccvn.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-ssa-ter.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-ssa-threadedge.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-ssa-threadupdate.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-ssa.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree-ssanames.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/tree.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/treestruct.def
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/varasm.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/vec.h
-#usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.4/plugin/include/version.h
+#usr/lib/gcc/x86_64-pc-linux-gnu
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/cc1
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/cc1plus
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/collect2
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/crtbegin.o
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/crtbeginS.o
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/crtbeginT.o
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/crtend.o
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/crtendS.o
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/crtfastmath.o
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/crtprec32.o
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/crtprec64.o
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/crtprec80.o
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include-fixed
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include-fixed/README
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include-fixed/limits.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include-fixed/syslimits.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/adxintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/ammintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/avx2intrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/avx512bwintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/avx512cdintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/avx512dqintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/avx512erintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/avx512fintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/avx512ifmaintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/avx512ifmavlintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/avx512pfintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/avx512vbmiintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/avx512vbmivlintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/avx512vlbwintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/avx512vldqintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/avx512vlintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/avxintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/bmi2intrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/bmiintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/bmmintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/cilk
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/cilk/cilk.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/cilk/cilk_api.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/cilk/cilk_api_linux.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/cilk/cilk_stub.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/cilk/cilk_undocumented.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/cilk/common.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/cilk/holder.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/cilk/hyperobject_base.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/cilk/metaprogramming.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/cilk/reducer.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/cilk/reducer_file.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/cilk/reducer_list.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/cilk/reducer_max.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/cilk/reducer_min.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/cilk/reducer_min_max.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/cilk/reducer_opadd.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/cilk/reducer_opand.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/cilk/reducer_opmul.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/cilk/reducer_opor.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/cilk/reducer_opxor.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/cilk/reducer_ostream.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/cilk/reducer_string.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/clflushoptintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/clwbintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/clzerointrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/cpuid.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/cross-stdarg.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/emmintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/f16cintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/float.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/fma4intrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/fmaintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/fxsrintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/ia32intrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/immintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/iso646.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/lwpintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/lzcntintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/mm3dnow.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/mm_malloc.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/mmintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/mwaitxintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/nmmintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/omp.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/openacc.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/pkuintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/pmmintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/popcntintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/prfchwintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/quadmath.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/quadmath_weak.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/rdseedintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/rtmintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/sanitizer
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/sanitizer/asan_interface.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/sanitizer/common_interface_defs.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/sanitizer/lsan_interface.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/shaintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/smmintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/ssp
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/ssp/ssp.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/ssp/stdio.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/ssp/string.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/ssp/unistd.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/stdalign.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/stdarg.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/stdatomic.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/stdbool.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/stddef.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/stdfix.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/stdint-gcc.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/stdint.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/stdnoreturn.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/tbmintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/tmmintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/unwind.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/varargs.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/wmmintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/x86intrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/xmmintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/xopintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/xsavecintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/xsaveintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/xsaveoptintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/xsavesintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/xtestintrin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/install-tools
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/install-tools/fixinc.sh
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/install-tools/fixinc_list
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/install-tools/fixincl
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/install-tools/gsyslimits.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/install-tools/include
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/install-tools/include/README
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/install-tools/include/limits.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/install-tools/macro_list
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/install-tools/mkheaders
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/install-tools/mkheaders.conf
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/install-tools/mkinstalldirs
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/libgcc.a
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/libgcc_eh.a
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/libgcov.a
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/liblto_plugin.la
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/liblto_plugin.so
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/liblto_plugin.so.0
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/liblto_plugin.so.0.0.0
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/lto-wrapper
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/lto1
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/gengtype
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/gtype.state
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/ada
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/ada/gcc-interface
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/ada/gcc-interface/ada-tree.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/addresses.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/alias.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/all-tree.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/alloc-pool.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/ansidecl.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/asan.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/attribs.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/auto-host.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/auto-profile.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/b-header-vars
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/backend.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/basic-block.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/bb-reorder.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/bitmap.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/builtin-attrs.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/builtin-types.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/builtins.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/builtins.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/bversion.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/c-family
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/c-family/c-common.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/c-family/c-common.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/c-family/c-objc.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/c-family/c-pragma.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/c-family/c-pretty-print.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/c-tree.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/calls.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/ccmp.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/cfg-flags.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/cfg.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/cfganal.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/cfgbuild.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/cfgcleanup.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/cfgexpand.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/cfghooks.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/cfgloop.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/cfgloopmanip.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/cfgrtl.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/cgraph.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/chkp-builtins.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/cif-code.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/cilk-builtins.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/cilk.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/cilkplus.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/collect-utils.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/collect2-aix.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/collect2.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/conditions.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/config
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/config.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/config/dbxelf.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/config/elfos.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/config/glibc-stdint.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/config/gnu-user.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/config/i386
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/config/i386/att.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/config/i386/biarch64.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/config/i386/gnu-user-common.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/config/i386/gnu-user64.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/config/i386/i386-opts.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/config/i386/i386-protos.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/config/i386/i386.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/config/i386/linux-common.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/config/i386/linux64.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/config/i386/stringop.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/config/i386/unix.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/config/i386/x86-64.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/config/i386/x86-tune.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/config/initfini-array.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/config/linux-android.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/config/linux-protos.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/config/linux.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/config/vxworks-dummy.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/configargs.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/context.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/convert.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/coretypes.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/coverage.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/cp
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/cp/cp-tree.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/cp/cp-tree.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/cp/cxx-pretty-print.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/cp/name-lookup.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/cp/type-utils.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/cppbuiltin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/cppdefault.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/cpplib.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/cselib.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/data-streamer.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/dbgcnt.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/dbgcnt.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/dbxout.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/dce.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/ddg.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/debug.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/defaults.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/df.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/dfp.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/diagnostic-color.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/diagnostic-core.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/diagnostic.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/diagnostic.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/dojump.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/dominance.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/domwalk.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/double-int.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/dumpfile.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/dwarf2asm.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/dwarf2out.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/emit-rtl.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/errors.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/et-forest.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/except.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/explow.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/expmed.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/expr.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/fibonacci_heap.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/file-find.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/filenames.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/fixed-value.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/flag-types.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/flags.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/fold-const-call.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/fold-const.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/function.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gcc-plugin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gcc-rich-location.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gcc-symtab.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gcc.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gcov-counter.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gcov-io.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gcse-common.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gcse.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/generic-match.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gengtype.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/genrtl.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gensupport.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/ggc-internal.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/ggc.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gimple-builder.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gimple-expr.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gimple-fold.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gimple-iterator.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gimple-low.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gimple-match.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gimple-predict.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gimple-pretty-print.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gimple-ssa.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gimple-streamer.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gimple-walk.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gimple.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gimple.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gimplify-me.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gimplify.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/glimits.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/graph.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/graphds.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/graphite.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gsstruct.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gstab.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gsyms.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gsyslimits.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gtm-builtins.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/gtype-desc.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/hard-reg-set.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/hash-map-traits.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/hash-map.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/hash-set.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/hash-table.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/hash-traits.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/hashtab.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/highlev-plugin-common.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/hooks.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/hosthooks-def.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/hosthooks.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/hsa-brig-format.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/hsa.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/hw-doloop.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/hwint.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/ifcvt.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/inchash.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/incpath.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/input.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/insn-addr.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/insn-codes.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/insn-constants.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/insn-flags.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/insn-modes.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/insn-notes.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/internal-fn.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/internal-fn.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/intl.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/ipa-chkp.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/ipa-icf-gimple.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/ipa-icf.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/ipa-inline.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/ipa-prop.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/ipa-ref.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/ipa-reference.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/ipa-utils.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/ira-int.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/ira.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/is-a.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/java
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/java/java-tree.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/langhooks-def.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/langhooks.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/lcm.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/libfuncs.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/libiberty.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/limitx.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/limity.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/line-map.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/loop-unroll.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/lower-subreg.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/lra-int.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/lra.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/lto-compress.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/lto-section-names.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/lto-streamer.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/machmode.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/machmode.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/md5.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/mem-stats-traits.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/mem-stats.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/memory-block.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/mode-classes.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/objc
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/objc/objc-tree.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/obstack.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/omp-builtins.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/omp-low.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/optabs-libfuncs.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/optabs-query.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/optabs-tree.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/optabs.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/optabs.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/options.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/opts-diagnostic.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/opts.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/output.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/params-enum.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/params-list.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/params.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/params.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/params.list
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/pass-instances.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/pass_manager.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/passes.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/plugin-api.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/plugin-version.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/plugin.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/plugin.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/predict.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/predict.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/prefix.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/pretty-print.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/print-rtl.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/print-tree.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/profile.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/read-md.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/real.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/realmpfr.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/recog.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/reg-notes.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/regcprop.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/regrename.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/regs.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/regset.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/reload.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/resource.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/rtl-chkp.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/rtl-error.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/rtl-iter.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/rtl.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/rtl.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/rtlhash.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/rtlhooks-def.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/safe-ctype.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/sanitizer.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/sbitmap.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/sched-int.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/sdbout.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/sel-sched-dump.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/sel-sched-ir.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/sel-sched.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/sese.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/shrink-wrap.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/signop.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/sparseset.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/spellcheck.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/splay-tree.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/sreal.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/ssa-iterators.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/ssa.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/stab.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/statistics.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/stmt.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/stor-layout.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/streamer-hooks.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/stringpool.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/symbol-summary.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/symtab.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/sync-builtins.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/system.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/target-def.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/target-globals.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/target-hooks-macros.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/target-insns.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/target.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/target.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/targhooks.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/timevar.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/timevar.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tm-preds.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tm.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tm_p.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/toplev.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tracer.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/trans-mem.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-affine.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-cfg.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-cfgcleanup.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-check.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-chkp.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-chrec.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-core.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-data-ref.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-dfa.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-diagnostic.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-dump.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-eh.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-hash-traits.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-hasher.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-inline.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-into-ssa.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-iterator.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-nested.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-object-size.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-outof-ssa.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-parloops.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-pass.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-phinodes.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-pretty-print.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-scalar-evolution.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-address.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-alias.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-coalesce.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-dom.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-live.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-loop-ivopts.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-loop-manip.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-loop-niter.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-loop.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-operands.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-propagate.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-sccvn.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-scopedtables.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-ter.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-threadbackward.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-threadedge.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-ssa-threadupdate.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-ssa.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-ssanames.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-stdarg.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-streamer.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree-vectorizer.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tree.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/treestruct.def
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tsan.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/tsystem.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/typeclass.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/typed-splay-tree.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/ubsan.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/valtrack.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/value-prof.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/varasm.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/vec.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/version.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/vmsdbg.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/vtable-verify.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/wide-int-print.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/wide-int.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/xcoff.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/include/xcoffout.h
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/libcc1plugin.la
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/libcc1plugin.so
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/libcc1plugin.so.0
+#usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/plugin/libcc1plugin.so.0.0.0
 #usr/lib/libasan.a
 #usr/lib/libasan.la
 #usr/lib/libasan.so
-usr/lib/libasan.so.1
-usr/lib/libasan.so.1.0.0
+usr/lib/libasan.so.3
+usr/lib/libasan.so.3.0.0
 #usr/lib/libasan_preinit.o
 #usr/lib/libatomic.a
 #usr/lib/libatomic.la
 #usr/lib/libatomic.so
 usr/lib/libatomic.so.1
-usr/lib/libatomic.so.1.1.0
+usr/lib/libatomic.so.1.2.0
+#usr/lib/libcc1.la
+#usr/lib/libcc1.so
+usr/lib/libcc1.so.0
+usr/lib/libcc1.so.0.0.0
 #usr/lib/libcilkrts.a
 #usr/lib/libcilkrts.la
 #usr/lib/libcilkrts.so
@@ -1129,6 +1375,17 @@ usr/lib/libitm.so.1.0.0
 #usr/lib/liblsan.so
 usr/lib/liblsan.so.0
 usr/lib/liblsan.so.0.0.0
+#usr/lib/libmpx.a
+#usr/lib/libmpx.la
+#usr/lib/libmpx.so
+usr/lib/libmpx.so.2
+usr/lib/libmpx.so.2.0.0
+#usr/lib/libmpx.spec
+#usr/lib/libmpxwrappers.a
+#usr/lib/libmpxwrappers.la
+#usr/lib/libmpxwrappers.so
+usr/lib/libmpxwrappers.so.2
+usr/lib/libmpxwrappers.so.2.0.0
 #usr/lib/libquadmath.a
 #usr/lib/libquadmath.la
 #usr/lib/libquadmath.so
@@ -1143,8 +1400,9 @@ usr/lib/libquadmath.so.0.0.0
 #usr/lib/libssp_nonshared.a
 #usr/lib/libssp_nonshared.la
 #usr/lib/libstdc++.a
-usr/lib/libstdc++.so.6.0.20
-#usr/lib/libstdc++.so.6.0.20-gdb.py
+usr/lib/libstdc++.so.6.0.22
+#usr/lib/libstdc++fs.a
+#usr/lib/libstdc++fs.la
 #usr/lib/libsupc++.a
 #usr/lib/libsupc++.la
 #usr/lib/libtsan.a
@@ -1157,18 +1415,14 @@ usr/lib/libtsan.so.0.0.0
 #usr/lib/libubsan.so
 usr/lib/libubsan.so.0
 usr/lib/libubsan.so.0.0.0
-#usr/lib/libvtv.a
-#usr/lib/libvtv.la
-#usr/lib/libvtv.so
-usr/lib/libvtv.so.0
-usr/lib/libvtv.so.0.0.0
-#usr/share/gcc-4.9.4
-#usr/share/gcc-4.9.4/python
-#usr/share/gcc-4.9.4/python/libstdcxx
-#usr/share/gcc-4.9.4/python/libstdcxx/__init__.py
-#usr/share/gcc-4.9.4/python/libstdcxx/v6
-#usr/share/gcc-4.9.4/python/libstdcxx/v6/__init__.py
-#usr/share/gcc-4.9.4/python/libstdcxx/v6/printers.py
+#usr/share/gcc-6.3.0
+#usr/share/gcc-6.3.0/python
+#usr/share/gcc-6.3.0/python/libstdcxx
+#usr/share/gcc-6.3.0/python/libstdcxx/__init__.py
+#usr/share/gcc-6.3.0/python/libstdcxx/v6
+#usr/share/gcc-6.3.0/python/libstdcxx/v6/__init__.py
+#usr/share/gcc-6.3.0/python/libstdcxx/v6/printers.py
+#usr/share/gcc-6.3.0/python/libstdcxx/v6/xmethods.py
 #usr/share/info/cpp.info
 #usr/share/info/cppinternals.info
 #usr/share/info/gcc.info
index 98845c6f2ac3f335bbdad8eed3c874ff6ff88220..73783cd6d54459cc1b2bf4bcb7b8073880fdca9c 100644 (file)
@@ -1,48 +1,51 @@
 #etc/ld.so.cache
-etc/localtime
 etc/rpc
-lib/ld-2.12.so
+lib/ld-2.25.so
 lib/ld-linux-x86-64.so.2
-lib/libBrokenLocale-2.12.so
+lib/libBrokenLocale-2.25.so
 lib/libBrokenLocale.so.1
 #lib/libSegFault.so
-lib/libanl-2.12.so
+lib/libanl-2.25.so
 lib/libanl.so.1
-lib/libc-2.12.so
+lib/libc-2.25.so
 lib/libc.so.6
-lib/libcidn-2.12.so
+lib/libcidn-2.25.so
 lib/libcidn.so.1
-lib/libcrypt-2.12.so
+lib/libcrypt-2.25.so
 lib/libcrypt.so.1
-lib/libdl-2.12.so
+lib/libdl-2.25.so
 lib/libdl.so.2
-lib/libm-2.12.so
+lib/libm-2.25.so
 lib/libm.so.6
 #lib/libmemusage.so
-lib/libnsl-2.12.so
+lib/libmvec-2.25.so
+lib/libmvec.so.1
+lib/libnsl-2.25.so
 lib/libnsl.so.1
-lib/libnss_compat-2.12.so
+lib/libnss_compat-2.25.so
 lib/libnss_compat.so.2
-lib/libnss_dns-2.12.so
+lib/libnss_db-2.25.so
+lib/libnss_db.so.2
+lib/libnss_dns-2.25.so
 lib/libnss_dns.so.2
-lib/libnss_files-2.12.so
+lib/libnss_files-2.25.so
 lib/libnss_files.so.2
-lib/libnss_hesiod-2.12.so
+lib/libnss_hesiod-2.25.so
 lib/libnss_hesiod.so.2
-lib/libnss_nis-2.12.so
+lib/libnss_nis-2.25.so
 lib/libnss_nis.so.2
-lib/libnss_nisplus-2.12.so
+lib/libnss_nisplus-2.25.so
 lib/libnss_nisplus.so.2
 #lib/libpcprofile.so
-lib/libpthread-2.12.so
+lib/libpthread-2.25.so
 lib/libpthread.so.0
-lib/libresolv-2.12.so
+lib/libresolv-2.25.so
 lib/libresolv.so.2
-lib/librt-2.12.so
+lib/librt-2.25.so
 lib/librt.so.1
 lib/libthread_db-1.0.so
 lib/libthread_db.so.1
-lib/libutil-2.12.so
+lib/libutil-2.25.so
 lib/libutil.so.1
 sbin/ldconfig
 #sbin/sln
@@ -54,9 +57,12 @@ usr/bin/getent
 usr/bin/ldd
 usr/bin/locale
 #usr/bin/localedef
+#usr/bin/makedb
 #usr/bin/mtrace
 #usr/bin/pcprofiledump
+#usr/bin/pldd
 #usr/bin/rpcgen
+#usr/bin/sotruss
 #usr/bin/sprof
 #usr/bin/tzselect
 #usr/bin/xtrace
@@ -78,6 +84,7 @@ usr/bin/locale
 #usr/include/assert.h
 #usr/include/bits
 #usr/include/bits/a.out.h
+#usr/include/bits/byteswap-16.h
 #usr/include/bits/byteswap.h
 #usr/include/bits/cmathcalls.h
 #usr/include/bits/confname.h
@@ -86,30 +93,44 @@ usr/bin/locale
 #usr/include/bits/elfclass.h
 #usr/include/bits/endian.h
 #usr/include/bits/environments.h
+#usr/include/bits/epoll.h
 #usr/include/bits/errno.h
 #usr/include/bits/error.h
+#usr/include/bits/eventfd.h
+#usr/include/bits/fcntl-linux.h
 #usr/include/bits/fcntl.h
 #usr/include/bits/fcntl2.h
 #usr/include/bits/fenv.h
 #usr/include/bits/fenvinline.h
+#usr/include/bits/flt-eval-method.h
+#usr/include/bits/fp-fast.h
+#usr/include/bits/fp-logb.h
 #usr/include/bits/huge_val.h
 #usr/include/bits/huge_valf.h
 #usr/include/bits/huge_vall.h
+#usr/include/bits/hwcap.h
 #usr/include/bits/in.h
 #usr/include/bits/inf.h
 #usr/include/bits/initspin.h
+#usr/include/bits/inotify.h
 #usr/include/bits/ioctl-types.h
 #usr/include/bits/ioctls.h
 #usr/include/bits/ipc.h
 #usr/include/bits/ipctypes.h
-#usr/include/bits/libc-lock.h
+#usr/include/bits/iscanonical.h
+#usr/include/bits/libc-header-start.h
 #usr/include/bits/libio-ldbl.h
+#usr/include/bits/libm-simd-decl-stubs.h
 #usr/include/bits/link.h
 #usr/include/bits/local_lim.h
 #usr/include/bits/locale.h
+#usr/include/bits/long-double.h
+#usr/include/bits/math-finite.h
+#usr/include/bits/math-vector.h
 #usr/include/bits/mathcalls.h
 #usr/include/bits/mathdef.h
 #usr/include/bits/mathinline.h
+#usr/include/bits/mman-linux.h
 #usr/include/bits/mman.h
 #usr/include/bits/monetary-ldbl.h
 #usr/include/bits/mqueue.h
@@ -117,7 +138,9 @@ usr/bin/locale
 #usr/include/bits/msq.h
 #usr/include/bits/nan.h
 #usr/include/bits/netdb.h
+#usr/include/bits/param.h
 #usr/include/bits/poll.h
+#usr/include/bits/poll2.h
 #usr/include/bits/posix1_lim.h
 #usr/include/bits/posix2_lim.h
 #usr/include/bits/posix_opt.h
@@ -126,6 +149,7 @@ usr/bin/locale
 #usr/include/bits/resource.h
 #usr/include/bits/sched.h
 #usr/include/bits/select.h
+#usr/include/bits/select2.h
 #usr/include/bits/sem.h
 #usr/include/bits/semaphore.h
 #usr/include/bits/setjmp.h
@@ -134,6 +158,7 @@ usr/bin/locale
 #usr/include/bits/sigaction.h
 #usr/include/bits/sigcontext.h
 #usr/include/bits/siginfo.h
+#usr/include/bits/signalfd.h
 #usr/include/bits/signum.h
 #usr/include/bits/sigset.h
 #usr/include/bits/sigstack.h
@@ -141,29 +166,48 @@ usr/bin/locale
 #usr/include/bits/sockaddr.h
 #usr/include/bits/socket.h
 #usr/include/bits/socket2.h
+#usr/include/bits/socket_type.h
 #usr/include/bits/stab.def
 #usr/include/bits/stat.h
 #usr/include/bits/statfs.h
 #usr/include/bits/statvfs.h
 #usr/include/bits/stdio-ldbl.h
-#usr/include/bits/stdio-lock.h
 #usr/include/bits/stdio.h
 #usr/include/bits/stdio2.h
 #usr/include/bits/stdio_lim.h
+#usr/include/bits/stdlib-bsearch.h
+#usr/include/bits/stdlib-float.h
 #usr/include/bits/stdlib-ldbl.h
 #usr/include/bits/stdlib.h
 #usr/include/bits/string.h
 #usr/include/bits/string2.h
 #usr/include/bits/string3.h
+#usr/include/bits/strings_fortified.h
+#usr/include/bits/stropts.h
 #usr/include/bits/sys_errlist.h
 #usr/include/bits/syscall.h
+#usr/include/bits/sysctl.h
 #usr/include/bits/syslog-ldbl.h
 #usr/include/bits/syslog-path.h
 #usr/include/bits/syslog.h
+#usr/include/bits/sysmacros.h
 #usr/include/bits/termios.h
 #usr/include/bits/time.h
+#usr/include/bits/timerfd.h
+#usr/include/bits/timex.h
+#usr/include/bits/types
 #usr/include/bits/types.h
+#usr/include/bits/types/clock_t.h
+#usr/include/bits/types/clockid_t.h
+#usr/include/bits/types/struct_itimerspec.h
+#usr/include/bits/types/struct_osockaddr.h
+#usr/include/bits/types/struct_timespec.h
+#usr/include/bits/types/struct_timeval.h
+#usr/include/bits/types/struct_tm.h
+#usr/include/bits/types/time_t.h
+#usr/include/bits/types/timer_t.h
 #usr/include/bits/typesizes.h
+#usr/include/bits/uintn-identity.h
 #usr/include/bits/uio.h
 #usr/include/bits/unistd.h
 #usr/include/bits/ustat.h
@@ -177,6 +221,7 @@ usr/bin/locale
 #usr/include/bits/wchar2.h
 #usr/include/bits/wordsize.h
 #usr/include/bits/xopen_lim.h
+#usr/include/bits/xtitypes.h
 #usr/include/byteswap.h
 #usr/include/complex.h
 #usr/include/cpio.h
@@ -205,6 +250,7 @@ usr/bin/locale
 #usr/include/glob.h
 #usr/include/gnu
 #usr/include/gnu-versions.h
+#usr/include/gnu/lib-names-64.h
 #usr/include/gnu/lib-names.h
 #usr/include/gnu/libc-version.h
 #usr/include/gnu/stubs-64.h
@@ -282,6 +328,7 @@ usr/bin/locale
 #usr/include/paths.h
 #usr/include/poll.h
 #usr/include/printf.h
+#usr/include/proc_service.h
 #usr/include/protocols
 #usr/include/protocols/routed.h
 #usr/include/protocols/rwhod.h
@@ -364,21 +411,26 @@ usr/bin/locale
 #usr/include/signal.h
 #usr/include/spawn.h
 #usr/include/stab.h
+#usr/include/stdc-predef.h
 #usr/include/stdint.h
 #usr/include/stdio.h
 #usr/include/stdio_ext.h
 #usr/include/stdlib.h
 #usr/include/string.h
 #usr/include/strings.h
+#usr/include/stropts.h
 #usr/include/sys
 #usr/include/sys/acct.h
+#usr/include/sys/auxv.h
 #usr/include/sys/bitypes.h
 #usr/include/sys/cdefs.h
 #usr/include/sys/debugreg.h
 #usr/include/sys/dir.h
+#usr/include/sys/elf.h
 #usr/include/sys/epoll.h
 #usr/include/sys/errno.h
 #usr/include/sys/eventfd.h
+#usr/include/sys/fanotify.h
 #usr/include/sys/fcntl.h
 #usr/include/sys/file.h
 #usr/include/sys/fsuid.h
@@ -389,7 +441,6 @@ usr/bin/locale
 #usr/include/sys/ioctl.h
 #usr/include/sys/ipc.h
 #usr/include/sys/kd.h
-#usr/include/sys/kdaemon.h
 #usr/include/sys/klog.h
 #usr/include/sys/mman.h
 #usr/include/sys/mount.h
@@ -406,6 +457,7 @@ usr/bin/locale
 #usr/include/sys/ptrace.h
 #usr/include/sys/queue.h
 #usr/include/sys/quota.h
+#usr/include/sys/random.h
 #usr/include/sys/raw.h
 #usr/include/sys/reboot.h
 #usr/include/sys/reg.h
@@ -422,6 +474,7 @@ usr/bin/locale
 #usr/include/sys/stat.h
 #usr/include/sys/statfs.h
 #usr/include/sys/statvfs.h
+#usr/include/sys/stropts.h
 #usr/include/sys/swap.h
 #usr/include/sys/syscall.h
 #usr/include/sys/sysctl.h
@@ -447,6 +500,7 @@ usr/bin/locale
 #usr/include/sys/utsname.h
 #usr/include/sys/vfs.h
 #usr/include/sys/vlimit.h
+#usr/include/sys/vm86.h
 #usr/include/sys/vt.h
 #usr/include/sys/vtimes.h
 #usr/include/sys/wait.h
@@ -461,6 +515,7 @@ usr/bin/locale
 #usr/include/thread_db.h
 #usr/include/time.h
 #usr/include/ttyent.h
+#usr/include/uchar.h
 #usr/include/ucontext.h
 #usr/include/ulimit.h
 #usr/include/unistd.h
@@ -476,6 +531,8 @@ usr/bin/locale
 #usr/include/xlocale.h
 #usr/lib/Mcrt1.o
 #usr/lib/Scrt1.o
+#usr/lib/audit
+#usr/lib/audit/sotruss-lib.so
 #usr/lib/crt1.o
 #usr/lib/crti.o
 #usr/lib/crtn.o
@@ -498,6 +555,11 @@ usr/lib/gconv
 #usr/lib/gconv/CP1257.so
 #usr/lib/gconv/CP1258.so
 #usr/lib/gconv/CP737.so
+#usr/lib/gconv/CP770.so
+#usr/lib/gconv/CP771.so
+#usr/lib/gconv/CP772.so
+#usr/lib/gconv/CP773.so
+#usr/lib/gconv/CP774.so
 #usr/lib/gconv/CP775.so
 #usr/lib/gconv/CP932.so
 #usr/lib/gconv/CSN_369103.so
@@ -733,12 +795,11 @@ usr/lib/gconv
 #usr/lib/glibc/getconf
 #usr/lib/glibc/getconf/POSIX_V6_LP64_OFF64
 #usr/lib/glibc/getconf/POSIX_V7_LP64_OFF64
-#usr/lib/glibc/pt_chown
+#usr/lib/glibc/getconf/XBS5_LP64_OFF64
 #usr/lib/libBrokenLocale.a
 #usr/lib/libBrokenLocale.so
 #usr/lib/libanl.a
 #usr/lib/libanl.so
-#usr/lib/libbsd-compat.a
 #usr/lib/libc.a
 #usr/lib/libc.so
 #usr/lib/libc_nonshared.a
@@ -749,12 +810,17 @@ usr/lib/gconv
 #usr/lib/libdl.so
 #usr/lib/libg.a
 #usr/lib/libieee.a
+#usr/lib/libm-2.25.a
 #usr/lib/libm.a
 #usr/lib/libm.so
 #usr/lib/libmcheck.a
+#usr/lib/libmvec.a
+#usr/lib/libmvec.so
+#usr/lib/libmvec_nonshared.a
 #usr/lib/libnsl.a
 #usr/lib/libnsl.so
 #usr/lib/libnss_compat.so
+#usr/lib/libnss_db.so
 #usr/lib/libnss_dns.so
 #usr/lib/libnss_files.so
 #usr/lib/libnss_hesiod.so
@@ -772,5945 +838,9 @@ usr/lib/gconv
 #usr/lib/libutil.a
 #usr/lib/libutil.so
 usr/lib/locale
-#usr/lib/locale/aa_DJ
-#usr/lib/locale/aa_DJ.utf8
-#usr/lib/locale/aa_DJ.utf8/LC_ADDRESS
-#usr/lib/locale/aa_DJ.utf8/LC_COLLATE
-#usr/lib/locale/aa_DJ.utf8/LC_CTYPE
-#usr/lib/locale/aa_DJ.utf8/LC_IDENTIFICATION
-#usr/lib/locale/aa_DJ.utf8/LC_MEASUREMENT
-#usr/lib/locale/aa_DJ.utf8/LC_MESSAGES
-#usr/lib/locale/aa_DJ.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/aa_DJ.utf8/LC_MONETARY
-#usr/lib/locale/aa_DJ.utf8/LC_NAME
-#usr/lib/locale/aa_DJ.utf8/LC_NUMERIC
-#usr/lib/locale/aa_DJ.utf8/LC_PAPER
-#usr/lib/locale/aa_DJ.utf8/LC_TELEPHONE
-#usr/lib/locale/aa_DJ.utf8/LC_TIME
-#usr/lib/locale/aa_DJ/LC_ADDRESS
-#usr/lib/locale/aa_DJ/LC_COLLATE
-#usr/lib/locale/aa_DJ/LC_CTYPE
-#usr/lib/locale/aa_DJ/LC_IDENTIFICATION
-#usr/lib/locale/aa_DJ/LC_MEASUREMENT
-#usr/lib/locale/aa_DJ/LC_MESSAGES
-#usr/lib/locale/aa_DJ/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/aa_DJ/LC_MONETARY
-#usr/lib/locale/aa_DJ/LC_NAME
-#usr/lib/locale/aa_DJ/LC_NUMERIC
-#usr/lib/locale/aa_DJ/LC_PAPER
-#usr/lib/locale/aa_DJ/LC_TELEPHONE
-#usr/lib/locale/aa_DJ/LC_TIME
-#usr/lib/locale/aa_ER
-#usr/lib/locale/aa_ER/LC_ADDRESS
-#usr/lib/locale/aa_ER/LC_COLLATE
-#usr/lib/locale/aa_ER/LC_CTYPE
-#usr/lib/locale/aa_ER/LC_IDENTIFICATION
-#usr/lib/locale/aa_ER/LC_MEASUREMENT
-#usr/lib/locale/aa_ER/LC_MESSAGES
-#usr/lib/locale/aa_ER/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/aa_ER/LC_MONETARY
-#usr/lib/locale/aa_ER/LC_NAME
-#usr/lib/locale/aa_ER/LC_NUMERIC
-#usr/lib/locale/aa_ER/LC_PAPER
-#usr/lib/locale/aa_ER/LC_TELEPHONE
-#usr/lib/locale/aa_ER/LC_TIME
-#usr/lib/locale/aa_ER@saaho
-#usr/lib/locale/aa_ER@saaho/LC_ADDRESS
-#usr/lib/locale/aa_ER@saaho/LC_COLLATE
-#usr/lib/locale/aa_ER@saaho/LC_CTYPE
-#usr/lib/locale/aa_ER@saaho/LC_IDENTIFICATION
-#usr/lib/locale/aa_ER@saaho/LC_MEASUREMENT
-#usr/lib/locale/aa_ER@saaho/LC_MESSAGES
-#usr/lib/locale/aa_ER@saaho/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/aa_ER@saaho/LC_MONETARY
-#usr/lib/locale/aa_ER@saaho/LC_NAME
-#usr/lib/locale/aa_ER@saaho/LC_NUMERIC
-#usr/lib/locale/aa_ER@saaho/LC_PAPER
-#usr/lib/locale/aa_ER@saaho/LC_TELEPHONE
-#usr/lib/locale/aa_ER@saaho/LC_TIME
-#usr/lib/locale/aa_ET
-#usr/lib/locale/aa_ET/LC_ADDRESS
-#usr/lib/locale/aa_ET/LC_COLLATE
-#usr/lib/locale/aa_ET/LC_CTYPE
-#usr/lib/locale/aa_ET/LC_IDENTIFICATION
-#usr/lib/locale/aa_ET/LC_MEASUREMENT
-#usr/lib/locale/aa_ET/LC_MESSAGES
-#usr/lib/locale/aa_ET/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/aa_ET/LC_MONETARY
-#usr/lib/locale/aa_ET/LC_NAME
-#usr/lib/locale/aa_ET/LC_NUMERIC
-#usr/lib/locale/aa_ET/LC_PAPER
-#usr/lib/locale/aa_ET/LC_TELEPHONE
-#usr/lib/locale/aa_ET/LC_TIME
-#usr/lib/locale/af_ZA
-#usr/lib/locale/af_ZA.utf8
-#usr/lib/locale/af_ZA.utf8/LC_ADDRESS
-#usr/lib/locale/af_ZA.utf8/LC_COLLATE
-#usr/lib/locale/af_ZA.utf8/LC_CTYPE
-#usr/lib/locale/af_ZA.utf8/LC_IDENTIFICATION
-#usr/lib/locale/af_ZA.utf8/LC_MEASUREMENT
-#usr/lib/locale/af_ZA.utf8/LC_MESSAGES
-#usr/lib/locale/af_ZA.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/af_ZA.utf8/LC_MONETARY
-#usr/lib/locale/af_ZA.utf8/LC_NAME
-#usr/lib/locale/af_ZA.utf8/LC_NUMERIC
-#usr/lib/locale/af_ZA.utf8/LC_PAPER
-#usr/lib/locale/af_ZA.utf8/LC_TELEPHONE
-#usr/lib/locale/af_ZA.utf8/LC_TIME
-#usr/lib/locale/af_ZA/LC_ADDRESS
-#usr/lib/locale/af_ZA/LC_COLLATE
-#usr/lib/locale/af_ZA/LC_CTYPE
-#usr/lib/locale/af_ZA/LC_IDENTIFICATION
-#usr/lib/locale/af_ZA/LC_MEASUREMENT
-#usr/lib/locale/af_ZA/LC_MESSAGES
-#usr/lib/locale/af_ZA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/af_ZA/LC_MONETARY
-#usr/lib/locale/af_ZA/LC_NAME
-#usr/lib/locale/af_ZA/LC_NUMERIC
-#usr/lib/locale/af_ZA/LC_PAPER
-#usr/lib/locale/af_ZA/LC_TELEPHONE
-#usr/lib/locale/af_ZA/LC_TIME
-#usr/lib/locale/am_ET
-#usr/lib/locale/am_ET/LC_ADDRESS
-#usr/lib/locale/am_ET/LC_COLLATE
-#usr/lib/locale/am_ET/LC_CTYPE
-#usr/lib/locale/am_ET/LC_IDENTIFICATION
-#usr/lib/locale/am_ET/LC_MEASUREMENT
-#usr/lib/locale/am_ET/LC_MESSAGES
-#usr/lib/locale/am_ET/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/am_ET/LC_MONETARY
-#usr/lib/locale/am_ET/LC_NAME
-#usr/lib/locale/am_ET/LC_NUMERIC
-#usr/lib/locale/am_ET/LC_PAPER
-#usr/lib/locale/am_ET/LC_TELEPHONE
-#usr/lib/locale/am_ET/LC_TIME
-#usr/lib/locale/an_ES
-#usr/lib/locale/an_ES.utf8
-#usr/lib/locale/an_ES.utf8/LC_ADDRESS
-#usr/lib/locale/an_ES.utf8/LC_COLLATE
-#usr/lib/locale/an_ES.utf8/LC_CTYPE
-#usr/lib/locale/an_ES.utf8/LC_IDENTIFICATION
-#usr/lib/locale/an_ES.utf8/LC_MEASUREMENT
-#usr/lib/locale/an_ES.utf8/LC_MESSAGES
-#usr/lib/locale/an_ES.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/an_ES.utf8/LC_MONETARY
-#usr/lib/locale/an_ES.utf8/LC_NAME
-#usr/lib/locale/an_ES.utf8/LC_NUMERIC
-#usr/lib/locale/an_ES.utf8/LC_PAPER
-#usr/lib/locale/an_ES.utf8/LC_TELEPHONE
-#usr/lib/locale/an_ES.utf8/LC_TIME
-#usr/lib/locale/an_ES/LC_ADDRESS
-#usr/lib/locale/an_ES/LC_COLLATE
-#usr/lib/locale/an_ES/LC_CTYPE
-#usr/lib/locale/an_ES/LC_IDENTIFICATION
-#usr/lib/locale/an_ES/LC_MEASUREMENT
-#usr/lib/locale/an_ES/LC_MESSAGES
-#usr/lib/locale/an_ES/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/an_ES/LC_MONETARY
-#usr/lib/locale/an_ES/LC_NAME
-#usr/lib/locale/an_ES/LC_NUMERIC
-#usr/lib/locale/an_ES/LC_PAPER
-#usr/lib/locale/an_ES/LC_TELEPHONE
-#usr/lib/locale/an_ES/LC_TIME
-#usr/lib/locale/ar_AE
-#usr/lib/locale/ar_AE.utf8
-#usr/lib/locale/ar_AE.utf8/LC_ADDRESS
-#usr/lib/locale/ar_AE.utf8/LC_COLLATE
-#usr/lib/locale/ar_AE.utf8/LC_CTYPE
-#usr/lib/locale/ar_AE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_AE.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_AE.utf8/LC_MESSAGES
-#usr/lib/locale/ar_AE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_AE.utf8/LC_MONETARY
-#usr/lib/locale/ar_AE.utf8/LC_NAME
-#usr/lib/locale/ar_AE.utf8/LC_NUMERIC
-#usr/lib/locale/ar_AE.utf8/LC_PAPER
-#usr/lib/locale/ar_AE.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_AE.utf8/LC_TIME
-#usr/lib/locale/ar_AE/LC_ADDRESS
-#usr/lib/locale/ar_AE/LC_COLLATE
-#usr/lib/locale/ar_AE/LC_CTYPE
-#usr/lib/locale/ar_AE/LC_IDENTIFICATION
-#usr/lib/locale/ar_AE/LC_MEASUREMENT
-#usr/lib/locale/ar_AE/LC_MESSAGES
-#usr/lib/locale/ar_AE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_AE/LC_MONETARY
-#usr/lib/locale/ar_AE/LC_NAME
-#usr/lib/locale/ar_AE/LC_NUMERIC
-#usr/lib/locale/ar_AE/LC_PAPER
-#usr/lib/locale/ar_AE/LC_TELEPHONE
-#usr/lib/locale/ar_AE/LC_TIME
-#usr/lib/locale/ar_BH
-#usr/lib/locale/ar_BH.utf8
-#usr/lib/locale/ar_BH.utf8/LC_ADDRESS
-#usr/lib/locale/ar_BH.utf8/LC_COLLATE
-#usr/lib/locale/ar_BH.utf8/LC_CTYPE
-#usr/lib/locale/ar_BH.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_BH.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_BH.utf8/LC_MESSAGES
-#usr/lib/locale/ar_BH.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_BH.utf8/LC_MONETARY
-#usr/lib/locale/ar_BH.utf8/LC_NAME
-#usr/lib/locale/ar_BH.utf8/LC_NUMERIC
-#usr/lib/locale/ar_BH.utf8/LC_PAPER
-#usr/lib/locale/ar_BH.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_BH.utf8/LC_TIME
-#usr/lib/locale/ar_BH/LC_ADDRESS
-#usr/lib/locale/ar_BH/LC_COLLATE
-#usr/lib/locale/ar_BH/LC_CTYPE
-#usr/lib/locale/ar_BH/LC_IDENTIFICATION
-#usr/lib/locale/ar_BH/LC_MEASUREMENT
-#usr/lib/locale/ar_BH/LC_MESSAGES
-#usr/lib/locale/ar_BH/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_BH/LC_MONETARY
-#usr/lib/locale/ar_BH/LC_NAME
-#usr/lib/locale/ar_BH/LC_NUMERIC
-#usr/lib/locale/ar_BH/LC_PAPER
-#usr/lib/locale/ar_BH/LC_TELEPHONE
-#usr/lib/locale/ar_BH/LC_TIME
-#usr/lib/locale/ar_DZ
-#usr/lib/locale/ar_DZ.utf8
-#usr/lib/locale/ar_DZ.utf8/LC_ADDRESS
-#usr/lib/locale/ar_DZ.utf8/LC_COLLATE
-#usr/lib/locale/ar_DZ.utf8/LC_CTYPE
-#usr/lib/locale/ar_DZ.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_DZ.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_DZ.utf8/LC_MESSAGES
-#usr/lib/locale/ar_DZ.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_DZ.utf8/LC_MONETARY
-#usr/lib/locale/ar_DZ.utf8/LC_NAME
-#usr/lib/locale/ar_DZ.utf8/LC_NUMERIC
-#usr/lib/locale/ar_DZ.utf8/LC_PAPER
-#usr/lib/locale/ar_DZ.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_DZ.utf8/LC_TIME
-#usr/lib/locale/ar_DZ/LC_ADDRESS
-#usr/lib/locale/ar_DZ/LC_COLLATE
-#usr/lib/locale/ar_DZ/LC_CTYPE
-#usr/lib/locale/ar_DZ/LC_IDENTIFICATION
-#usr/lib/locale/ar_DZ/LC_MEASUREMENT
-#usr/lib/locale/ar_DZ/LC_MESSAGES
-#usr/lib/locale/ar_DZ/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_DZ/LC_MONETARY
-#usr/lib/locale/ar_DZ/LC_NAME
-#usr/lib/locale/ar_DZ/LC_NUMERIC
-#usr/lib/locale/ar_DZ/LC_PAPER
-#usr/lib/locale/ar_DZ/LC_TELEPHONE
-#usr/lib/locale/ar_DZ/LC_TIME
-#usr/lib/locale/ar_EG
-#usr/lib/locale/ar_EG.utf8
-#usr/lib/locale/ar_EG.utf8/LC_ADDRESS
-#usr/lib/locale/ar_EG.utf8/LC_COLLATE
-#usr/lib/locale/ar_EG.utf8/LC_CTYPE
-#usr/lib/locale/ar_EG.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_EG.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_EG.utf8/LC_MESSAGES
-#usr/lib/locale/ar_EG.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_EG.utf8/LC_MONETARY
-#usr/lib/locale/ar_EG.utf8/LC_NAME
-#usr/lib/locale/ar_EG.utf8/LC_NUMERIC
-#usr/lib/locale/ar_EG.utf8/LC_PAPER
-#usr/lib/locale/ar_EG.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_EG.utf8/LC_TIME
-#usr/lib/locale/ar_EG/LC_ADDRESS
-#usr/lib/locale/ar_EG/LC_COLLATE
-#usr/lib/locale/ar_EG/LC_CTYPE
-#usr/lib/locale/ar_EG/LC_IDENTIFICATION
-#usr/lib/locale/ar_EG/LC_MEASUREMENT
-#usr/lib/locale/ar_EG/LC_MESSAGES
-#usr/lib/locale/ar_EG/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_EG/LC_MONETARY
-#usr/lib/locale/ar_EG/LC_NAME
-#usr/lib/locale/ar_EG/LC_NUMERIC
-#usr/lib/locale/ar_EG/LC_PAPER
-#usr/lib/locale/ar_EG/LC_TELEPHONE
-#usr/lib/locale/ar_EG/LC_TIME
-#usr/lib/locale/ar_IN
-#usr/lib/locale/ar_IN/LC_ADDRESS
-#usr/lib/locale/ar_IN/LC_COLLATE
-#usr/lib/locale/ar_IN/LC_CTYPE
-#usr/lib/locale/ar_IN/LC_IDENTIFICATION
-#usr/lib/locale/ar_IN/LC_MEASUREMENT
-#usr/lib/locale/ar_IN/LC_MESSAGES
-#usr/lib/locale/ar_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_IN/LC_MONETARY
-#usr/lib/locale/ar_IN/LC_NAME
-#usr/lib/locale/ar_IN/LC_NUMERIC
-#usr/lib/locale/ar_IN/LC_PAPER
-#usr/lib/locale/ar_IN/LC_TELEPHONE
-#usr/lib/locale/ar_IN/LC_TIME
-#usr/lib/locale/ar_IQ
-#usr/lib/locale/ar_IQ.utf8
-#usr/lib/locale/ar_IQ.utf8/LC_ADDRESS
-#usr/lib/locale/ar_IQ.utf8/LC_COLLATE
-#usr/lib/locale/ar_IQ.utf8/LC_CTYPE
-#usr/lib/locale/ar_IQ.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_IQ.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_IQ.utf8/LC_MESSAGES
-#usr/lib/locale/ar_IQ.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_IQ.utf8/LC_MONETARY
-#usr/lib/locale/ar_IQ.utf8/LC_NAME
-#usr/lib/locale/ar_IQ.utf8/LC_NUMERIC
-#usr/lib/locale/ar_IQ.utf8/LC_PAPER
-#usr/lib/locale/ar_IQ.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_IQ.utf8/LC_TIME
-#usr/lib/locale/ar_IQ/LC_ADDRESS
-#usr/lib/locale/ar_IQ/LC_COLLATE
-#usr/lib/locale/ar_IQ/LC_CTYPE
-#usr/lib/locale/ar_IQ/LC_IDENTIFICATION
-#usr/lib/locale/ar_IQ/LC_MEASUREMENT
-#usr/lib/locale/ar_IQ/LC_MESSAGES
-#usr/lib/locale/ar_IQ/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_IQ/LC_MONETARY
-#usr/lib/locale/ar_IQ/LC_NAME
-#usr/lib/locale/ar_IQ/LC_NUMERIC
-#usr/lib/locale/ar_IQ/LC_PAPER
-#usr/lib/locale/ar_IQ/LC_TELEPHONE
-#usr/lib/locale/ar_IQ/LC_TIME
-#usr/lib/locale/ar_JO
-#usr/lib/locale/ar_JO.utf8
-#usr/lib/locale/ar_JO.utf8/LC_ADDRESS
-#usr/lib/locale/ar_JO.utf8/LC_COLLATE
-#usr/lib/locale/ar_JO.utf8/LC_CTYPE
-#usr/lib/locale/ar_JO.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_JO.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_JO.utf8/LC_MESSAGES
-#usr/lib/locale/ar_JO.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_JO.utf8/LC_MONETARY
-#usr/lib/locale/ar_JO.utf8/LC_NAME
-#usr/lib/locale/ar_JO.utf8/LC_NUMERIC
-#usr/lib/locale/ar_JO.utf8/LC_PAPER
-#usr/lib/locale/ar_JO.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_JO.utf8/LC_TIME
-#usr/lib/locale/ar_JO/LC_ADDRESS
-#usr/lib/locale/ar_JO/LC_COLLATE
-#usr/lib/locale/ar_JO/LC_CTYPE
-#usr/lib/locale/ar_JO/LC_IDENTIFICATION
-#usr/lib/locale/ar_JO/LC_MEASUREMENT
-#usr/lib/locale/ar_JO/LC_MESSAGES
-#usr/lib/locale/ar_JO/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_JO/LC_MONETARY
-#usr/lib/locale/ar_JO/LC_NAME
-#usr/lib/locale/ar_JO/LC_NUMERIC
-#usr/lib/locale/ar_JO/LC_PAPER
-#usr/lib/locale/ar_JO/LC_TELEPHONE
-#usr/lib/locale/ar_JO/LC_TIME
-#usr/lib/locale/ar_KW
-#usr/lib/locale/ar_KW.utf8
-#usr/lib/locale/ar_KW.utf8/LC_ADDRESS
-#usr/lib/locale/ar_KW.utf8/LC_COLLATE
-#usr/lib/locale/ar_KW.utf8/LC_CTYPE
-#usr/lib/locale/ar_KW.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_KW.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_KW.utf8/LC_MESSAGES
-#usr/lib/locale/ar_KW.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_KW.utf8/LC_MONETARY
-#usr/lib/locale/ar_KW.utf8/LC_NAME
-#usr/lib/locale/ar_KW.utf8/LC_NUMERIC
-#usr/lib/locale/ar_KW.utf8/LC_PAPER
-#usr/lib/locale/ar_KW.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_KW.utf8/LC_TIME
-#usr/lib/locale/ar_KW/LC_ADDRESS
-#usr/lib/locale/ar_KW/LC_COLLATE
-#usr/lib/locale/ar_KW/LC_CTYPE
-#usr/lib/locale/ar_KW/LC_IDENTIFICATION
-#usr/lib/locale/ar_KW/LC_MEASUREMENT
-#usr/lib/locale/ar_KW/LC_MESSAGES
-#usr/lib/locale/ar_KW/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_KW/LC_MONETARY
-#usr/lib/locale/ar_KW/LC_NAME
-#usr/lib/locale/ar_KW/LC_NUMERIC
-#usr/lib/locale/ar_KW/LC_PAPER
-#usr/lib/locale/ar_KW/LC_TELEPHONE
-#usr/lib/locale/ar_KW/LC_TIME
-#usr/lib/locale/ar_LB
-#usr/lib/locale/ar_LB.utf8
-#usr/lib/locale/ar_LB.utf8/LC_ADDRESS
-#usr/lib/locale/ar_LB.utf8/LC_COLLATE
-#usr/lib/locale/ar_LB.utf8/LC_CTYPE
-#usr/lib/locale/ar_LB.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_LB.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_LB.utf8/LC_MESSAGES
-#usr/lib/locale/ar_LB.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_LB.utf8/LC_MONETARY
-#usr/lib/locale/ar_LB.utf8/LC_NAME
-#usr/lib/locale/ar_LB.utf8/LC_NUMERIC
-#usr/lib/locale/ar_LB.utf8/LC_PAPER
-#usr/lib/locale/ar_LB.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_LB.utf8/LC_TIME
-#usr/lib/locale/ar_LB/LC_ADDRESS
-#usr/lib/locale/ar_LB/LC_COLLATE
-#usr/lib/locale/ar_LB/LC_CTYPE
-#usr/lib/locale/ar_LB/LC_IDENTIFICATION
-#usr/lib/locale/ar_LB/LC_MEASUREMENT
-#usr/lib/locale/ar_LB/LC_MESSAGES
-#usr/lib/locale/ar_LB/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_LB/LC_MONETARY
-#usr/lib/locale/ar_LB/LC_NAME
-#usr/lib/locale/ar_LB/LC_NUMERIC
-#usr/lib/locale/ar_LB/LC_PAPER
-#usr/lib/locale/ar_LB/LC_TELEPHONE
-#usr/lib/locale/ar_LB/LC_TIME
-#usr/lib/locale/ar_LY
-#usr/lib/locale/ar_LY.utf8
-#usr/lib/locale/ar_LY.utf8/LC_ADDRESS
-#usr/lib/locale/ar_LY.utf8/LC_COLLATE
-#usr/lib/locale/ar_LY.utf8/LC_CTYPE
-#usr/lib/locale/ar_LY.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_LY.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_LY.utf8/LC_MESSAGES
-#usr/lib/locale/ar_LY.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_LY.utf8/LC_MONETARY
-#usr/lib/locale/ar_LY.utf8/LC_NAME
-#usr/lib/locale/ar_LY.utf8/LC_NUMERIC
-#usr/lib/locale/ar_LY.utf8/LC_PAPER
-#usr/lib/locale/ar_LY.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_LY.utf8/LC_TIME
-#usr/lib/locale/ar_LY/LC_ADDRESS
-#usr/lib/locale/ar_LY/LC_COLLATE
-#usr/lib/locale/ar_LY/LC_CTYPE
-#usr/lib/locale/ar_LY/LC_IDENTIFICATION
-#usr/lib/locale/ar_LY/LC_MEASUREMENT
-#usr/lib/locale/ar_LY/LC_MESSAGES
-#usr/lib/locale/ar_LY/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_LY/LC_MONETARY
-#usr/lib/locale/ar_LY/LC_NAME
-#usr/lib/locale/ar_LY/LC_NUMERIC
-#usr/lib/locale/ar_LY/LC_PAPER
-#usr/lib/locale/ar_LY/LC_TELEPHONE
-#usr/lib/locale/ar_LY/LC_TIME
-#usr/lib/locale/ar_MA
-#usr/lib/locale/ar_MA.utf8
-#usr/lib/locale/ar_MA.utf8/LC_ADDRESS
-#usr/lib/locale/ar_MA.utf8/LC_COLLATE
-#usr/lib/locale/ar_MA.utf8/LC_CTYPE
-#usr/lib/locale/ar_MA.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_MA.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_MA.utf8/LC_MESSAGES
-#usr/lib/locale/ar_MA.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_MA.utf8/LC_MONETARY
-#usr/lib/locale/ar_MA.utf8/LC_NAME
-#usr/lib/locale/ar_MA.utf8/LC_NUMERIC
-#usr/lib/locale/ar_MA.utf8/LC_PAPER
-#usr/lib/locale/ar_MA.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_MA.utf8/LC_TIME
-#usr/lib/locale/ar_MA/LC_ADDRESS
-#usr/lib/locale/ar_MA/LC_COLLATE
-#usr/lib/locale/ar_MA/LC_CTYPE
-#usr/lib/locale/ar_MA/LC_IDENTIFICATION
-#usr/lib/locale/ar_MA/LC_MEASUREMENT
-#usr/lib/locale/ar_MA/LC_MESSAGES
-#usr/lib/locale/ar_MA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_MA/LC_MONETARY
-#usr/lib/locale/ar_MA/LC_NAME
-#usr/lib/locale/ar_MA/LC_NUMERIC
-#usr/lib/locale/ar_MA/LC_PAPER
-#usr/lib/locale/ar_MA/LC_TELEPHONE
-#usr/lib/locale/ar_MA/LC_TIME
-#usr/lib/locale/ar_OM
-#usr/lib/locale/ar_OM.utf8
-#usr/lib/locale/ar_OM.utf8/LC_ADDRESS
-#usr/lib/locale/ar_OM.utf8/LC_COLLATE
-#usr/lib/locale/ar_OM.utf8/LC_CTYPE
-#usr/lib/locale/ar_OM.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_OM.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_OM.utf8/LC_MESSAGES
-#usr/lib/locale/ar_OM.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_OM.utf8/LC_MONETARY
-#usr/lib/locale/ar_OM.utf8/LC_NAME
-#usr/lib/locale/ar_OM.utf8/LC_NUMERIC
-#usr/lib/locale/ar_OM.utf8/LC_PAPER
-#usr/lib/locale/ar_OM.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_OM.utf8/LC_TIME
-#usr/lib/locale/ar_OM/LC_ADDRESS
-#usr/lib/locale/ar_OM/LC_COLLATE
-#usr/lib/locale/ar_OM/LC_CTYPE
-#usr/lib/locale/ar_OM/LC_IDENTIFICATION
-#usr/lib/locale/ar_OM/LC_MEASUREMENT
-#usr/lib/locale/ar_OM/LC_MESSAGES
-#usr/lib/locale/ar_OM/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_OM/LC_MONETARY
-#usr/lib/locale/ar_OM/LC_NAME
-#usr/lib/locale/ar_OM/LC_NUMERIC
-#usr/lib/locale/ar_OM/LC_PAPER
-#usr/lib/locale/ar_OM/LC_TELEPHONE
-#usr/lib/locale/ar_OM/LC_TIME
-#usr/lib/locale/ar_QA
-#usr/lib/locale/ar_QA.utf8
-#usr/lib/locale/ar_QA.utf8/LC_ADDRESS
-#usr/lib/locale/ar_QA.utf8/LC_COLLATE
-#usr/lib/locale/ar_QA.utf8/LC_CTYPE
-#usr/lib/locale/ar_QA.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_QA.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_QA.utf8/LC_MESSAGES
-#usr/lib/locale/ar_QA.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_QA.utf8/LC_MONETARY
-#usr/lib/locale/ar_QA.utf8/LC_NAME
-#usr/lib/locale/ar_QA.utf8/LC_NUMERIC
-#usr/lib/locale/ar_QA.utf8/LC_PAPER
-#usr/lib/locale/ar_QA.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_QA.utf8/LC_TIME
-#usr/lib/locale/ar_QA/LC_ADDRESS
-#usr/lib/locale/ar_QA/LC_COLLATE
-#usr/lib/locale/ar_QA/LC_CTYPE
-#usr/lib/locale/ar_QA/LC_IDENTIFICATION
-#usr/lib/locale/ar_QA/LC_MEASUREMENT
-#usr/lib/locale/ar_QA/LC_MESSAGES
-#usr/lib/locale/ar_QA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_QA/LC_MONETARY
-#usr/lib/locale/ar_QA/LC_NAME
-#usr/lib/locale/ar_QA/LC_NUMERIC
-#usr/lib/locale/ar_QA/LC_PAPER
-#usr/lib/locale/ar_QA/LC_TELEPHONE
-#usr/lib/locale/ar_QA/LC_TIME
-#usr/lib/locale/ar_SA
-#usr/lib/locale/ar_SA.utf8
-#usr/lib/locale/ar_SA.utf8/LC_ADDRESS
-#usr/lib/locale/ar_SA.utf8/LC_COLLATE
-#usr/lib/locale/ar_SA.utf8/LC_CTYPE
-#usr/lib/locale/ar_SA.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_SA.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_SA.utf8/LC_MESSAGES
-#usr/lib/locale/ar_SA.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_SA.utf8/LC_MONETARY
-#usr/lib/locale/ar_SA.utf8/LC_NAME
-#usr/lib/locale/ar_SA.utf8/LC_NUMERIC
-#usr/lib/locale/ar_SA.utf8/LC_PAPER
-#usr/lib/locale/ar_SA.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_SA.utf8/LC_TIME
-#usr/lib/locale/ar_SA/LC_ADDRESS
-#usr/lib/locale/ar_SA/LC_COLLATE
-#usr/lib/locale/ar_SA/LC_CTYPE
-#usr/lib/locale/ar_SA/LC_IDENTIFICATION
-#usr/lib/locale/ar_SA/LC_MEASUREMENT
-#usr/lib/locale/ar_SA/LC_MESSAGES
-#usr/lib/locale/ar_SA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_SA/LC_MONETARY
-#usr/lib/locale/ar_SA/LC_NAME
-#usr/lib/locale/ar_SA/LC_NUMERIC
-#usr/lib/locale/ar_SA/LC_PAPER
-#usr/lib/locale/ar_SA/LC_TELEPHONE
-#usr/lib/locale/ar_SA/LC_TIME
-#usr/lib/locale/ar_SD
-#usr/lib/locale/ar_SD.utf8
-#usr/lib/locale/ar_SD.utf8/LC_ADDRESS
-#usr/lib/locale/ar_SD.utf8/LC_COLLATE
-#usr/lib/locale/ar_SD.utf8/LC_CTYPE
-#usr/lib/locale/ar_SD.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_SD.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_SD.utf8/LC_MESSAGES
-#usr/lib/locale/ar_SD.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_SD.utf8/LC_MONETARY
-#usr/lib/locale/ar_SD.utf8/LC_NAME
-#usr/lib/locale/ar_SD.utf8/LC_NUMERIC
-#usr/lib/locale/ar_SD.utf8/LC_PAPER
-#usr/lib/locale/ar_SD.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_SD.utf8/LC_TIME
-#usr/lib/locale/ar_SD/LC_ADDRESS
-#usr/lib/locale/ar_SD/LC_COLLATE
-#usr/lib/locale/ar_SD/LC_CTYPE
-#usr/lib/locale/ar_SD/LC_IDENTIFICATION
-#usr/lib/locale/ar_SD/LC_MEASUREMENT
-#usr/lib/locale/ar_SD/LC_MESSAGES
-#usr/lib/locale/ar_SD/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_SD/LC_MONETARY
-#usr/lib/locale/ar_SD/LC_NAME
-#usr/lib/locale/ar_SD/LC_NUMERIC
-#usr/lib/locale/ar_SD/LC_PAPER
-#usr/lib/locale/ar_SD/LC_TELEPHONE
-#usr/lib/locale/ar_SD/LC_TIME
-#usr/lib/locale/ar_SY
-#usr/lib/locale/ar_SY.utf8
-#usr/lib/locale/ar_SY.utf8/LC_ADDRESS
-#usr/lib/locale/ar_SY.utf8/LC_COLLATE
-#usr/lib/locale/ar_SY.utf8/LC_CTYPE
-#usr/lib/locale/ar_SY.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_SY.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_SY.utf8/LC_MESSAGES
-#usr/lib/locale/ar_SY.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_SY.utf8/LC_MONETARY
-#usr/lib/locale/ar_SY.utf8/LC_NAME
-#usr/lib/locale/ar_SY.utf8/LC_NUMERIC
-#usr/lib/locale/ar_SY.utf8/LC_PAPER
-#usr/lib/locale/ar_SY.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_SY.utf8/LC_TIME
-#usr/lib/locale/ar_SY/LC_ADDRESS
-#usr/lib/locale/ar_SY/LC_COLLATE
-#usr/lib/locale/ar_SY/LC_CTYPE
-#usr/lib/locale/ar_SY/LC_IDENTIFICATION
-#usr/lib/locale/ar_SY/LC_MEASUREMENT
-#usr/lib/locale/ar_SY/LC_MESSAGES
-#usr/lib/locale/ar_SY/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_SY/LC_MONETARY
-#usr/lib/locale/ar_SY/LC_NAME
-#usr/lib/locale/ar_SY/LC_NUMERIC
-#usr/lib/locale/ar_SY/LC_PAPER
-#usr/lib/locale/ar_SY/LC_TELEPHONE
-#usr/lib/locale/ar_SY/LC_TIME
-#usr/lib/locale/ar_TN
-#usr/lib/locale/ar_TN.utf8
-#usr/lib/locale/ar_TN.utf8/LC_ADDRESS
-#usr/lib/locale/ar_TN.utf8/LC_COLLATE
-#usr/lib/locale/ar_TN.utf8/LC_CTYPE
-#usr/lib/locale/ar_TN.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_TN.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_TN.utf8/LC_MESSAGES
-#usr/lib/locale/ar_TN.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_TN.utf8/LC_MONETARY
-#usr/lib/locale/ar_TN.utf8/LC_NAME
-#usr/lib/locale/ar_TN.utf8/LC_NUMERIC
-#usr/lib/locale/ar_TN.utf8/LC_PAPER
-#usr/lib/locale/ar_TN.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_TN.utf8/LC_TIME
-#usr/lib/locale/ar_TN/LC_ADDRESS
-#usr/lib/locale/ar_TN/LC_COLLATE
-#usr/lib/locale/ar_TN/LC_CTYPE
-#usr/lib/locale/ar_TN/LC_IDENTIFICATION
-#usr/lib/locale/ar_TN/LC_MEASUREMENT
-#usr/lib/locale/ar_TN/LC_MESSAGES
-#usr/lib/locale/ar_TN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_TN/LC_MONETARY
-#usr/lib/locale/ar_TN/LC_NAME
-#usr/lib/locale/ar_TN/LC_NUMERIC
-#usr/lib/locale/ar_TN/LC_PAPER
-#usr/lib/locale/ar_TN/LC_TELEPHONE
-#usr/lib/locale/ar_TN/LC_TIME
-#usr/lib/locale/ar_YE
-#usr/lib/locale/ar_YE.utf8
-#usr/lib/locale/ar_YE.utf8/LC_ADDRESS
-#usr/lib/locale/ar_YE.utf8/LC_COLLATE
-#usr/lib/locale/ar_YE.utf8/LC_CTYPE
-#usr/lib/locale/ar_YE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ar_YE.utf8/LC_MEASUREMENT
-#usr/lib/locale/ar_YE.utf8/LC_MESSAGES
-#usr/lib/locale/ar_YE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_YE.utf8/LC_MONETARY
-#usr/lib/locale/ar_YE.utf8/LC_NAME
-#usr/lib/locale/ar_YE.utf8/LC_NUMERIC
-#usr/lib/locale/ar_YE.utf8/LC_PAPER
-#usr/lib/locale/ar_YE.utf8/LC_TELEPHONE
-#usr/lib/locale/ar_YE.utf8/LC_TIME
-#usr/lib/locale/ar_YE/LC_ADDRESS
-#usr/lib/locale/ar_YE/LC_COLLATE
-#usr/lib/locale/ar_YE/LC_CTYPE
-#usr/lib/locale/ar_YE/LC_IDENTIFICATION
-#usr/lib/locale/ar_YE/LC_MEASUREMENT
-#usr/lib/locale/ar_YE/LC_MESSAGES
-#usr/lib/locale/ar_YE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ar_YE/LC_MONETARY
-#usr/lib/locale/ar_YE/LC_NAME
-#usr/lib/locale/ar_YE/LC_NUMERIC
-#usr/lib/locale/ar_YE/LC_PAPER
-#usr/lib/locale/ar_YE/LC_TELEPHONE
-#usr/lib/locale/ar_YE/LC_TIME
-#usr/lib/locale/as_IN
-#usr/lib/locale/as_IN/LC_ADDRESS
-#usr/lib/locale/as_IN/LC_COLLATE
-#usr/lib/locale/as_IN/LC_CTYPE
-#usr/lib/locale/as_IN/LC_IDENTIFICATION
-#usr/lib/locale/as_IN/LC_MEASUREMENT
-#usr/lib/locale/as_IN/LC_MESSAGES
-#usr/lib/locale/as_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/as_IN/LC_MONETARY
-#usr/lib/locale/as_IN/LC_NAME
-#usr/lib/locale/as_IN/LC_NUMERIC
-#usr/lib/locale/as_IN/LC_PAPER
-#usr/lib/locale/as_IN/LC_TELEPHONE
-#usr/lib/locale/as_IN/LC_TIME
-#usr/lib/locale/ast_ES
-#usr/lib/locale/ast_ES.utf8
-#usr/lib/locale/ast_ES.utf8/LC_ADDRESS
-#usr/lib/locale/ast_ES.utf8/LC_COLLATE
-#usr/lib/locale/ast_ES.utf8/LC_CTYPE
-#usr/lib/locale/ast_ES.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ast_ES.utf8/LC_MEASUREMENT
-#usr/lib/locale/ast_ES.utf8/LC_MESSAGES
-#usr/lib/locale/ast_ES.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ast_ES.utf8/LC_MONETARY
-#usr/lib/locale/ast_ES.utf8/LC_NAME
-#usr/lib/locale/ast_ES.utf8/LC_NUMERIC
-#usr/lib/locale/ast_ES.utf8/LC_PAPER
-#usr/lib/locale/ast_ES.utf8/LC_TELEPHONE
-#usr/lib/locale/ast_ES.utf8/LC_TIME
-#usr/lib/locale/ast_ES/LC_ADDRESS
-#usr/lib/locale/ast_ES/LC_COLLATE
-#usr/lib/locale/ast_ES/LC_CTYPE
-#usr/lib/locale/ast_ES/LC_IDENTIFICATION
-#usr/lib/locale/ast_ES/LC_MEASUREMENT
-#usr/lib/locale/ast_ES/LC_MESSAGES
-#usr/lib/locale/ast_ES/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ast_ES/LC_MONETARY
-#usr/lib/locale/ast_ES/LC_NAME
-#usr/lib/locale/ast_ES/LC_NUMERIC
-#usr/lib/locale/ast_ES/LC_PAPER
-#usr/lib/locale/ast_ES/LC_TELEPHONE
-#usr/lib/locale/ast_ES/LC_TIME
-#usr/lib/locale/az_AZ
-#usr/lib/locale/az_AZ/LC_ADDRESS
-#usr/lib/locale/az_AZ/LC_COLLATE
-#usr/lib/locale/az_AZ/LC_CTYPE
-#usr/lib/locale/az_AZ/LC_IDENTIFICATION
-#usr/lib/locale/az_AZ/LC_MEASUREMENT
-#usr/lib/locale/az_AZ/LC_MESSAGES
-#usr/lib/locale/az_AZ/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/az_AZ/LC_MONETARY
-#usr/lib/locale/az_AZ/LC_NAME
-#usr/lib/locale/az_AZ/LC_NUMERIC
-#usr/lib/locale/az_AZ/LC_PAPER
-#usr/lib/locale/az_AZ/LC_TELEPHONE
-#usr/lib/locale/az_AZ/LC_TIME
-#usr/lib/locale/be_BY
-#usr/lib/locale/be_BY.utf8
-#usr/lib/locale/be_BY.utf8/LC_ADDRESS
-#usr/lib/locale/be_BY.utf8/LC_COLLATE
-#usr/lib/locale/be_BY.utf8/LC_CTYPE
-#usr/lib/locale/be_BY.utf8/LC_IDENTIFICATION
-#usr/lib/locale/be_BY.utf8/LC_MEASUREMENT
-#usr/lib/locale/be_BY.utf8/LC_MESSAGES
-#usr/lib/locale/be_BY.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/be_BY.utf8/LC_MONETARY
-#usr/lib/locale/be_BY.utf8/LC_NAME
-#usr/lib/locale/be_BY.utf8/LC_NUMERIC
-#usr/lib/locale/be_BY.utf8/LC_PAPER
-#usr/lib/locale/be_BY.utf8/LC_TELEPHONE
-#usr/lib/locale/be_BY.utf8/LC_TIME
-#usr/lib/locale/be_BY/LC_ADDRESS
-#usr/lib/locale/be_BY/LC_COLLATE
-#usr/lib/locale/be_BY/LC_CTYPE
-#usr/lib/locale/be_BY/LC_IDENTIFICATION
-#usr/lib/locale/be_BY/LC_MEASUREMENT
-#usr/lib/locale/be_BY/LC_MESSAGES
-#usr/lib/locale/be_BY/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/be_BY/LC_MONETARY
-#usr/lib/locale/be_BY/LC_NAME
-#usr/lib/locale/be_BY/LC_NUMERIC
-#usr/lib/locale/be_BY/LC_PAPER
-#usr/lib/locale/be_BY/LC_TELEPHONE
-#usr/lib/locale/be_BY/LC_TIME
-#usr/lib/locale/be_BY@latin
-#usr/lib/locale/be_BY@latin/LC_ADDRESS
-#usr/lib/locale/be_BY@latin/LC_COLLATE
-#usr/lib/locale/be_BY@latin/LC_CTYPE
-#usr/lib/locale/be_BY@latin/LC_IDENTIFICATION
-#usr/lib/locale/be_BY@latin/LC_MEASUREMENT
-#usr/lib/locale/be_BY@latin/LC_MESSAGES
-#usr/lib/locale/be_BY@latin/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/be_BY@latin/LC_MONETARY
-#usr/lib/locale/be_BY@latin/LC_NAME
-#usr/lib/locale/be_BY@latin/LC_NUMERIC
-#usr/lib/locale/be_BY@latin/LC_PAPER
-#usr/lib/locale/be_BY@latin/LC_TELEPHONE
-#usr/lib/locale/be_BY@latin/LC_TIME
-#usr/lib/locale/ber_DZ
-#usr/lib/locale/ber_DZ/LC_ADDRESS
-#usr/lib/locale/ber_DZ/LC_COLLATE
-#usr/lib/locale/ber_DZ/LC_CTYPE
-#usr/lib/locale/ber_DZ/LC_IDENTIFICATION
-#usr/lib/locale/ber_DZ/LC_MEASUREMENT
-#usr/lib/locale/ber_DZ/LC_MESSAGES
-#usr/lib/locale/ber_DZ/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ber_DZ/LC_MONETARY
-#usr/lib/locale/ber_DZ/LC_NAME
-#usr/lib/locale/ber_DZ/LC_NUMERIC
-#usr/lib/locale/ber_DZ/LC_PAPER
-#usr/lib/locale/ber_DZ/LC_TELEPHONE
-#usr/lib/locale/ber_DZ/LC_TIME
-#usr/lib/locale/ber_MA
-#usr/lib/locale/ber_MA/LC_ADDRESS
-#usr/lib/locale/ber_MA/LC_COLLATE
-#usr/lib/locale/ber_MA/LC_CTYPE
-#usr/lib/locale/ber_MA/LC_IDENTIFICATION
-#usr/lib/locale/ber_MA/LC_MEASUREMENT
-#usr/lib/locale/ber_MA/LC_MESSAGES
-#usr/lib/locale/ber_MA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ber_MA/LC_MONETARY
-#usr/lib/locale/ber_MA/LC_NAME
-#usr/lib/locale/ber_MA/LC_NUMERIC
-#usr/lib/locale/ber_MA/LC_PAPER
-#usr/lib/locale/ber_MA/LC_TELEPHONE
-#usr/lib/locale/ber_MA/LC_TIME
-#usr/lib/locale/bg_BG
-#usr/lib/locale/bg_BG.utf8
-#usr/lib/locale/bg_BG.utf8/LC_ADDRESS
-#usr/lib/locale/bg_BG.utf8/LC_COLLATE
-#usr/lib/locale/bg_BG.utf8/LC_CTYPE
-#usr/lib/locale/bg_BG.utf8/LC_IDENTIFICATION
-#usr/lib/locale/bg_BG.utf8/LC_MEASUREMENT
-#usr/lib/locale/bg_BG.utf8/LC_MESSAGES
-#usr/lib/locale/bg_BG.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/bg_BG.utf8/LC_MONETARY
-#usr/lib/locale/bg_BG.utf8/LC_NAME
-#usr/lib/locale/bg_BG.utf8/LC_NUMERIC
-#usr/lib/locale/bg_BG.utf8/LC_PAPER
-#usr/lib/locale/bg_BG.utf8/LC_TELEPHONE
-#usr/lib/locale/bg_BG.utf8/LC_TIME
-#usr/lib/locale/bg_BG/LC_ADDRESS
-#usr/lib/locale/bg_BG/LC_COLLATE
-#usr/lib/locale/bg_BG/LC_CTYPE
-#usr/lib/locale/bg_BG/LC_IDENTIFICATION
-#usr/lib/locale/bg_BG/LC_MEASUREMENT
-#usr/lib/locale/bg_BG/LC_MESSAGES
-#usr/lib/locale/bg_BG/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/bg_BG/LC_MONETARY
-#usr/lib/locale/bg_BG/LC_NAME
-#usr/lib/locale/bg_BG/LC_NUMERIC
-#usr/lib/locale/bg_BG/LC_PAPER
-#usr/lib/locale/bg_BG/LC_TELEPHONE
-#usr/lib/locale/bg_BG/LC_TIME
-#usr/lib/locale/bn_BD
-#usr/lib/locale/bn_BD/LC_ADDRESS
-#usr/lib/locale/bn_BD/LC_COLLATE
-#usr/lib/locale/bn_BD/LC_CTYPE
-#usr/lib/locale/bn_BD/LC_IDENTIFICATION
-#usr/lib/locale/bn_BD/LC_MEASUREMENT
-#usr/lib/locale/bn_BD/LC_MESSAGES
-#usr/lib/locale/bn_BD/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/bn_BD/LC_MONETARY
-#usr/lib/locale/bn_BD/LC_NAME
-#usr/lib/locale/bn_BD/LC_NUMERIC
-#usr/lib/locale/bn_BD/LC_PAPER
-#usr/lib/locale/bn_BD/LC_TELEPHONE
-#usr/lib/locale/bn_BD/LC_TIME
-#usr/lib/locale/bn_IN
-#usr/lib/locale/bn_IN/LC_ADDRESS
-#usr/lib/locale/bn_IN/LC_COLLATE
-#usr/lib/locale/bn_IN/LC_CTYPE
-#usr/lib/locale/bn_IN/LC_IDENTIFICATION
-#usr/lib/locale/bn_IN/LC_MEASUREMENT
-#usr/lib/locale/bn_IN/LC_MESSAGES
-#usr/lib/locale/bn_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/bn_IN/LC_MONETARY
-#usr/lib/locale/bn_IN/LC_NAME
-#usr/lib/locale/bn_IN/LC_NUMERIC
-#usr/lib/locale/bn_IN/LC_PAPER
-#usr/lib/locale/bn_IN/LC_TELEPHONE
-#usr/lib/locale/bn_IN/LC_TIME
-#usr/lib/locale/bo_CN
-#usr/lib/locale/bo_CN/LC_ADDRESS
-#usr/lib/locale/bo_CN/LC_COLLATE
-#usr/lib/locale/bo_CN/LC_CTYPE
-#usr/lib/locale/bo_CN/LC_IDENTIFICATION
-#usr/lib/locale/bo_CN/LC_MEASUREMENT
-#usr/lib/locale/bo_CN/LC_MESSAGES
-#usr/lib/locale/bo_CN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/bo_CN/LC_MONETARY
-#usr/lib/locale/bo_CN/LC_NAME
-#usr/lib/locale/bo_CN/LC_NUMERIC
-#usr/lib/locale/bo_CN/LC_PAPER
-#usr/lib/locale/bo_CN/LC_TELEPHONE
-#usr/lib/locale/bo_CN/LC_TIME
-#usr/lib/locale/bo_IN
-#usr/lib/locale/bo_IN/LC_ADDRESS
-#usr/lib/locale/bo_IN/LC_COLLATE
-#usr/lib/locale/bo_IN/LC_CTYPE
-#usr/lib/locale/bo_IN/LC_IDENTIFICATION
-#usr/lib/locale/bo_IN/LC_MEASUREMENT
-#usr/lib/locale/bo_IN/LC_MESSAGES
-#usr/lib/locale/bo_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/bo_IN/LC_MONETARY
-#usr/lib/locale/bo_IN/LC_NAME
-#usr/lib/locale/bo_IN/LC_NUMERIC
-#usr/lib/locale/bo_IN/LC_PAPER
-#usr/lib/locale/bo_IN/LC_TELEPHONE
-#usr/lib/locale/bo_IN/LC_TIME
-#usr/lib/locale/br_FR
-#usr/lib/locale/br_FR.utf8
-#usr/lib/locale/br_FR.utf8/LC_ADDRESS
-#usr/lib/locale/br_FR.utf8/LC_COLLATE
-#usr/lib/locale/br_FR.utf8/LC_CTYPE
-#usr/lib/locale/br_FR.utf8/LC_IDENTIFICATION
-#usr/lib/locale/br_FR.utf8/LC_MEASUREMENT
-#usr/lib/locale/br_FR.utf8/LC_MESSAGES
-#usr/lib/locale/br_FR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/br_FR.utf8/LC_MONETARY
-#usr/lib/locale/br_FR.utf8/LC_NAME
-#usr/lib/locale/br_FR.utf8/LC_NUMERIC
-#usr/lib/locale/br_FR.utf8/LC_PAPER
-#usr/lib/locale/br_FR.utf8/LC_TELEPHONE
-#usr/lib/locale/br_FR.utf8/LC_TIME
-#usr/lib/locale/br_FR/LC_ADDRESS
-#usr/lib/locale/br_FR/LC_COLLATE
-#usr/lib/locale/br_FR/LC_CTYPE
-#usr/lib/locale/br_FR/LC_IDENTIFICATION
-#usr/lib/locale/br_FR/LC_MEASUREMENT
-#usr/lib/locale/br_FR/LC_MESSAGES
-#usr/lib/locale/br_FR/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/br_FR/LC_MONETARY
-#usr/lib/locale/br_FR/LC_NAME
-#usr/lib/locale/br_FR/LC_NUMERIC
-#usr/lib/locale/br_FR/LC_PAPER
-#usr/lib/locale/br_FR/LC_TELEPHONE
-#usr/lib/locale/br_FR/LC_TIME
-#usr/lib/locale/br_FR@euro
-#usr/lib/locale/br_FR@euro/LC_ADDRESS
-#usr/lib/locale/br_FR@euro/LC_COLLATE
-#usr/lib/locale/br_FR@euro/LC_CTYPE
-#usr/lib/locale/br_FR@euro/LC_IDENTIFICATION
-#usr/lib/locale/br_FR@euro/LC_MEASUREMENT
-#usr/lib/locale/br_FR@euro/LC_MESSAGES
-#usr/lib/locale/br_FR@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/br_FR@euro/LC_MONETARY
-#usr/lib/locale/br_FR@euro/LC_NAME
-#usr/lib/locale/br_FR@euro/LC_NUMERIC
-#usr/lib/locale/br_FR@euro/LC_PAPER
-#usr/lib/locale/br_FR@euro/LC_TELEPHONE
-#usr/lib/locale/br_FR@euro/LC_TIME
-#usr/lib/locale/bs_BA
-#usr/lib/locale/bs_BA.utf8
-#usr/lib/locale/bs_BA.utf8/LC_ADDRESS
-#usr/lib/locale/bs_BA.utf8/LC_COLLATE
-#usr/lib/locale/bs_BA.utf8/LC_CTYPE
-#usr/lib/locale/bs_BA.utf8/LC_IDENTIFICATION
-#usr/lib/locale/bs_BA.utf8/LC_MEASUREMENT
-#usr/lib/locale/bs_BA.utf8/LC_MESSAGES
-#usr/lib/locale/bs_BA.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/bs_BA.utf8/LC_MONETARY
-#usr/lib/locale/bs_BA.utf8/LC_NAME
-#usr/lib/locale/bs_BA.utf8/LC_NUMERIC
-#usr/lib/locale/bs_BA.utf8/LC_PAPER
-#usr/lib/locale/bs_BA.utf8/LC_TELEPHONE
-#usr/lib/locale/bs_BA.utf8/LC_TIME
-#usr/lib/locale/bs_BA/LC_ADDRESS
-#usr/lib/locale/bs_BA/LC_COLLATE
-#usr/lib/locale/bs_BA/LC_CTYPE
-#usr/lib/locale/bs_BA/LC_IDENTIFICATION
-#usr/lib/locale/bs_BA/LC_MEASUREMENT
-#usr/lib/locale/bs_BA/LC_MESSAGES
-#usr/lib/locale/bs_BA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/bs_BA/LC_MONETARY
-#usr/lib/locale/bs_BA/LC_NAME
-#usr/lib/locale/bs_BA/LC_NUMERIC
-#usr/lib/locale/bs_BA/LC_PAPER
-#usr/lib/locale/bs_BA/LC_TELEPHONE
-#usr/lib/locale/bs_BA/LC_TIME
-#usr/lib/locale/byn_ER
-#usr/lib/locale/byn_ER/LC_ADDRESS
-#usr/lib/locale/byn_ER/LC_COLLATE
-#usr/lib/locale/byn_ER/LC_CTYPE
-#usr/lib/locale/byn_ER/LC_IDENTIFICATION
-#usr/lib/locale/byn_ER/LC_MEASUREMENT
-#usr/lib/locale/byn_ER/LC_MESSAGES
-#usr/lib/locale/byn_ER/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/byn_ER/LC_MONETARY
-#usr/lib/locale/byn_ER/LC_NAME
-#usr/lib/locale/byn_ER/LC_NUMERIC
-#usr/lib/locale/byn_ER/LC_PAPER
-#usr/lib/locale/byn_ER/LC_TELEPHONE
-#usr/lib/locale/byn_ER/LC_TIME
-#usr/lib/locale/ca_AD
-#usr/lib/locale/ca_AD.utf8
-#usr/lib/locale/ca_AD.utf8/LC_ADDRESS
-#usr/lib/locale/ca_AD.utf8/LC_COLLATE
-#usr/lib/locale/ca_AD.utf8/LC_CTYPE
-#usr/lib/locale/ca_AD.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ca_AD.utf8/LC_MEASUREMENT
-#usr/lib/locale/ca_AD.utf8/LC_MESSAGES
-#usr/lib/locale/ca_AD.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ca_AD.utf8/LC_MONETARY
-#usr/lib/locale/ca_AD.utf8/LC_NAME
-#usr/lib/locale/ca_AD.utf8/LC_NUMERIC
-#usr/lib/locale/ca_AD.utf8/LC_PAPER
-#usr/lib/locale/ca_AD.utf8/LC_TELEPHONE
-#usr/lib/locale/ca_AD.utf8/LC_TIME
-#usr/lib/locale/ca_AD/LC_ADDRESS
-#usr/lib/locale/ca_AD/LC_COLLATE
-#usr/lib/locale/ca_AD/LC_CTYPE
-#usr/lib/locale/ca_AD/LC_IDENTIFICATION
-#usr/lib/locale/ca_AD/LC_MEASUREMENT
-#usr/lib/locale/ca_AD/LC_MESSAGES
-#usr/lib/locale/ca_AD/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ca_AD/LC_MONETARY
-#usr/lib/locale/ca_AD/LC_NAME
-#usr/lib/locale/ca_AD/LC_NUMERIC
-#usr/lib/locale/ca_AD/LC_PAPER
-#usr/lib/locale/ca_AD/LC_TELEPHONE
-#usr/lib/locale/ca_AD/LC_TIME
-#usr/lib/locale/ca_ES
-#usr/lib/locale/ca_ES.utf8
-#usr/lib/locale/ca_ES.utf8/LC_ADDRESS
-#usr/lib/locale/ca_ES.utf8/LC_COLLATE
-#usr/lib/locale/ca_ES.utf8/LC_CTYPE
-#usr/lib/locale/ca_ES.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ca_ES.utf8/LC_MEASUREMENT
-#usr/lib/locale/ca_ES.utf8/LC_MESSAGES
-#usr/lib/locale/ca_ES.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ca_ES.utf8/LC_MONETARY
-#usr/lib/locale/ca_ES.utf8/LC_NAME
-#usr/lib/locale/ca_ES.utf8/LC_NUMERIC
-#usr/lib/locale/ca_ES.utf8/LC_PAPER
-#usr/lib/locale/ca_ES.utf8/LC_TELEPHONE
-#usr/lib/locale/ca_ES.utf8/LC_TIME
-#usr/lib/locale/ca_ES/LC_ADDRESS
-#usr/lib/locale/ca_ES/LC_COLLATE
-#usr/lib/locale/ca_ES/LC_CTYPE
-#usr/lib/locale/ca_ES/LC_IDENTIFICATION
-#usr/lib/locale/ca_ES/LC_MEASUREMENT
-#usr/lib/locale/ca_ES/LC_MESSAGES
-#usr/lib/locale/ca_ES/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ca_ES/LC_MONETARY
-#usr/lib/locale/ca_ES/LC_NAME
-#usr/lib/locale/ca_ES/LC_NUMERIC
-#usr/lib/locale/ca_ES/LC_PAPER
-#usr/lib/locale/ca_ES/LC_TELEPHONE
-#usr/lib/locale/ca_ES/LC_TIME
-#usr/lib/locale/ca_ES@euro
-#usr/lib/locale/ca_ES@euro/LC_ADDRESS
-#usr/lib/locale/ca_ES@euro/LC_COLLATE
-#usr/lib/locale/ca_ES@euro/LC_CTYPE
-#usr/lib/locale/ca_ES@euro/LC_IDENTIFICATION
-#usr/lib/locale/ca_ES@euro/LC_MEASUREMENT
-#usr/lib/locale/ca_ES@euro/LC_MESSAGES
-#usr/lib/locale/ca_ES@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ca_ES@euro/LC_MONETARY
-#usr/lib/locale/ca_ES@euro/LC_NAME
-#usr/lib/locale/ca_ES@euro/LC_NUMERIC
-#usr/lib/locale/ca_ES@euro/LC_PAPER
-#usr/lib/locale/ca_ES@euro/LC_TELEPHONE
-#usr/lib/locale/ca_ES@euro/LC_TIME
-#usr/lib/locale/ca_FR
-#usr/lib/locale/ca_FR.utf8
-#usr/lib/locale/ca_FR.utf8/LC_ADDRESS
-#usr/lib/locale/ca_FR.utf8/LC_COLLATE
-#usr/lib/locale/ca_FR.utf8/LC_CTYPE
-#usr/lib/locale/ca_FR.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ca_FR.utf8/LC_MEASUREMENT
-#usr/lib/locale/ca_FR.utf8/LC_MESSAGES
-#usr/lib/locale/ca_FR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ca_FR.utf8/LC_MONETARY
-#usr/lib/locale/ca_FR.utf8/LC_NAME
-#usr/lib/locale/ca_FR.utf8/LC_NUMERIC
-#usr/lib/locale/ca_FR.utf8/LC_PAPER
-#usr/lib/locale/ca_FR.utf8/LC_TELEPHONE
-#usr/lib/locale/ca_FR.utf8/LC_TIME
-#usr/lib/locale/ca_FR/LC_ADDRESS
-#usr/lib/locale/ca_FR/LC_COLLATE
-#usr/lib/locale/ca_FR/LC_CTYPE
-#usr/lib/locale/ca_FR/LC_IDENTIFICATION
-#usr/lib/locale/ca_FR/LC_MEASUREMENT
-#usr/lib/locale/ca_FR/LC_MESSAGES
-#usr/lib/locale/ca_FR/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ca_FR/LC_MONETARY
-#usr/lib/locale/ca_FR/LC_NAME
-#usr/lib/locale/ca_FR/LC_NUMERIC
-#usr/lib/locale/ca_FR/LC_PAPER
-#usr/lib/locale/ca_FR/LC_TELEPHONE
-#usr/lib/locale/ca_FR/LC_TIME
-#usr/lib/locale/ca_IT
-#usr/lib/locale/ca_IT.utf8
-#usr/lib/locale/ca_IT.utf8/LC_ADDRESS
-#usr/lib/locale/ca_IT.utf8/LC_COLLATE
-#usr/lib/locale/ca_IT.utf8/LC_CTYPE
-#usr/lib/locale/ca_IT.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ca_IT.utf8/LC_MEASUREMENT
-#usr/lib/locale/ca_IT.utf8/LC_MESSAGES
-#usr/lib/locale/ca_IT.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ca_IT.utf8/LC_MONETARY
-#usr/lib/locale/ca_IT.utf8/LC_NAME
-#usr/lib/locale/ca_IT.utf8/LC_NUMERIC
-#usr/lib/locale/ca_IT.utf8/LC_PAPER
-#usr/lib/locale/ca_IT.utf8/LC_TELEPHONE
-#usr/lib/locale/ca_IT.utf8/LC_TIME
-#usr/lib/locale/ca_IT/LC_ADDRESS
-#usr/lib/locale/ca_IT/LC_COLLATE
-#usr/lib/locale/ca_IT/LC_CTYPE
-#usr/lib/locale/ca_IT/LC_IDENTIFICATION
-#usr/lib/locale/ca_IT/LC_MEASUREMENT
-#usr/lib/locale/ca_IT/LC_MESSAGES
-#usr/lib/locale/ca_IT/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ca_IT/LC_MONETARY
-#usr/lib/locale/ca_IT/LC_NAME
-#usr/lib/locale/ca_IT/LC_NUMERIC
-#usr/lib/locale/ca_IT/LC_PAPER
-#usr/lib/locale/ca_IT/LC_TELEPHONE
-#usr/lib/locale/ca_IT/LC_TIME
-#usr/lib/locale/crh_UA
-#usr/lib/locale/crh_UA/LC_ADDRESS
-#usr/lib/locale/crh_UA/LC_COLLATE
-#usr/lib/locale/crh_UA/LC_CTYPE
-#usr/lib/locale/crh_UA/LC_IDENTIFICATION
-#usr/lib/locale/crh_UA/LC_MEASUREMENT
-#usr/lib/locale/crh_UA/LC_MESSAGES
-#usr/lib/locale/crh_UA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/crh_UA/LC_MONETARY
-#usr/lib/locale/crh_UA/LC_NAME
-#usr/lib/locale/crh_UA/LC_NUMERIC
-#usr/lib/locale/crh_UA/LC_PAPER
-#usr/lib/locale/crh_UA/LC_TELEPHONE
-#usr/lib/locale/crh_UA/LC_TIME
-#usr/lib/locale/cs_CZ
-#usr/lib/locale/cs_CZ.utf8
-#usr/lib/locale/cs_CZ.utf8/LC_ADDRESS
-#usr/lib/locale/cs_CZ.utf8/LC_COLLATE
-#usr/lib/locale/cs_CZ.utf8/LC_CTYPE
-#usr/lib/locale/cs_CZ.utf8/LC_IDENTIFICATION
-#usr/lib/locale/cs_CZ.utf8/LC_MEASUREMENT
-#usr/lib/locale/cs_CZ.utf8/LC_MESSAGES
-#usr/lib/locale/cs_CZ.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/cs_CZ.utf8/LC_MONETARY
-#usr/lib/locale/cs_CZ.utf8/LC_NAME
-#usr/lib/locale/cs_CZ.utf8/LC_NUMERIC
-#usr/lib/locale/cs_CZ.utf8/LC_PAPER
-#usr/lib/locale/cs_CZ.utf8/LC_TELEPHONE
-#usr/lib/locale/cs_CZ.utf8/LC_TIME
-#usr/lib/locale/cs_CZ/LC_ADDRESS
-#usr/lib/locale/cs_CZ/LC_COLLATE
-#usr/lib/locale/cs_CZ/LC_CTYPE
-#usr/lib/locale/cs_CZ/LC_IDENTIFICATION
-#usr/lib/locale/cs_CZ/LC_MEASUREMENT
-#usr/lib/locale/cs_CZ/LC_MESSAGES
-#usr/lib/locale/cs_CZ/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/cs_CZ/LC_MONETARY
-#usr/lib/locale/cs_CZ/LC_NAME
-#usr/lib/locale/cs_CZ/LC_NUMERIC
-#usr/lib/locale/cs_CZ/LC_PAPER
-#usr/lib/locale/cs_CZ/LC_TELEPHONE
-#usr/lib/locale/cs_CZ/LC_TIME
-#usr/lib/locale/csb_PL
-#usr/lib/locale/csb_PL/LC_ADDRESS
-#usr/lib/locale/csb_PL/LC_COLLATE
-#usr/lib/locale/csb_PL/LC_CTYPE
-#usr/lib/locale/csb_PL/LC_IDENTIFICATION
-#usr/lib/locale/csb_PL/LC_MEASUREMENT
-#usr/lib/locale/csb_PL/LC_MESSAGES
-#usr/lib/locale/csb_PL/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/csb_PL/LC_MONETARY
-#usr/lib/locale/csb_PL/LC_NAME
-#usr/lib/locale/csb_PL/LC_NUMERIC
-#usr/lib/locale/csb_PL/LC_PAPER
-#usr/lib/locale/csb_PL/LC_TELEPHONE
-#usr/lib/locale/csb_PL/LC_TIME
-#usr/lib/locale/cv_RU
-#usr/lib/locale/cv_RU/LC_ADDRESS
-#usr/lib/locale/cv_RU/LC_COLLATE
-#usr/lib/locale/cv_RU/LC_CTYPE
-#usr/lib/locale/cv_RU/LC_IDENTIFICATION
-#usr/lib/locale/cv_RU/LC_MEASUREMENT
-#usr/lib/locale/cv_RU/LC_MESSAGES
-#usr/lib/locale/cv_RU/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/cv_RU/LC_MONETARY
-#usr/lib/locale/cv_RU/LC_NAME
-#usr/lib/locale/cv_RU/LC_NUMERIC
-#usr/lib/locale/cv_RU/LC_PAPER
-#usr/lib/locale/cv_RU/LC_TELEPHONE
-#usr/lib/locale/cv_RU/LC_TIME
-#usr/lib/locale/cy_GB
-#usr/lib/locale/cy_GB.utf8
-#usr/lib/locale/cy_GB.utf8/LC_ADDRESS
-#usr/lib/locale/cy_GB.utf8/LC_COLLATE
-#usr/lib/locale/cy_GB.utf8/LC_CTYPE
-#usr/lib/locale/cy_GB.utf8/LC_IDENTIFICATION
-#usr/lib/locale/cy_GB.utf8/LC_MEASUREMENT
-#usr/lib/locale/cy_GB.utf8/LC_MESSAGES
-#usr/lib/locale/cy_GB.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/cy_GB.utf8/LC_MONETARY
-#usr/lib/locale/cy_GB.utf8/LC_NAME
-#usr/lib/locale/cy_GB.utf8/LC_NUMERIC
-#usr/lib/locale/cy_GB.utf8/LC_PAPER
-#usr/lib/locale/cy_GB.utf8/LC_TELEPHONE
-#usr/lib/locale/cy_GB.utf8/LC_TIME
-#usr/lib/locale/cy_GB/LC_ADDRESS
-#usr/lib/locale/cy_GB/LC_COLLATE
-#usr/lib/locale/cy_GB/LC_CTYPE
-#usr/lib/locale/cy_GB/LC_IDENTIFICATION
-#usr/lib/locale/cy_GB/LC_MEASUREMENT
-#usr/lib/locale/cy_GB/LC_MESSAGES
-#usr/lib/locale/cy_GB/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/cy_GB/LC_MONETARY
-#usr/lib/locale/cy_GB/LC_NAME
-#usr/lib/locale/cy_GB/LC_NUMERIC
-#usr/lib/locale/cy_GB/LC_PAPER
-#usr/lib/locale/cy_GB/LC_TELEPHONE
-#usr/lib/locale/cy_GB/LC_TIME
-#usr/lib/locale/da_DK
-#usr/lib/locale/da_DK.iso885915
-#usr/lib/locale/da_DK.iso885915/LC_ADDRESS
-#usr/lib/locale/da_DK.iso885915/LC_COLLATE
-#usr/lib/locale/da_DK.iso885915/LC_CTYPE
-#usr/lib/locale/da_DK.iso885915/LC_IDENTIFICATION
-#usr/lib/locale/da_DK.iso885915/LC_MEASUREMENT
-#usr/lib/locale/da_DK.iso885915/LC_MESSAGES
-#usr/lib/locale/da_DK.iso885915/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/da_DK.iso885915/LC_MONETARY
-#usr/lib/locale/da_DK.iso885915/LC_NAME
-#usr/lib/locale/da_DK.iso885915/LC_NUMERIC
-#usr/lib/locale/da_DK.iso885915/LC_PAPER
-#usr/lib/locale/da_DK.iso885915/LC_TELEPHONE
-#usr/lib/locale/da_DK.iso885915/LC_TIME
-#usr/lib/locale/da_DK.utf8
-#usr/lib/locale/da_DK.utf8/LC_ADDRESS
-#usr/lib/locale/da_DK.utf8/LC_COLLATE
-#usr/lib/locale/da_DK.utf8/LC_CTYPE
-#usr/lib/locale/da_DK.utf8/LC_IDENTIFICATION
-#usr/lib/locale/da_DK.utf8/LC_MEASUREMENT
-#usr/lib/locale/da_DK.utf8/LC_MESSAGES
-#usr/lib/locale/da_DK.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/da_DK.utf8/LC_MONETARY
-#usr/lib/locale/da_DK.utf8/LC_NAME
-#usr/lib/locale/da_DK.utf8/LC_NUMERIC
-#usr/lib/locale/da_DK.utf8/LC_PAPER
-#usr/lib/locale/da_DK.utf8/LC_TELEPHONE
-#usr/lib/locale/da_DK.utf8/LC_TIME
-#usr/lib/locale/da_DK/LC_ADDRESS
-#usr/lib/locale/da_DK/LC_COLLATE
-#usr/lib/locale/da_DK/LC_CTYPE
-#usr/lib/locale/da_DK/LC_IDENTIFICATION
-#usr/lib/locale/da_DK/LC_MEASUREMENT
-#usr/lib/locale/da_DK/LC_MESSAGES
-#usr/lib/locale/da_DK/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/da_DK/LC_MONETARY
-#usr/lib/locale/da_DK/LC_NAME
-#usr/lib/locale/da_DK/LC_NUMERIC
-#usr/lib/locale/da_DK/LC_PAPER
-#usr/lib/locale/da_DK/LC_TELEPHONE
-#usr/lib/locale/da_DK/LC_TIME
-#usr/lib/locale/de_AT
-#usr/lib/locale/de_AT.utf8
-#usr/lib/locale/de_AT.utf8/LC_ADDRESS
-#usr/lib/locale/de_AT.utf8/LC_COLLATE
-#usr/lib/locale/de_AT.utf8/LC_CTYPE
-#usr/lib/locale/de_AT.utf8/LC_IDENTIFICATION
-#usr/lib/locale/de_AT.utf8/LC_MEASUREMENT
-#usr/lib/locale/de_AT.utf8/LC_MESSAGES
-#usr/lib/locale/de_AT.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/de_AT.utf8/LC_MONETARY
-#usr/lib/locale/de_AT.utf8/LC_NAME
-#usr/lib/locale/de_AT.utf8/LC_NUMERIC
-#usr/lib/locale/de_AT.utf8/LC_PAPER
-#usr/lib/locale/de_AT.utf8/LC_TELEPHONE
-#usr/lib/locale/de_AT.utf8/LC_TIME
-#usr/lib/locale/de_AT/LC_ADDRESS
-#usr/lib/locale/de_AT/LC_COLLATE
-#usr/lib/locale/de_AT/LC_CTYPE
-#usr/lib/locale/de_AT/LC_IDENTIFICATION
-#usr/lib/locale/de_AT/LC_MEASUREMENT
-#usr/lib/locale/de_AT/LC_MESSAGES
-#usr/lib/locale/de_AT/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/de_AT/LC_MONETARY
-#usr/lib/locale/de_AT/LC_NAME
-#usr/lib/locale/de_AT/LC_NUMERIC
-#usr/lib/locale/de_AT/LC_PAPER
-#usr/lib/locale/de_AT/LC_TELEPHONE
-#usr/lib/locale/de_AT/LC_TIME
-#usr/lib/locale/de_AT@euro
-#usr/lib/locale/de_AT@euro/LC_ADDRESS
-#usr/lib/locale/de_AT@euro/LC_COLLATE
-#usr/lib/locale/de_AT@euro/LC_CTYPE
-#usr/lib/locale/de_AT@euro/LC_IDENTIFICATION
-#usr/lib/locale/de_AT@euro/LC_MEASUREMENT
-#usr/lib/locale/de_AT@euro/LC_MESSAGES
-#usr/lib/locale/de_AT@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/de_AT@euro/LC_MONETARY
-#usr/lib/locale/de_AT@euro/LC_NAME
-#usr/lib/locale/de_AT@euro/LC_NUMERIC
-#usr/lib/locale/de_AT@euro/LC_PAPER
-#usr/lib/locale/de_AT@euro/LC_TELEPHONE
-#usr/lib/locale/de_AT@euro/LC_TIME
-#usr/lib/locale/de_BE
-#usr/lib/locale/de_BE.utf8
-#usr/lib/locale/de_BE.utf8/LC_ADDRESS
-#usr/lib/locale/de_BE.utf8/LC_COLLATE
-#usr/lib/locale/de_BE.utf8/LC_CTYPE
-#usr/lib/locale/de_BE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/de_BE.utf8/LC_MEASUREMENT
-#usr/lib/locale/de_BE.utf8/LC_MESSAGES
-#usr/lib/locale/de_BE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/de_BE.utf8/LC_MONETARY
-#usr/lib/locale/de_BE.utf8/LC_NAME
-#usr/lib/locale/de_BE.utf8/LC_NUMERIC
-#usr/lib/locale/de_BE.utf8/LC_PAPER
-#usr/lib/locale/de_BE.utf8/LC_TELEPHONE
-#usr/lib/locale/de_BE.utf8/LC_TIME
-#usr/lib/locale/de_BE/LC_ADDRESS
-#usr/lib/locale/de_BE/LC_COLLATE
-#usr/lib/locale/de_BE/LC_CTYPE
-#usr/lib/locale/de_BE/LC_IDENTIFICATION
-#usr/lib/locale/de_BE/LC_MEASUREMENT
-#usr/lib/locale/de_BE/LC_MESSAGES
-#usr/lib/locale/de_BE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/de_BE/LC_MONETARY
-#usr/lib/locale/de_BE/LC_NAME
-#usr/lib/locale/de_BE/LC_NUMERIC
-#usr/lib/locale/de_BE/LC_PAPER
-#usr/lib/locale/de_BE/LC_TELEPHONE
-#usr/lib/locale/de_BE/LC_TIME
-#usr/lib/locale/de_BE@euro
-#usr/lib/locale/de_BE@euro/LC_ADDRESS
-#usr/lib/locale/de_BE@euro/LC_COLLATE
-#usr/lib/locale/de_BE@euro/LC_CTYPE
-#usr/lib/locale/de_BE@euro/LC_IDENTIFICATION
-#usr/lib/locale/de_BE@euro/LC_MEASUREMENT
-#usr/lib/locale/de_BE@euro/LC_MESSAGES
-#usr/lib/locale/de_BE@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/de_BE@euro/LC_MONETARY
-#usr/lib/locale/de_BE@euro/LC_NAME
-#usr/lib/locale/de_BE@euro/LC_NUMERIC
-#usr/lib/locale/de_BE@euro/LC_PAPER
-#usr/lib/locale/de_BE@euro/LC_TELEPHONE
-#usr/lib/locale/de_BE@euro/LC_TIME
-#usr/lib/locale/de_CH
-#usr/lib/locale/de_CH.utf8
-#usr/lib/locale/de_CH.utf8/LC_ADDRESS
-#usr/lib/locale/de_CH.utf8/LC_COLLATE
-#usr/lib/locale/de_CH.utf8/LC_CTYPE
-#usr/lib/locale/de_CH.utf8/LC_IDENTIFICATION
-#usr/lib/locale/de_CH.utf8/LC_MEASUREMENT
-#usr/lib/locale/de_CH.utf8/LC_MESSAGES
-#usr/lib/locale/de_CH.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/de_CH.utf8/LC_MONETARY
-#usr/lib/locale/de_CH.utf8/LC_NAME
-#usr/lib/locale/de_CH.utf8/LC_NUMERIC
-#usr/lib/locale/de_CH.utf8/LC_PAPER
-#usr/lib/locale/de_CH.utf8/LC_TELEPHONE
-#usr/lib/locale/de_CH.utf8/LC_TIME
-#usr/lib/locale/de_CH/LC_ADDRESS
-#usr/lib/locale/de_CH/LC_COLLATE
-#usr/lib/locale/de_CH/LC_CTYPE
-#usr/lib/locale/de_CH/LC_IDENTIFICATION
-#usr/lib/locale/de_CH/LC_MEASUREMENT
-#usr/lib/locale/de_CH/LC_MESSAGES
-#usr/lib/locale/de_CH/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/de_CH/LC_MONETARY
-#usr/lib/locale/de_CH/LC_NAME
-#usr/lib/locale/de_CH/LC_NUMERIC
-#usr/lib/locale/de_CH/LC_PAPER
-#usr/lib/locale/de_CH/LC_TELEPHONE
-#usr/lib/locale/de_CH/LC_TIME
-#usr/lib/locale/de_DE
-#usr/lib/locale/de_DE.utf8
-#usr/lib/locale/de_DE.utf8/LC_ADDRESS
-#usr/lib/locale/de_DE.utf8/LC_COLLATE
-#usr/lib/locale/de_DE.utf8/LC_CTYPE
-#usr/lib/locale/de_DE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/de_DE.utf8/LC_MEASUREMENT
-#usr/lib/locale/de_DE.utf8/LC_MESSAGES
-#usr/lib/locale/de_DE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/de_DE.utf8/LC_MONETARY
-#usr/lib/locale/de_DE.utf8/LC_NAME
-#usr/lib/locale/de_DE.utf8/LC_NUMERIC
-#usr/lib/locale/de_DE.utf8/LC_PAPER
-#usr/lib/locale/de_DE.utf8/LC_TELEPHONE
-#usr/lib/locale/de_DE.utf8/LC_TIME
-#usr/lib/locale/de_DE/LC_ADDRESS
-#usr/lib/locale/de_DE/LC_COLLATE
-#usr/lib/locale/de_DE/LC_CTYPE
-#usr/lib/locale/de_DE/LC_IDENTIFICATION
-#usr/lib/locale/de_DE/LC_MEASUREMENT
-#usr/lib/locale/de_DE/LC_MESSAGES
-#usr/lib/locale/de_DE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/de_DE/LC_MONETARY
-#usr/lib/locale/de_DE/LC_NAME
-#usr/lib/locale/de_DE/LC_NUMERIC
-#usr/lib/locale/de_DE/LC_PAPER
-#usr/lib/locale/de_DE/LC_TELEPHONE
-#usr/lib/locale/de_DE/LC_TIME
-#usr/lib/locale/de_DE@euro
-#usr/lib/locale/de_DE@euro/LC_ADDRESS
-#usr/lib/locale/de_DE@euro/LC_COLLATE
-#usr/lib/locale/de_DE@euro/LC_CTYPE
-#usr/lib/locale/de_DE@euro/LC_IDENTIFICATION
-#usr/lib/locale/de_DE@euro/LC_MEASUREMENT
-#usr/lib/locale/de_DE@euro/LC_MESSAGES
-#usr/lib/locale/de_DE@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/de_DE@euro/LC_MONETARY
-#usr/lib/locale/de_DE@euro/LC_NAME
-#usr/lib/locale/de_DE@euro/LC_NUMERIC
-#usr/lib/locale/de_DE@euro/LC_PAPER
-#usr/lib/locale/de_DE@euro/LC_TELEPHONE
-#usr/lib/locale/de_DE@euro/LC_TIME
-#usr/lib/locale/de_LU
-#usr/lib/locale/de_LU.utf8
-#usr/lib/locale/de_LU.utf8/LC_ADDRESS
-#usr/lib/locale/de_LU.utf8/LC_COLLATE
-#usr/lib/locale/de_LU.utf8/LC_CTYPE
-#usr/lib/locale/de_LU.utf8/LC_IDENTIFICATION
-#usr/lib/locale/de_LU.utf8/LC_MEASUREMENT
-#usr/lib/locale/de_LU.utf8/LC_MESSAGES
-#usr/lib/locale/de_LU.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/de_LU.utf8/LC_MONETARY
-#usr/lib/locale/de_LU.utf8/LC_NAME
-#usr/lib/locale/de_LU.utf8/LC_NUMERIC
-#usr/lib/locale/de_LU.utf8/LC_PAPER
-#usr/lib/locale/de_LU.utf8/LC_TELEPHONE
-#usr/lib/locale/de_LU.utf8/LC_TIME
-#usr/lib/locale/de_LU/LC_ADDRESS
-#usr/lib/locale/de_LU/LC_COLLATE
-#usr/lib/locale/de_LU/LC_CTYPE
-#usr/lib/locale/de_LU/LC_IDENTIFICATION
-#usr/lib/locale/de_LU/LC_MEASUREMENT
-#usr/lib/locale/de_LU/LC_MESSAGES
-#usr/lib/locale/de_LU/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/de_LU/LC_MONETARY
-#usr/lib/locale/de_LU/LC_NAME
-#usr/lib/locale/de_LU/LC_NUMERIC
-#usr/lib/locale/de_LU/LC_PAPER
-#usr/lib/locale/de_LU/LC_TELEPHONE
-#usr/lib/locale/de_LU/LC_TIME
-#usr/lib/locale/de_LU@euro
-#usr/lib/locale/de_LU@euro/LC_ADDRESS
-#usr/lib/locale/de_LU@euro/LC_COLLATE
-#usr/lib/locale/de_LU@euro/LC_CTYPE
-#usr/lib/locale/de_LU@euro/LC_IDENTIFICATION
-#usr/lib/locale/de_LU@euro/LC_MEASUREMENT
-#usr/lib/locale/de_LU@euro/LC_MESSAGES
-#usr/lib/locale/de_LU@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/de_LU@euro/LC_MONETARY
-#usr/lib/locale/de_LU@euro/LC_NAME
-#usr/lib/locale/de_LU@euro/LC_NUMERIC
-#usr/lib/locale/de_LU@euro/LC_PAPER
-#usr/lib/locale/de_LU@euro/LC_TELEPHONE
-#usr/lib/locale/de_LU@euro/LC_TIME
-#usr/lib/locale/dv_MV
-#usr/lib/locale/dv_MV/LC_ADDRESS
-#usr/lib/locale/dv_MV/LC_COLLATE
-#usr/lib/locale/dv_MV/LC_CTYPE
-#usr/lib/locale/dv_MV/LC_IDENTIFICATION
-#usr/lib/locale/dv_MV/LC_MEASUREMENT
-#usr/lib/locale/dv_MV/LC_MESSAGES
-#usr/lib/locale/dv_MV/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/dv_MV/LC_MONETARY
-#usr/lib/locale/dv_MV/LC_NAME
-#usr/lib/locale/dv_MV/LC_NUMERIC
-#usr/lib/locale/dv_MV/LC_PAPER
-#usr/lib/locale/dv_MV/LC_TELEPHONE
-#usr/lib/locale/dv_MV/LC_TIME
-#usr/lib/locale/dz_BT
-#usr/lib/locale/dz_BT/LC_ADDRESS
-#usr/lib/locale/dz_BT/LC_COLLATE
-#usr/lib/locale/dz_BT/LC_CTYPE
-#usr/lib/locale/dz_BT/LC_IDENTIFICATION
-#usr/lib/locale/dz_BT/LC_MEASUREMENT
-#usr/lib/locale/dz_BT/LC_MESSAGES
-#usr/lib/locale/dz_BT/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/dz_BT/LC_MONETARY
-#usr/lib/locale/dz_BT/LC_NAME
-#usr/lib/locale/dz_BT/LC_NUMERIC
-#usr/lib/locale/dz_BT/LC_PAPER
-#usr/lib/locale/dz_BT/LC_TELEPHONE
-#usr/lib/locale/dz_BT/LC_TIME
-#usr/lib/locale/el_CY
-#usr/lib/locale/el_CY.utf8
-#usr/lib/locale/el_CY.utf8/LC_ADDRESS
-#usr/lib/locale/el_CY.utf8/LC_COLLATE
-#usr/lib/locale/el_CY.utf8/LC_CTYPE
-#usr/lib/locale/el_CY.utf8/LC_IDENTIFICATION
-#usr/lib/locale/el_CY.utf8/LC_MEASUREMENT
-#usr/lib/locale/el_CY.utf8/LC_MESSAGES
-#usr/lib/locale/el_CY.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/el_CY.utf8/LC_MONETARY
-#usr/lib/locale/el_CY.utf8/LC_NAME
-#usr/lib/locale/el_CY.utf8/LC_NUMERIC
-#usr/lib/locale/el_CY.utf8/LC_PAPER
-#usr/lib/locale/el_CY.utf8/LC_TELEPHONE
-#usr/lib/locale/el_CY.utf8/LC_TIME
-#usr/lib/locale/el_CY/LC_ADDRESS
-#usr/lib/locale/el_CY/LC_COLLATE
-#usr/lib/locale/el_CY/LC_CTYPE
-#usr/lib/locale/el_CY/LC_IDENTIFICATION
-#usr/lib/locale/el_CY/LC_MEASUREMENT
-#usr/lib/locale/el_CY/LC_MESSAGES
-#usr/lib/locale/el_CY/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/el_CY/LC_MONETARY
-#usr/lib/locale/el_CY/LC_NAME
-#usr/lib/locale/el_CY/LC_NUMERIC
-#usr/lib/locale/el_CY/LC_PAPER
-#usr/lib/locale/el_CY/LC_TELEPHONE
-#usr/lib/locale/el_CY/LC_TIME
-#usr/lib/locale/el_GR
-#usr/lib/locale/el_GR.utf8
-#usr/lib/locale/el_GR.utf8/LC_ADDRESS
-#usr/lib/locale/el_GR.utf8/LC_COLLATE
-#usr/lib/locale/el_GR.utf8/LC_CTYPE
-#usr/lib/locale/el_GR.utf8/LC_IDENTIFICATION
-#usr/lib/locale/el_GR.utf8/LC_MEASUREMENT
-#usr/lib/locale/el_GR.utf8/LC_MESSAGES
-#usr/lib/locale/el_GR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/el_GR.utf8/LC_MONETARY
-#usr/lib/locale/el_GR.utf8/LC_NAME
-#usr/lib/locale/el_GR.utf8/LC_NUMERIC
-#usr/lib/locale/el_GR.utf8/LC_PAPER
-#usr/lib/locale/el_GR.utf8/LC_TELEPHONE
-#usr/lib/locale/el_GR.utf8/LC_TIME
-#usr/lib/locale/el_GR/LC_ADDRESS
-#usr/lib/locale/el_GR/LC_COLLATE
-#usr/lib/locale/el_GR/LC_CTYPE
-#usr/lib/locale/el_GR/LC_IDENTIFICATION
-#usr/lib/locale/el_GR/LC_MEASUREMENT
-#usr/lib/locale/el_GR/LC_MESSAGES
-#usr/lib/locale/el_GR/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/el_GR/LC_MONETARY
-#usr/lib/locale/el_GR/LC_NAME
-#usr/lib/locale/el_GR/LC_NUMERIC
-#usr/lib/locale/el_GR/LC_PAPER
-#usr/lib/locale/el_GR/LC_TELEPHONE
-#usr/lib/locale/el_GR/LC_TIME
-#usr/lib/locale/en_AG
-#usr/lib/locale/en_AG/LC_ADDRESS
-#usr/lib/locale/en_AG/LC_COLLATE
-#usr/lib/locale/en_AG/LC_CTYPE
-#usr/lib/locale/en_AG/LC_IDENTIFICATION
-#usr/lib/locale/en_AG/LC_MEASUREMENT
-#usr/lib/locale/en_AG/LC_MESSAGES
-#usr/lib/locale/en_AG/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_AG/LC_MONETARY
-#usr/lib/locale/en_AG/LC_NAME
-#usr/lib/locale/en_AG/LC_NUMERIC
-#usr/lib/locale/en_AG/LC_PAPER
-#usr/lib/locale/en_AG/LC_TELEPHONE
-#usr/lib/locale/en_AG/LC_TIME
-#usr/lib/locale/en_AU
-#usr/lib/locale/en_AU.utf8
-#usr/lib/locale/en_AU.utf8/LC_ADDRESS
-#usr/lib/locale/en_AU.utf8/LC_COLLATE
-#usr/lib/locale/en_AU.utf8/LC_CTYPE
-#usr/lib/locale/en_AU.utf8/LC_IDENTIFICATION
-#usr/lib/locale/en_AU.utf8/LC_MEASUREMENT
-#usr/lib/locale/en_AU.utf8/LC_MESSAGES
-#usr/lib/locale/en_AU.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_AU.utf8/LC_MONETARY
-#usr/lib/locale/en_AU.utf8/LC_NAME
-#usr/lib/locale/en_AU.utf8/LC_NUMERIC
-#usr/lib/locale/en_AU.utf8/LC_PAPER
-#usr/lib/locale/en_AU.utf8/LC_TELEPHONE
-#usr/lib/locale/en_AU.utf8/LC_TIME
-#usr/lib/locale/en_AU/LC_ADDRESS
-#usr/lib/locale/en_AU/LC_COLLATE
-#usr/lib/locale/en_AU/LC_CTYPE
-#usr/lib/locale/en_AU/LC_IDENTIFICATION
-#usr/lib/locale/en_AU/LC_MEASUREMENT
-#usr/lib/locale/en_AU/LC_MESSAGES
-#usr/lib/locale/en_AU/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_AU/LC_MONETARY
-#usr/lib/locale/en_AU/LC_NAME
-#usr/lib/locale/en_AU/LC_NUMERIC
-#usr/lib/locale/en_AU/LC_PAPER
-#usr/lib/locale/en_AU/LC_TELEPHONE
-#usr/lib/locale/en_AU/LC_TIME
-#usr/lib/locale/en_BW
-#usr/lib/locale/en_BW.utf8
-#usr/lib/locale/en_BW.utf8/LC_ADDRESS
-#usr/lib/locale/en_BW.utf8/LC_COLLATE
-#usr/lib/locale/en_BW.utf8/LC_CTYPE
-#usr/lib/locale/en_BW.utf8/LC_IDENTIFICATION
-#usr/lib/locale/en_BW.utf8/LC_MEASUREMENT
-#usr/lib/locale/en_BW.utf8/LC_MESSAGES
-#usr/lib/locale/en_BW.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_BW.utf8/LC_MONETARY
-#usr/lib/locale/en_BW.utf8/LC_NAME
-#usr/lib/locale/en_BW.utf8/LC_NUMERIC
-#usr/lib/locale/en_BW.utf8/LC_PAPER
-#usr/lib/locale/en_BW.utf8/LC_TELEPHONE
-#usr/lib/locale/en_BW.utf8/LC_TIME
-#usr/lib/locale/en_BW/LC_ADDRESS
-#usr/lib/locale/en_BW/LC_COLLATE
-#usr/lib/locale/en_BW/LC_CTYPE
-#usr/lib/locale/en_BW/LC_IDENTIFICATION
-#usr/lib/locale/en_BW/LC_MEASUREMENT
-#usr/lib/locale/en_BW/LC_MESSAGES
-#usr/lib/locale/en_BW/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_BW/LC_MONETARY
-#usr/lib/locale/en_BW/LC_NAME
-#usr/lib/locale/en_BW/LC_NUMERIC
-#usr/lib/locale/en_BW/LC_PAPER
-#usr/lib/locale/en_BW/LC_TELEPHONE
-#usr/lib/locale/en_BW/LC_TIME
-#usr/lib/locale/en_CA
-#usr/lib/locale/en_CA.utf8
-#usr/lib/locale/en_CA.utf8/LC_ADDRESS
-#usr/lib/locale/en_CA.utf8/LC_COLLATE
-#usr/lib/locale/en_CA.utf8/LC_CTYPE
-#usr/lib/locale/en_CA.utf8/LC_IDENTIFICATION
-#usr/lib/locale/en_CA.utf8/LC_MEASUREMENT
-#usr/lib/locale/en_CA.utf8/LC_MESSAGES
-#usr/lib/locale/en_CA.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_CA.utf8/LC_MONETARY
-#usr/lib/locale/en_CA.utf8/LC_NAME
-#usr/lib/locale/en_CA.utf8/LC_NUMERIC
-#usr/lib/locale/en_CA.utf8/LC_PAPER
-#usr/lib/locale/en_CA.utf8/LC_TELEPHONE
-#usr/lib/locale/en_CA.utf8/LC_TIME
-#usr/lib/locale/en_CA/LC_ADDRESS
-#usr/lib/locale/en_CA/LC_COLLATE
-#usr/lib/locale/en_CA/LC_CTYPE
-#usr/lib/locale/en_CA/LC_IDENTIFICATION
-#usr/lib/locale/en_CA/LC_MEASUREMENT
-#usr/lib/locale/en_CA/LC_MESSAGES
-#usr/lib/locale/en_CA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_CA/LC_MONETARY
-#usr/lib/locale/en_CA/LC_NAME
-#usr/lib/locale/en_CA/LC_NUMERIC
-#usr/lib/locale/en_CA/LC_PAPER
-#usr/lib/locale/en_CA/LC_TELEPHONE
-#usr/lib/locale/en_CA/LC_TIME
-#usr/lib/locale/en_DK
-#usr/lib/locale/en_DK.utf8
-#usr/lib/locale/en_DK.utf8/LC_ADDRESS
-#usr/lib/locale/en_DK.utf8/LC_COLLATE
-#usr/lib/locale/en_DK.utf8/LC_CTYPE
-#usr/lib/locale/en_DK.utf8/LC_IDENTIFICATION
-#usr/lib/locale/en_DK.utf8/LC_MEASUREMENT
-#usr/lib/locale/en_DK.utf8/LC_MESSAGES
-#usr/lib/locale/en_DK.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_DK.utf8/LC_MONETARY
-#usr/lib/locale/en_DK.utf8/LC_NAME
-#usr/lib/locale/en_DK.utf8/LC_NUMERIC
-#usr/lib/locale/en_DK.utf8/LC_PAPER
-#usr/lib/locale/en_DK.utf8/LC_TELEPHONE
-#usr/lib/locale/en_DK.utf8/LC_TIME
-#usr/lib/locale/en_DK/LC_ADDRESS
-#usr/lib/locale/en_DK/LC_COLLATE
-#usr/lib/locale/en_DK/LC_CTYPE
-#usr/lib/locale/en_DK/LC_IDENTIFICATION
-#usr/lib/locale/en_DK/LC_MEASUREMENT
-#usr/lib/locale/en_DK/LC_MESSAGES
-#usr/lib/locale/en_DK/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_DK/LC_MONETARY
-#usr/lib/locale/en_DK/LC_NAME
-#usr/lib/locale/en_DK/LC_NUMERIC
-#usr/lib/locale/en_DK/LC_PAPER
-#usr/lib/locale/en_DK/LC_TELEPHONE
-#usr/lib/locale/en_DK/LC_TIME
-#usr/lib/locale/en_GB
-#usr/lib/locale/en_GB.iso885915
-#usr/lib/locale/en_GB.iso885915/LC_ADDRESS
-#usr/lib/locale/en_GB.iso885915/LC_COLLATE
-#usr/lib/locale/en_GB.iso885915/LC_CTYPE
-#usr/lib/locale/en_GB.iso885915/LC_IDENTIFICATION
-#usr/lib/locale/en_GB.iso885915/LC_MEASUREMENT
-#usr/lib/locale/en_GB.iso885915/LC_MESSAGES
-#usr/lib/locale/en_GB.iso885915/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_GB.iso885915/LC_MONETARY
-#usr/lib/locale/en_GB.iso885915/LC_NAME
-#usr/lib/locale/en_GB.iso885915/LC_NUMERIC
-#usr/lib/locale/en_GB.iso885915/LC_PAPER
-#usr/lib/locale/en_GB.iso885915/LC_TELEPHONE
-#usr/lib/locale/en_GB.iso885915/LC_TIME
-#usr/lib/locale/en_GB.utf8
-#usr/lib/locale/en_GB.utf8/LC_ADDRESS
-#usr/lib/locale/en_GB.utf8/LC_COLLATE
-#usr/lib/locale/en_GB.utf8/LC_CTYPE
-#usr/lib/locale/en_GB.utf8/LC_IDENTIFICATION
-#usr/lib/locale/en_GB.utf8/LC_MEASUREMENT
-#usr/lib/locale/en_GB.utf8/LC_MESSAGES
-#usr/lib/locale/en_GB.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_GB.utf8/LC_MONETARY
-#usr/lib/locale/en_GB.utf8/LC_NAME
-#usr/lib/locale/en_GB.utf8/LC_NUMERIC
-#usr/lib/locale/en_GB.utf8/LC_PAPER
-#usr/lib/locale/en_GB.utf8/LC_TELEPHONE
-#usr/lib/locale/en_GB.utf8/LC_TIME
-#usr/lib/locale/en_GB/LC_ADDRESS
-#usr/lib/locale/en_GB/LC_COLLATE
-#usr/lib/locale/en_GB/LC_CTYPE
-#usr/lib/locale/en_GB/LC_IDENTIFICATION
-#usr/lib/locale/en_GB/LC_MEASUREMENT
-#usr/lib/locale/en_GB/LC_MESSAGES
-#usr/lib/locale/en_GB/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_GB/LC_MONETARY
-#usr/lib/locale/en_GB/LC_NAME
-#usr/lib/locale/en_GB/LC_NUMERIC
-#usr/lib/locale/en_GB/LC_PAPER
-#usr/lib/locale/en_GB/LC_TELEPHONE
-#usr/lib/locale/en_GB/LC_TIME
-#usr/lib/locale/en_HK
-#usr/lib/locale/en_HK.utf8
-#usr/lib/locale/en_HK.utf8/LC_ADDRESS
-#usr/lib/locale/en_HK.utf8/LC_COLLATE
-#usr/lib/locale/en_HK.utf8/LC_CTYPE
-#usr/lib/locale/en_HK.utf8/LC_IDENTIFICATION
-#usr/lib/locale/en_HK.utf8/LC_MEASUREMENT
-#usr/lib/locale/en_HK.utf8/LC_MESSAGES
-#usr/lib/locale/en_HK.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_HK.utf8/LC_MONETARY
-#usr/lib/locale/en_HK.utf8/LC_NAME
-#usr/lib/locale/en_HK.utf8/LC_NUMERIC
-#usr/lib/locale/en_HK.utf8/LC_PAPER
-#usr/lib/locale/en_HK.utf8/LC_TELEPHONE
-#usr/lib/locale/en_HK.utf8/LC_TIME
-#usr/lib/locale/en_HK/LC_ADDRESS
-#usr/lib/locale/en_HK/LC_COLLATE
-#usr/lib/locale/en_HK/LC_CTYPE
-#usr/lib/locale/en_HK/LC_IDENTIFICATION
-#usr/lib/locale/en_HK/LC_MEASUREMENT
-#usr/lib/locale/en_HK/LC_MESSAGES
-#usr/lib/locale/en_HK/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_HK/LC_MONETARY
-#usr/lib/locale/en_HK/LC_NAME
-#usr/lib/locale/en_HK/LC_NUMERIC
-#usr/lib/locale/en_HK/LC_PAPER
-#usr/lib/locale/en_HK/LC_TELEPHONE
-#usr/lib/locale/en_HK/LC_TIME
-#usr/lib/locale/en_IE
-#usr/lib/locale/en_IE.utf8
-#usr/lib/locale/en_IE.utf8/LC_ADDRESS
-#usr/lib/locale/en_IE.utf8/LC_COLLATE
-#usr/lib/locale/en_IE.utf8/LC_CTYPE
-#usr/lib/locale/en_IE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/en_IE.utf8/LC_MEASUREMENT
-#usr/lib/locale/en_IE.utf8/LC_MESSAGES
-#usr/lib/locale/en_IE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_IE.utf8/LC_MONETARY
-#usr/lib/locale/en_IE.utf8/LC_NAME
-#usr/lib/locale/en_IE.utf8/LC_NUMERIC
-#usr/lib/locale/en_IE.utf8/LC_PAPER
-#usr/lib/locale/en_IE.utf8/LC_TELEPHONE
-#usr/lib/locale/en_IE.utf8/LC_TIME
-#usr/lib/locale/en_IE/LC_ADDRESS
-#usr/lib/locale/en_IE/LC_COLLATE
-#usr/lib/locale/en_IE/LC_CTYPE
-#usr/lib/locale/en_IE/LC_IDENTIFICATION
-#usr/lib/locale/en_IE/LC_MEASUREMENT
-#usr/lib/locale/en_IE/LC_MESSAGES
-#usr/lib/locale/en_IE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_IE/LC_MONETARY
-#usr/lib/locale/en_IE/LC_NAME
-#usr/lib/locale/en_IE/LC_NUMERIC
-#usr/lib/locale/en_IE/LC_PAPER
-#usr/lib/locale/en_IE/LC_TELEPHONE
-#usr/lib/locale/en_IE/LC_TIME
-#usr/lib/locale/en_IE@euro
-#usr/lib/locale/en_IE@euro/LC_ADDRESS
-#usr/lib/locale/en_IE@euro/LC_COLLATE
-#usr/lib/locale/en_IE@euro/LC_CTYPE
-#usr/lib/locale/en_IE@euro/LC_IDENTIFICATION
-#usr/lib/locale/en_IE@euro/LC_MEASUREMENT
-#usr/lib/locale/en_IE@euro/LC_MESSAGES
-#usr/lib/locale/en_IE@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_IE@euro/LC_MONETARY
-#usr/lib/locale/en_IE@euro/LC_NAME
-#usr/lib/locale/en_IE@euro/LC_NUMERIC
-#usr/lib/locale/en_IE@euro/LC_PAPER
-#usr/lib/locale/en_IE@euro/LC_TELEPHONE
-#usr/lib/locale/en_IE@euro/LC_TIME
-#usr/lib/locale/en_IN
-#usr/lib/locale/en_IN/LC_ADDRESS
-#usr/lib/locale/en_IN/LC_COLLATE
-#usr/lib/locale/en_IN/LC_CTYPE
-#usr/lib/locale/en_IN/LC_IDENTIFICATION
-#usr/lib/locale/en_IN/LC_MEASUREMENT
-#usr/lib/locale/en_IN/LC_MESSAGES
-#usr/lib/locale/en_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_IN/LC_MONETARY
-#usr/lib/locale/en_IN/LC_NAME
-#usr/lib/locale/en_IN/LC_NUMERIC
-#usr/lib/locale/en_IN/LC_PAPER
-#usr/lib/locale/en_IN/LC_TELEPHONE
-#usr/lib/locale/en_IN/LC_TIME
-#usr/lib/locale/en_NG
-#usr/lib/locale/en_NG/LC_ADDRESS
-#usr/lib/locale/en_NG/LC_COLLATE
-#usr/lib/locale/en_NG/LC_CTYPE
-#usr/lib/locale/en_NG/LC_IDENTIFICATION
-#usr/lib/locale/en_NG/LC_MEASUREMENT
-#usr/lib/locale/en_NG/LC_MESSAGES
-#usr/lib/locale/en_NG/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_NG/LC_MONETARY
-#usr/lib/locale/en_NG/LC_NAME
-#usr/lib/locale/en_NG/LC_NUMERIC
-#usr/lib/locale/en_NG/LC_PAPER
-#usr/lib/locale/en_NG/LC_TELEPHONE
-#usr/lib/locale/en_NG/LC_TIME
-#usr/lib/locale/en_NZ
-#usr/lib/locale/en_NZ.utf8
-#usr/lib/locale/en_NZ.utf8/LC_ADDRESS
-#usr/lib/locale/en_NZ.utf8/LC_COLLATE
-#usr/lib/locale/en_NZ.utf8/LC_CTYPE
-#usr/lib/locale/en_NZ.utf8/LC_IDENTIFICATION
-#usr/lib/locale/en_NZ.utf8/LC_MEASUREMENT
-#usr/lib/locale/en_NZ.utf8/LC_MESSAGES
-#usr/lib/locale/en_NZ.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_NZ.utf8/LC_MONETARY
-#usr/lib/locale/en_NZ.utf8/LC_NAME
-#usr/lib/locale/en_NZ.utf8/LC_NUMERIC
-#usr/lib/locale/en_NZ.utf8/LC_PAPER
-#usr/lib/locale/en_NZ.utf8/LC_TELEPHONE
-#usr/lib/locale/en_NZ.utf8/LC_TIME
-#usr/lib/locale/en_NZ/LC_ADDRESS
-#usr/lib/locale/en_NZ/LC_COLLATE
-#usr/lib/locale/en_NZ/LC_CTYPE
-#usr/lib/locale/en_NZ/LC_IDENTIFICATION
-#usr/lib/locale/en_NZ/LC_MEASUREMENT
-#usr/lib/locale/en_NZ/LC_MESSAGES
-#usr/lib/locale/en_NZ/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_NZ/LC_MONETARY
-#usr/lib/locale/en_NZ/LC_NAME
-#usr/lib/locale/en_NZ/LC_NUMERIC
-#usr/lib/locale/en_NZ/LC_PAPER
-#usr/lib/locale/en_NZ/LC_TELEPHONE
-#usr/lib/locale/en_NZ/LC_TIME
-#usr/lib/locale/en_PH
-#usr/lib/locale/en_PH.utf8
-#usr/lib/locale/en_PH.utf8/LC_ADDRESS
-#usr/lib/locale/en_PH.utf8/LC_COLLATE
-#usr/lib/locale/en_PH.utf8/LC_CTYPE
-#usr/lib/locale/en_PH.utf8/LC_IDENTIFICATION
-#usr/lib/locale/en_PH.utf8/LC_MEASUREMENT
-#usr/lib/locale/en_PH.utf8/LC_MESSAGES
-#usr/lib/locale/en_PH.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_PH.utf8/LC_MONETARY
-#usr/lib/locale/en_PH.utf8/LC_NAME
-#usr/lib/locale/en_PH.utf8/LC_NUMERIC
-#usr/lib/locale/en_PH.utf8/LC_PAPER
-#usr/lib/locale/en_PH.utf8/LC_TELEPHONE
-#usr/lib/locale/en_PH.utf8/LC_TIME
-#usr/lib/locale/en_PH/LC_ADDRESS
-#usr/lib/locale/en_PH/LC_COLLATE
-#usr/lib/locale/en_PH/LC_CTYPE
-#usr/lib/locale/en_PH/LC_IDENTIFICATION
-#usr/lib/locale/en_PH/LC_MEASUREMENT
-#usr/lib/locale/en_PH/LC_MESSAGES
-#usr/lib/locale/en_PH/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_PH/LC_MONETARY
-#usr/lib/locale/en_PH/LC_NAME
-#usr/lib/locale/en_PH/LC_NUMERIC
-#usr/lib/locale/en_PH/LC_PAPER
-#usr/lib/locale/en_PH/LC_TELEPHONE
-#usr/lib/locale/en_PH/LC_TIME
-#usr/lib/locale/en_SG
-#usr/lib/locale/en_SG.utf8
-#usr/lib/locale/en_SG.utf8/LC_ADDRESS
-#usr/lib/locale/en_SG.utf8/LC_COLLATE
-#usr/lib/locale/en_SG.utf8/LC_CTYPE
-#usr/lib/locale/en_SG.utf8/LC_IDENTIFICATION
-#usr/lib/locale/en_SG.utf8/LC_MEASUREMENT
-#usr/lib/locale/en_SG.utf8/LC_MESSAGES
-#usr/lib/locale/en_SG.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_SG.utf8/LC_MONETARY
-#usr/lib/locale/en_SG.utf8/LC_NAME
-#usr/lib/locale/en_SG.utf8/LC_NUMERIC
-#usr/lib/locale/en_SG.utf8/LC_PAPER
-#usr/lib/locale/en_SG.utf8/LC_TELEPHONE
-#usr/lib/locale/en_SG.utf8/LC_TIME
-#usr/lib/locale/en_SG/LC_ADDRESS
-#usr/lib/locale/en_SG/LC_COLLATE
-#usr/lib/locale/en_SG/LC_CTYPE
-#usr/lib/locale/en_SG/LC_IDENTIFICATION
-#usr/lib/locale/en_SG/LC_MEASUREMENT
-#usr/lib/locale/en_SG/LC_MESSAGES
-#usr/lib/locale/en_SG/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_SG/LC_MONETARY
-#usr/lib/locale/en_SG/LC_NAME
-#usr/lib/locale/en_SG/LC_NUMERIC
-#usr/lib/locale/en_SG/LC_PAPER
-#usr/lib/locale/en_SG/LC_TELEPHONE
-#usr/lib/locale/en_SG/LC_TIME
-#usr/lib/locale/en_US
-#usr/lib/locale/en_US.iso885915
-#usr/lib/locale/en_US.iso885915/LC_ADDRESS
-#usr/lib/locale/en_US.iso885915/LC_COLLATE
-#usr/lib/locale/en_US.iso885915/LC_CTYPE
-#usr/lib/locale/en_US.iso885915/LC_IDENTIFICATION
-#usr/lib/locale/en_US.iso885915/LC_MEASUREMENT
-#usr/lib/locale/en_US.iso885915/LC_MESSAGES
-#usr/lib/locale/en_US.iso885915/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_US.iso885915/LC_MONETARY
-#usr/lib/locale/en_US.iso885915/LC_NAME
-#usr/lib/locale/en_US.iso885915/LC_NUMERIC
-#usr/lib/locale/en_US.iso885915/LC_PAPER
-#usr/lib/locale/en_US.iso885915/LC_TELEPHONE
-#usr/lib/locale/en_US.iso885915/LC_TIME
-#usr/lib/locale/en_US.utf8
-#usr/lib/locale/en_US.utf8/LC_ADDRESS
-#usr/lib/locale/en_US.utf8/LC_COLLATE
-#usr/lib/locale/en_US.utf8/LC_CTYPE
-#usr/lib/locale/en_US.utf8/LC_IDENTIFICATION
-#usr/lib/locale/en_US.utf8/LC_MEASUREMENT
-#usr/lib/locale/en_US.utf8/LC_MESSAGES
-#usr/lib/locale/en_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_US.utf8/LC_MONETARY
-#usr/lib/locale/en_US.utf8/LC_NAME
-#usr/lib/locale/en_US.utf8/LC_NUMERIC
-#usr/lib/locale/en_US.utf8/LC_PAPER
-#usr/lib/locale/en_US.utf8/LC_TELEPHONE
-#usr/lib/locale/en_US.utf8/LC_TIME
-#usr/lib/locale/en_US/LC_ADDRESS
-#usr/lib/locale/en_US/LC_COLLATE
-#usr/lib/locale/en_US/LC_CTYPE
-#usr/lib/locale/en_US/LC_IDENTIFICATION
-#usr/lib/locale/en_US/LC_MEASUREMENT
-#usr/lib/locale/en_US/LC_MESSAGES
-#usr/lib/locale/en_US/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_US/LC_MONETARY
-#usr/lib/locale/en_US/LC_NAME
-#usr/lib/locale/en_US/LC_NUMERIC
-#usr/lib/locale/en_US/LC_PAPER
-#usr/lib/locale/en_US/LC_TELEPHONE
-#usr/lib/locale/en_US/LC_TIME
-#usr/lib/locale/en_ZA
-#usr/lib/locale/en_ZA.utf8
-#usr/lib/locale/en_ZA.utf8/LC_ADDRESS
-#usr/lib/locale/en_ZA.utf8/LC_COLLATE
-#usr/lib/locale/en_ZA.utf8/LC_CTYPE
-#usr/lib/locale/en_ZA.utf8/LC_IDENTIFICATION
-#usr/lib/locale/en_ZA.utf8/LC_MEASUREMENT
-#usr/lib/locale/en_ZA.utf8/LC_MESSAGES
-#usr/lib/locale/en_ZA.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_ZA.utf8/LC_MONETARY
-#usr/lib/locale/en_ZA.utf8/LC_NAME
-#usr/lib/locale/en_ZA.utf8/LC_NUMERIC
-#usr/lib/locale/en_ZA.utf8/LC_PAPER
-#usr/lib/locale/en_ZA.utf8/LC_TELEPHONE
-#usr/lib/locale/en_ZA.utf8/LC_TIME
-#usr/lib/locale/en_ZA/LC_ADDRESS
-#usr/lib/locale/en_ZA/LC_COLLATE
-#usr/lib/locale/en_ZA/LC_CTYPE
-#usr/lib/locale/en_ZA/LC_IDENTIFICATION
-#usr/lib/locale/en_ZA/LC_MEASUREMENT
-#usr/lib/locale/en_ZA/LC_MESSAGES
-#usr/lib/locale/en_ZA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_ZA/LC_MONETARY
-#usr/lib/locale/en_ZA/LC_NAME
-#usr/lib/locale/en_ZA/LC_NUMERIC
-#usr/lib/locale/en_ZA/LC_PAPER
-#usr/lib/locale/en_ZA/LC_TELEPHONE
-#usr/lib/locale/en_ZA/LC_TIME
-#usr/lib/locale/en_ZW
-#usr/lib/locale/en_ZW.utf8
-#usr/lib/locale/en_ZW.utf8/LC_ADDRESS
-#usr/lib/locale/en_ZW.utf8/LC_COLLATE
-#usr/lib/locale/en_ZW.utf8/LC_CTYPE
-#usr/lib/locale/en_ZW.utf8/LC_IDENTIFICATION
-#usr/lib/locale/en_ZW.utf8/LC_MEASUREMENT
-#usr/lib/locale/en_ZW.utf8/LC_MESSAGES
-#usr/lib/locale/en_ZW.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_ZW.utf8/LC_MONETARY
-#usr/lib/locale/en_ZW.utf8/LC_NAME
-#usr/lib/locale/en_ZW.utf8/LC_NUMERIC
-#usr/lib/locale/en_ZW.utf8/LC_PAPER
-#usr/lib/locale/en_ZW.utf8/LC_TELEPHONE
-#usr/lib/locale/en_ZW.utf8/LC_TIME
-#usr/lib/locale/en_ZW/LC_ADDRESS
-#usr/lib/locale/en_ZW/LC_COLLATE
-#usr/lib/locale/en_ZW/LC_CTYPE
-#usr/lib/locale/en_ZW/LC_IDENTIFICATION
-#usr/lib/locale/en_ZW/LC_MEASUREMENT
-#usr/lib/locale/en_ZW/LC_MESSAGES
-#usr/lib/locale/en_ZW/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/en_ZW/LC_MONETARY
-#usr/lib/locale/en_ZW/LC_NAME
-#usr/lib/locale/en_ZW/LC_NUMERIC
-#usr/lib/locale/en_ZW/LC_PAPER
-#usr/lib/locale/en_ZW/LC_TELEPHONE
-#usr/lib/locale/en_ZW/LC_TIME
-#usr/lib/locale/es_AR
-#usr/lib/locale/es_AR.utf8
-#usr/lib/locale/es_AR.utf8/LC_ADDRESS
-#usr/lib/locale/es_AR.utf8/LC_COLLATE
-#usr/lib/locale/es_AR.utf8/LC_CTYPE
-#usr/lib/locale/es_AR.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_AR.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_AR.utf8/LC_MESSAGES
-#usr/lib/locale/es_AR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_AR.utf8/LC_MONETARY
-#usr/lib/locale/es_AR.utf8/LC_NAME
-#usr/lib/locale/es_AR.utf8/LC_NUMERIC
-#usr/lib/locale/es_AR.utf8/LC_PAPER
-#usr/lib/locale/es_AR.utf8/LC_TELEPHONE
-#usr/lib/locale/es_AR.utf8/LC_TIME
-#usr/lib/locale/es_AR/LC_ADDRESS
-#usr/lib/locale/es_AR/LC_COLLATE
-#usr/lib/locale/es_AR/LC_CTYPE
-#usr/lib/locale/es_AR/LC_IDENTIFICATION
-#usr/lib/locale/es_AR/LC_MEASUREMENT
-#usr/lib/locale/es_AR/LC_MESSAGES
-#usr/lib/locale/es_AR/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_AR/LC_MONETARY
-#usr/lib/locale/es_AR/LC_NAME
-#usr/lib/locale/es_AR/LC_NUMERIC
-#usr/lib/locale/es_AR/LC_PAPER
-#usr/lib/locale/es_AR/LC_TELEPHONE
-#usr/lib/locale/es_AR/LC_TIME
-#usr/lib/locale/es_BO
-#usr/lib/locale/es_BO.utf8
-#usr/lib/locale/es_BO.utf8/LC_ADDRESS
-#usr/lib/locale/es_BO.utf8/LC_COLLATE
-#usr/lib/locale/es_BO.utf8/LC_CTYPE
-#usr/lib/locale/es_BO.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_BO.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_BO.utf8/LC_MESSAGES
-#usr/lib/locale/es_BO.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_BO.utf8/LC_MONETARY
-#usr/lib/locale/es_BO.utf8/LC_NAME
-#usr/lib/locale/es_BO.utf8/LC_NUMERIC
-#usr/lib/locale/es_BO.utf8/LC_PAPER
-#usr/lib/locale/es_BO.utf8/LC_TELEPHONE
-#usr/lib/locale/es_BO.utf8/LC_TIME
-#usr/lib/locale/es_BO/LC_ADDRESS
-#usr/lib/locale/es_BO/LC_COLLATE
-#usr/lib/locale/es_BO/LC_CTYPE
-#usr/lib/locale/es_BO/LC_IDENTIFICATION
-#usr/lib/locale/es_BO/LC_MEASUREMENT
-#usr/lib/locale/es_BO/LC_MESSAGES
-#usr/lib/locale/es_BO/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_BO/LC_MONETARY
-#usr/lib/locale/es_BO/LC_NAME
-#usr/lib/locale/es_BO/LC_NUMERIC
-#usr/lib/locale/es_BO/LC_PAPER
-#usr/lib/locale/es_BO/LC_TELEPHONE
-#usr/lib/locale/es_BO/LC_TIME
-#usr/lib/locale/es_CL
-#usr/lib/locale/es_CL.utf8
-#usr/lib/locale/es_CL.utf8/LC_ADDRESS
-#usr/lib/locale/es_CL.utf8/LC_COLLATE
-#usr/lib/locale/es_CL.utf8/LC_CTYPE
-#usr/lib/locale/es_CL.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_CL.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_CL.utf8/LC_MESSAGES
-#usr/lib/locale/es_CL.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_CL.utf8/LC_MONETARY
-#usr/lib/locale/es_CL.utf8/LC_NAME
-#usr/lib/locale/es_CL.utf8/LC_NUMERIC
-#usr/lib/locale/es_CL.utf8/LC_PAPER
-#usr/lib/locale/es_CL.utf8/LC_TELEPHONE
-#usr/lib/locale/es_CL.utf8/LC_TIME
-#usr/lib/locale/es_CL/LC_ADDRESS
-#usr/lib/locale/es_CL/LC_COLLATE
-#usr/lib/locale/es_CL/LC_CTYPE
-#usr/lib/locale/es_CL/LC_IDENTIFICATION
-#usr/lib/locale/es_CL/LC_MEASUREMENT
-#usr/lib/locale/es_CL/LC_MESSAGES
-#usr/lib/locale/es_CL/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_CL/LC_MONETARY
-#usr/lib/locale/es_CL/LC_NAME
-#usr/lib/locale/es_CL/LC_NUMERIC
-#usr/lib/locale/es_CL/LC_PAPER
-#usr/lib/locale/es_CL/LC_TELEPHONE
-#usr/lib/locale/es_CL/LC_TIME
-#usr/lib/locale/es_CO
-#usr/lib/locale/es_CO.utf8
-#usr/lib/locale/es_CO.utf8/LC_ADDRESS
-#usr/lib/locale/es_CO.utf8/LC_COLLATE
-#usr/lib/locale/es_CO.utf8/LC_CTYPE
-#usr/lib/locale/es_CO.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_CO.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_CO.utf8/LC_MESSAGES
-#usr/lib/locale/es_CO.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_CO.utf8/LC_MONETARY
-#usr/lib/locale/es_CO.utf8/LC_NAME
-#usr/lib/locale/es_CO.utf8/LC_NUMERIC
-#usr/lib/locale/es_CO.utf8/LC_PAPER
-#usr/lib/locale/es_CO.utf8/LC_TELEPHONE
-#usr/lib/locale/es_CO.utf8/LC_TIME
-#usr/lib/locale/es_CO/LC_ADDRESS
-#usr/lib/locale/es_CO/LC_COLLATE
-#usr/lib/locale/es_CO/LC_CTYPE
-#usr/lib/locale/es_CO/LC_IDENTIFICATION
-#usr/lib/locale/es_CO/LC_MEASUREMENT
-#usr/lib/locale/es_CO/LC_MESSAGES
-#usr/lib/locale/es_CO/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_CO/LC_MONETARY
-#usr/lib/locale/es_CO/LC_NAME
-#usr/lib/locale/es_CO/LC_NUMERIC
-#usr/lib/locale/es_CO/LC_PAPER
-#usr/lib/locale/es_CO/LC_TELEPHONE
-#usr/lib/locale/es_CO/LC_TIME
-#usr/lib/locale/es_CR
-#usr/lib/locale/es_CR.utf8
-#usr/lib/locale/es_CR.utf8/LC_ADDRESS
-#usr/lib/locale/es_CR.utf8/LC_COLLATE
-#usr/lib/locale/es_CR.utf8/LC_CTYPE
-#usr/lib/locale/es_CR.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_CR.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_CR.utf8/LC_MESSAGES
-#usr/lib/locale/es_CR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_CR.utf8/LC_MONETARY
-#usr/lib/locale/es_CR.utf8/LC_NAME
-#usr/lib/locale/es_CR.utf8/LC_NUMERIC
-#usr/lib/locale/es_CR.utf8/LC_PAPER
-#usr/lib/locale/es_CR.utf8/LC_TELEPHONE
-#usr/lib/locale/es_CR.utf8/LC_TIME
-#usr/lib/locale/es_CR/LC_ADDRESS
-#usr/lib/locale/es_CR/LC_COLLATE
-#usr/lib/locale/es_CR/LC_CTYPE
-#usr/lib/locale/es_CR/LC_IDENTIFICATION
-#usr/lib/locale/es_CR/LC_MEASUREMENT
-#usr/lib/locale/es_CR/LC_MESSAGES
-#usr/lib/locale/es_CR/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_CR/LC_MONETARY
-#usr/lib/locale/es_CR/LC_NAME
-#usr/lib/locale/es_CR/LC_NUMERIC
-#usr/lib/locale/es_CR/LC_PAPER
-#usr/lib/locale/es_CR/LC_TELEPHONE
-#usr/lib/locale/es_CR/LC_TIME
-#usr/lib/locale/es_DO
-#usr/lib/locale/es_DO.utf8
-#usr/lib/locale/es_DO.utf8/LC_ADDRESS
-#usr/lib/locale/es_DO.utf8/LC_COLLATE
-#usr/lib/locale/es_DO.utf8/LC_CTYPE
-#usr/lib/locale/es_DO.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_DO.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_DO.utf8/LC_MESSAGES
-#usr/lib/locale/es_DO.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_DO.utf8/LC_MONETARY
-#usr/lib/locale/es_DO.utf8/LC_NAME
-#usr/lib/locale/es_DO.utf8/LC_NUMERIC
-#usr/lib/locale/es_DO.utf8/LC_PAPER
-#usr/lib/locale/es_DO.utf8/LC_TELEPHONE
-#usr/lib/locale/es_DO.utf8/LC_TIME
-#usr/lib/locale/es_DO/LC_ADDRESS
-#usr/lib/locale/es_DO/LC_COLLATE
-#usr/lib/locale/es_DO/LC_CTYPE
-#usr/lib/locale/es_DO/LC_IDENTIFICATION
-#usr/lib/locale/es_DO/LC_MEASUREMENT
-#usr/lib/locale/es_DO/LC_MESSAGES
-#usr/lib/locale/es_DO/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_DO/LC_MONETARY
-#usr/lib/locale/es_DO/LC_NAME
-#usr/lib/locale/es_DO/LC_NUMERIC
-#usr/lib/locale/es_DO/LC_PAPER
-#usr/lib/locale/es_DO/LC_TELEPHONE
-#usr/lib/locale/es_DO/LC_TIME
-#usr/lib/locale/es_EC
-#usr/lib/locale/es_EC.utf8
-#usr/lib/locale/es_EC.utf8/LC_ADDRESS
-#usr/lib/locale/es_EC.utf8/LC_COLLATE
-#usr/lib/locale/es_EC.utf8/LC_CTYPE
-#usr/lib/locale/es_EC.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_EC.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_EC.utf8/LC_MESSAGES
-#usr/lib/locale/es_EC.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_EC.utf8/LC_MONETARY
-#usr/lib/locale/es_EC.utf8/LC_NAME
-#usr/lib/locale/es_EC.utf8/LC_NUMERIC
-#usr/lib/locale/es_EC.utf8/LC_PAPER
-#usr/lib/locale/es_EC.utf8/LC_TELEPHONE
-#usr/lib/locale/es_EC.utf8/LC_TIME
-#usr/lib/locale/es_EC/LC_ADDRESS
-#usr/lib/locale/es_EC/LC_COLLATE
-#usr/lib/locale/es_EC/LC_CTYPE
-#usr/lib/locale/es_EC/LC_IDENTIFICATION
-#usr/lib/locale/es_EC/LC_MEASUREMENT
-#usr/lib/locale/es_EC/LC_MESSAGES
-#usr/lib/locale/es_EC/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_EC/LC_MONETARY
-#usr/lib/locale/es_EC/LC_NAME
-#usr/lib/locale/es_EC/LC_NUMERIC
-#usr/lib/locale/es_EC/LC_PAPER
-#usr/lib/locale/es_EC/LC_TELEPHONE
-#usr/lib/locale/es_EC/LC_TIME
-#usr/lib/locale/es_ES
-#usr/lib/locale/es_ES.utf8
-#usr/lib/locale/es_ES.utf8/LC_ADDRESS
-#usr/lib/locale/es_ES.utf8/LC_COLLATE
-#usr/lib/locale/es_ES.utf8/LC_CTYPE
-#usr/lib/locale/es_ES.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_ES.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_ES.utf8/LC_MESSAGES
-#usr/lib/locale/es_ES.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_ES.utf8/LC_MONETARY
-#usr/lib/locale/es_ES.utf8/LC_NAME
-#usr/lib/locale/es_ES.utf8/LC_NUMERIC
-#usr/lib/locale/es_ES.utf8/LC_PAPER
-#usr/lib/locale/es_ES.utf8/LC_TELEPHONE
-#usr/lib/locale/es_ES.utf8/LC_TIME
-#usr/lib/locale/es_ES/LC_ADDRESS
-#usr/lib/locale/es_ES/LC_COLLATE
-#usr/lib/locale/es_ES/LC_CTYPE
-#usr/lib/locale/es_ES/LC_IDENTIFICATION
-#usr/lib/locale/es_ES/LC_MEASUREMENT
-#usr/lib/locale/es_ES/LC_MESSAGES
-#usr/lib/locale/es_ES/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_ES/LC_MONETARY
-#usr/lib/locale/es_ES/LC_NAME
-#usr/lib/locale/es_ES/LC_NUMERIC
-#usr/lib/locale/es_ES/LC_PAPER
-#usr/lib/locale/es_ES/LC_TELEPHONE
-#usr/lib/locale/es_ES/LC_TIME
-#usr/lib/locale/es_ES@euro
-#usr/lib/locale/es_ES@euro/LC_ADDRESS
-#usr/lib/locale/es_ES@euro/LC_COLLATE
-#usr/lib/locale/es_ES@euro/LC_CTYPE
-#usr/lib/locale/es_ES@euro/LC_IDENTIFICATION
-#usr/lib/locale/es_ES@euro/LC_MEASUREMENT
-#usr/lib/locale/es_ES@euro/LC_MESSAGES
-#usr/lib/locale/es_ES@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_ES@euro/LC_MONETARY
-#usr/lib/locale/es_ES@euro/LC_NAME
-#usr/lib/locale/es_ES@euro/LC_NUMERIC
-#usr/lib/locale/es_ES@euro/LC_PAPER
-#usr/lib/locale/es_ES@euro/LC_TELEPHONE
-#usr/lib/locale/es_ES@euro/LC_TIME
-#usr/lib/locale/es_GT
-#usr/lib/locale/es_GT.utf8
-#usr/lib/locale/es_GT.utf8/LC_ADDRESS
-#usr/lib/locale/es_GT.utf8/LC_COLLATE
-#usr/lib/locale/es_GT.utf8/LC_CTYPE
-#usr/lib/locale/es_GT.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_GT.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_GT.utf8/LC_MESSAGES
-#usr/lib/locale/es_GT.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_GT.utf8/LC_MONETARY
-#usr/lib/locale/es_GT.utf8/LC_NAME
-#usr/lib/locale/es_GT.utf8/LC_NUMERIC
-#usr/lib/locale/es_GT.utf8/LC_PAPER
-#usr/lib/locale/es_GT.utf8/LC_TELEPHONE
-#usr/lib/locale/es_GT.utf8/LC_TIME
-#usr/lib/locale/es_GT/LC_ADDRESS
-#usr/lib/locale/es_GT/LC_COLLATE
-#usr/lib/locale/es_GT/LC_CTYPE
-#usr/lib/locale/es_GT/LC_IDENTIFICATION
-#usr/lib/locale/es_GT/LC_MEASUREMENT
-#usr/lib/locale/es_GT/LC_MESSAGES
-#usr/lib/locale/es_GT/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_GT/LC_MONETARY
-#usr/lib/locale/es_GT/LC_NAME
-#usr/lib/locale/es_GT/LC_NUMERIC
-#usr/lib/locale/es_GT/LC_PAPER
-#usr/lib/locale/es_GT/LC_TELEPHONE
-#usr/lib/locale/es_GT/LC_TIME
-#usr/lib/locale/es_HN
-#usr/lib/locale/es_HN.utf8
-#usr/lib/locale/es_HN.utf8/LC_ADDRESS
-#usr/lib/locale/es_HN.utf8/LC_COLLATE
-#usr/lib/locale/es_HN.utf8/LC_CTYPE
-#usr/lib/locale/es_HN.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_HN.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_HN.utf8/LC_MESSAGES
-#usr/lib/locale/es_HN.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_HN.utf8/LC_MONETARY
-#usr/lib/locale/es_HN.utf8/LC_NAME
-#usr/lib/locale/es_HN.utf8/LC_NUMERIC
-#usr/lib/locale/es_HN.utf8/LC_PAPER
-#usr/lib/locale/es_HN.utf8/LC_TELEPHONE
-#usr/lib/locale/es_HN.utf8/LC_TIME
-#usr/lib/locale/es_HN/LC_ADDRESS
-#usr/lib/locale/es_HN/LC_COLLATE
-#usr/lib/locale/es_HN/LC_CTYPE
-#usr/lib/locale/es_HN/LC_IDENTIFICATION
-#usr/lib/locale/es_HN/LC_MEASUREMENT
-#usr/lib/locale/es_HN/LC_MESSAGES
-#usr/lib/locale/es_HN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_HN/LC_MONETARY
-#usr/lib/locale/es_HN/LC_NAME
-#usr/lib/locale/es_HN/LC_NUMERIC
-#usr/lib/locale/es_HN/LC_PAPER
-#usr/lib/locale/es_HN/LC_TELEPHONE
-#usr/lib/locale/es_HN/LC_TIME
-#usr/lib/locale/es_MX
-#usr/lib/locale/es_MX.utf8
-#usr/lib/locale/es_MX.utf8/LC_ADDRESS
-#usr/lib/locale/es_MX.utf8/LC_COLLATE
-#usr/lib/locale/es_MX.utf8/LC_CTYPE
-#usr/lib/locale/es_MX.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_MX.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_MX.utf8/LC_MESSAGES
-#usr/lib/locale/es_MX.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_MX.utf8/LC_MONETARY
-#usr/lib/locale/es_MX.utf8/LC_NAME
-#usr/lib/locale/es_MX.utf8/LC_NUMERIC
-#usr/lib/locale/es_MX.utf8/LC_PAPER
-#usr/lib/locale/es_MX.utf8/LC_TELEPHONE
-#usr/lib/locale/es_MX.utf8/LC_TIME
-#usr/lib/locale/es_MX/LC_ADDRESS
-#usr/lib/locale/es_MX/LC_COLLATE
-#usr/lib/locale/es_MX/LC_CTYPE
-#usr/lib/locale/es_MX/LC_IDENTIFICATION
-#usr/lib/locale/es_MX/LC_MEASUREMENT
-#usr/lib/locale/es_MX/LC_MESSAGES
-#usr/lib/locale/es_MX/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_MX/LC_MONETARY
-#usr/lib/locale/es_MX/LC_NAME
-#usr/lib/locale/es_MX/LC_NUMERIC
-#usr/lib/locale/es_MX/LC_PAPER
-#usr/lib/locale/es_MX/LC_TELEPHONE
-#usr/lib/locale/es_MX/LC_TIME
-#usr/lib/locale/es_NI
-#usr/lib/locale/es_NI.utf8
-#usr/lib/locale/es_NI.utf8/LC_ADDRESS
-#usr/lib/locale/es_NI.utf8/LC_COLLATE
-#usr/lib/locale/es_NI.utf8/LC_CTYPE
-#usr/lib/locale/es_NI.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_NI.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_NI.utf8/LC_MESSAGES
-#usr/lib/locale/es_NI.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_NI.utf8/LC_MONETARY
-#usr/lib/locale/es_NI.utf8/LC_NAME
-#usr/lib/locale/es_NI.utf8/LC_NUMERIC
-#usr/lib/locale/es_NI.utf8/LC_PAPER
-#usr/lib/locale/es_NI.utf8/LC_TELEPHONE
-#usr/lib/locale/es_NI.utf8/LC_TIME
-#usr/lib/locale/es_NI/LC_ADDRESS
-#usr/lib/locale/es_NI/LC_COLLATE
-#usr/lib/locale/es_NI/LC_CTYPE
-#usr/lib/locale/es_NI/LC_IDENTIFICATION
-#usr/lib/locale/es_NI/LC_MEASUREMENT
-#usr/lib/locale/es_NI/LC_MESSAGES
-#usr/lib/locale/es_NI/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_NI/LC_MONETARY
-#usr/lib/locale/es_NI/LC_NAME
-#usr/lib/locale/es_NI/LC_NUMERIC
-#usr/lib/locale/es_NI/LC_PAPER
-#usr/lib/locale/es_NI/LC_TELEPHONE
-#usr/lib/locale/es_NI/LC_TIME
-#usr/lib/locale/es_PA
-#usr/lib/locale/es_PA.utf8
-#usr/lib/locale/es_PA.utf8/LC_ADDRESS
-#usr/lib/locale/es_PA.utf8/LC_COLLATE
-#usr/lib/locale/es_PA.utf8/LC_CTYPE
-#usr/lib/locale/es_PA.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_PA.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_PA.utf8/LC_MESSAGES
-#usr/lib/locale/es_PA.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_PA.utf8/LC_MONETARY
-#usr/lib/locale/es_PA.utf8/LC_NAME
-#usr/lib/locale/es_PA.utf8/LC_NUMERIC
-#usr/lib/locale/es_PA.utf8/LC_PAPER
-#usr/lib/locale/es_PA.utf8/LC_TELEPHONE
-#usr/lib/locale/es_PA.utf8/LC_TIME
-#usr/lib/locale/es_PA/LC_ADDRESS
-#usr/lib/locale/es_PA/LC_COLLATE
-#usr/lib/locale/es_PA/LC_CTYPE
-#usr/lib/locale/es_PA/LC_IDENTIFICATION
-#usr/lib/locale/es_PA/LC_MEASUREMENT
-#usr/lib/locale/es_PA/LC_MESSAGES
-#usr/lib/locale/es_PA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_PA/LC_MONETARY
-#usr/lib/locale/es_PA/LC_NAME
-#usr/lib/locale/es_PA/LC_NUMERIC
-#usr/lib/locale/es_PA/LC_PAPER
-#usr/lib/locale/es_PA/LC_TELEPHONE
-#usr/lib/locale/es_PA/LC_TIME
-#usr/lib/locale/es_PE
-#usr/lib/locale/es_PE.utf8
-#usr/lib/locale/es_PE.utf8/LC_ADDRESS
-#usr/lib/locale/es_PE.utf8/LC_COLLATE
-#usr/lib/locale/es_PE.utf8/LC_CTYPE
-#usr/lib/locale/es_PE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_PE.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_PE.utf8/LC_MESSAGES
-#usr/lib/locale/es_PE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_PE.utf8/LC_MONETARY
-#usr/lib/locale/es_PE.utf8/LC_NAME
-#usr/lib/locale/es_PE.utf8/LC_NUMERIC
-#usr/lib/locale/es_PE.utf8/LC_PAPER
-#usr/lib/locale/es_PE.utf8/LC_TELEPHONE
-#usr/lib/locale/es_PE.utf8/LC_TIME
-#usr/lib/locale/es_PE/LC_ADDRESS
-#usr/lib/locale/es_PE/LC_COLLATE
-#usr/lib/locale/es_PE/LC_CTYPE
-#usr/lib/locale/es_PE/LC_IDENTIFICATION
-#usr/lib/locale/es_PE/LC_MEASUREMENT
-#usr/lib/locale/es_PE/LC_MESSAGES
-#usr/lib/locale/es_PE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_PE/LC_MONETARY
-#usr/lib/locale/es_PE/LC_NAME
-#usr/lib/locale/es_PE/LC_NUMERIC
-#usr/lib/locale/es_PE/LC_PAPER
-#usr/lib/locale/es_PE/LC_TELEPHONE
-#usr/lib/locale/es_PE/LC_TIME
-#usr/lib/locale/es_PR
-#usr/lib/locale/es_PR.utf8
-#usr/lib/locale/es_PR.utf8/LC_ADDRESS
-#usr/lib/locale/es_PR.utf8/LC_COLLATE
-#usr/lib/locale/es_PR.utf8/LC_CTYPE
-#usr/lib/locale/es_PR.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_PR.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_PR.utf8/LC_MESSAGES
-#usr/lib/locale/es_PR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_PR.utf8/LC_MONETARY
-#usr/lib/locale/es_PR.utf8/LC_NAME
-#usr/lib/locale/es_PR.utf8/LC_NUMERIC
-#usr/lib/locale/es_PR.utf8/LC_PAPER
-#usr/lib/locale/es_PR.utf8/LC_TELEPHONE
-#usr/lib/locale/es_PR.utf8/LC_TIME
-#usr/lib/locale/es_PR/LC_ADDRESS
-#usr/lib/locale/es_PR/LC_COLLATE
-#usr/lib/locale/es_PR/LC_CTYPE
-#usr/lib/locale/es_PR/LC_IDENTIFICATION
-#usr/lib/locale/es_PR/LC_MEASUREMENT
-#usr/lib/locale/es_PR/LC_MESSAGES
-#usr/lib/locale/es_PR/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_PR/LC_MONETARY
-#usr/lib/locale/es_PR/LC_NAME
-#usr/lib/locale/es_PR/LC_NUMERIC
-#usr/lib/locale/es_PR/LC_PAPER
-#usr/lib/locale/es_PR/LC_TELEPHONE
-#usr/lib/locale/es_PR/LC_TIME
-#usr/lib/locale/es_PY
-#usr/lib/locale/es_PY.utf8
-#usr/lib/locale/es_PY.utf8/LC_ADDRESS
-#usr/lib/locale/es_PY.utf8/LC_COLLATE
-#usr/lib/locale/es_PY.utf8/LC_CTYPE
-#usr/lib/locale/es_PY.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_PY.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_PY.utf8/LC_MESSAGES
-#usr/lib/locale/es_PY.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_PY.utf8/LC_MONETARY
-#usr/lib/locale/es_PY.utf8/LC_NAME
-#usr/lib/locale/es_PY.utf8/LC_NUMERIC
-#usr/lib/locale/es_PY.utf8/LC_PAPER
-#usr/lib/locale/es_PY.utf8/LC_TELEPHONE
-#usr/lib/locale/es_PY.utf8/LC_TIME
-#usr/lib/locale/es_PY/LC_ADDRESS
-#usr/lib/locale/es_PY/LC_COLLATE
-#usr/lib/locale/es_PY/LC_CTYPE
-#usr/lib/locale/es_PY/LC_IDENTIFICATION
-#usr/lib/locale/es_PY/LC_MEASUREMENT
-#usr/lib/locale/es_PY/LC_MESSAGES
-#usr/lib/locale/es_PY/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_PY/LC_MONETARY
-#usr/lib/locale/es_PY/LC_NAME
-#usr/lib/locale/es_PY/LC_NUMERIC
-#usr/lib/locale/es_PY/LC_PAPER
-#usr/lib/locale/es_PY/LC_TELEPHONE
-#usr/lib/locale/es_PY/LC_TIME
-#usr/lib/locale/es_SV
-#usr/lib/locale/es_SV.utf8
-#usr/lib/locale/es_SV.utf8/LC_ADDRESS
-#usr/lib/locale/es_SV.utf8/LC_COLLATE
-#usr/lib/locale/es_SV.utf8/LC_CTYPE
-#usr/lib/locale/es_SV.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_SV.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_SV.utf8/LC_MESSAGES
-#usr/lib/locale/es_SV.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_SV.utf8/LC_MONETARY
-#usr/lib/locale/es_SV.utf8/LC_NAME
-#usr/lib/locale/es_SV.utf8/LC_NUMERIC
-#usr/lib/locale/es_SV.utf8/LC_PAPER
-#usr/lib/locale/es_SV.utf8/LC_TELEPHONE
-#usr/lib/locale/es_SV.utf8/LC_TIME
-#usr/lib/locale/es_SV/LC_ADDRESS
-#usr/lib/locale/es_SV/LC_COLLATE
-#usr/lib/locale/es_SV/LC_CTYPE
-#usr/lib/locale/es_SV/LC_IDENTIFICATION
-#usr/lib/locale/es_SV/LC_MEASUREMENT
-#usr/lib/locale/es_SV/LC_MESSAGES
-#usr/lib/locale/es_SV/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_SV/LC_MONETARY
-#usr/lib/locale/es_SV/LC_NAME
-#usr/lib/locale/es_SV/LC_NUMERIC
-#usr/lib/locale/es_SV/LC_PAPER
-#usr/lib/locale/es_SV/LC_TELEPHONE
-#usr/lib/locale/es_SV/LC_TIME
-#usr/lib/locale/es_US
-#usr/lib/locale/es_US.utf8
-#usr/lib/locale/es_US.utf8/LC_ADDRESS
-#usr/lib/locale/es_US.utf8/LC_COLLATE
-#usr/lib/locale/es_US.utf8/LC_CTYPE
-#usr/lib/locale/es_US.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_US.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_US.utf8/LC_MESSAGES
-#usr/lib/locale/es_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_US.utf8/LC_MONETARY
-#usr/lib/locale/es_US.utf8/LC_NAME
-#usr/lib/locale/es_US.utf8/LC_NUMERIC
-#usr/lib/locale/es_US.utf8/LC_PAPER
-#usr/lib/locale/es_US.utf8/LC_TELEPHONE
-#usr/lib/locale/es_US.utf8/LC_TIME
-#usr/lib/locale/es_US/LC_ADDRESS
-#usr/lib/locale/es_US/LC_COLLATE
-#usr/lib/locale/es_US/LC_CTYPE
-#usr/lib/locale/es_US/LC_IDENTIFICATION
-#usr/lib/locale/es_US/LC_MEASUREMENT
-#usr/lib/locale/es_US/LC_MESSAGES
-#usr/lib/locale/es_US/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_US/LC_MONETARY
-#usr/lib/locale/es_US/LC_NAME
-#usr/lib/locale/es_US/LC_NUMERIC
-#usr/lib/locale/es_US/LC_PAPER
-#usr/lib/locale/es_US/LC_TELEPHONE
-#usr/lib/locale/es_US/LC_TIME
-#usr/lib/locale/es_UY
-#usr/lib/locale/es_UY.utf8
-#usr/lib/locale/es_UY.utf8/LC_ADDRESS
-#usr/lib/locale/es_UY.utf8/LC_COLLATE
-#usr/lib/locale/es_UY.utf8/LC_CTYPE
-#usr/lib/locale/es_UY.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_UY.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_UY.utf8/LC_MESSAGES
-#usr/lib/locale/es_UY.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_UY.utf8/LC_MONETARY
-#usr/lib/locale/es_UY.utf8/LC_NAME
-#usr/lib/locale/es_UY.utf8/LC_NUMERIC
-#usr/lib/locale/es_UY.utf8/LC_PAPER
-#usr/lib/locale/es_UY.utf8/LC_TELEPHONE
-#usr/lib/locale/es_UY.utf8/LC_TIME
-#usr/lib/locale/es_UY/LC_ADDRESS
-#usr/lib/locale/es_UY/LC_COLLATE
-#usr/lib/locale/es_UY/LC_CTYPE
-#usr/lib/locale/es_UY/LC_IDENTIFICATION
-#usr/lib/locale/es_UY/LC_MEASUREMENT
-#usr/lib/locale/es_UY/LC_MESSAGES
-#usr/lib/locale/es_UY/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_UY/LC_MONETARY
-#usr/lib/locale/es_UY/LC_NAME
-#usr/lib/locale/es_UY/LC_NUMERIC
-#usr/lib/locale/es_UY/LC_PAPER
-#usr/lib/locale/es_UY/LC_TELEPHONE
-#usr/lib/locale/es_UY/LC_TIME
-#usr/lib/locale/es_VE
-#usr/lib/locale/es_VE.utf8
-#usr/lib/locale/es_VE.utf8/LC_ADDRESS
-#usr/lib/locale/es_VE.utf8/LC_COLLATE
-#usr/lib/locale/es_VE.utf8/LC_CTYPE
-#usr/lib/locale/es_VE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/es_VE.utf8/LC_MEASUREMENT
-#usr/lib/locale/es_VE.utf8/LC_MESSAGES
-#usr/lib/locale/es_VE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_VE.utf8/LC_MONETARY
-#usr/lib/locale/es_VE.utf8/LC_NAME
-#usr/lib/locale/es_VE.utf8/LC_NUMERIC
-#usr/lib/locale/es_VE.utf8/LC_PAPER
-#usr/lib/locale/es_VE.utf8/LC_TELEPHONE
-#usr/lib/locale/es_VE.utf8/LC_TIME
-#usr/lib/locale/es_VE/LC_ADDRESS
-#usr/lib/locale/es_VE/LC_COLLATE
-#usr/lib/locale/es_VE/LC_CTYPE
-#usr/lib/locale/es_VE/LC_IDENTIFICATION
-#usr/lib/locale/es_VE/LC_MEASUREMENT
-#usr/lib/locale/es_VE/LC_MESSAGES
-#usr/lib/locale/es_VE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/es_VE/LC_MONETARY
-#usr/lib/locale/es_VE/LC_NAME
-#usr/lib/locale/es_VE/LC_NUMERIC
-#usr/lib/locale/es_VE/LC_PAPER
-#usr/lib/locale/es_VE/LC_TELEPHONE
-#usr/lib/locale/es_VE/LC_TIME
-#usr/lib/locale/et_EE
-#usr/lib/locale/et_EE.iso885915
-#usr/lib/locale/et_EE.iso885915/LC_ADDRESS
-#usr/lib/locale/et_EE.iso885915/LC_COLLATE
-#usr/lib/locale/et_EE.iso885915/LC_CTYPE
-#usr/lib/locale/et_EE.iso885915/LC_IDENTIFICATION
-#usr/lib/locale/et_EE.iso885915/LC_MEASUREMENT
-#usr/lib/locale/et_EE.iso885915/LC_MESSAGES
-#usr/lib/locale/et_EE.iso885915/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/et_EE.iso885915/LC_MONETARY
-#usr/lib/locale/et_EE.iso885915/LC_NAME
-#usr/lib/locale/et_EE.iso885915/LC_NUMERIC
-#usr/lib/locale/et_EE.iso885915/LC_PAPER
-#usr/lib/locale/et_EE.iso885915/LC_TELEPHONE
-#usr/lib/locale/et_EE.iso885915/LC_TIME
-#usr/lib/locale/et_EE.utf8
-#usr/lib/locale/et_EE.utf8/LC_ADDRESS
-#usr/lib/locale/et_EE.utf8/LC_COLLATE
-#usr/lib/locale/et_EE.utf8/LC_CTYPE
-#usr/lib/locale/et_EE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/et_EE.utf8/LC_MEASUREMENT
-#usr/lib/locale/et_EE.utf8/LC_MESSAGES
-#usr/lib/locale/et_EE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/et_EE.utf8/LC_MONETARY
-#usr/lib/locale/et_EE.utf8/LC_NAME
-#usr/lib/locale/et_EE.utf8/LC_NUMERIC
-#usr/lib/locale/et_EE.utf8/LC_PAPER
-#usr/lib/locale/et_EE.utf8/LC_TELEPHONE
-#usr/lib/locale/et_EE.utf8/LC_TIME
-#usr/lib/locale/et_EE/LC_ADDRESS
-#usr/lib/locale/et_EE/LC_COLLATE
-#usr/lib/locale/et_EE/LC_CTYPE
-#usr/lib/locale/et_EE/LC_IDENTIFICATION
-#usr/lib/locale/et_EE/LC_MEASUREMENT
-#usr/lib/locale/et_EE/LC_MESSAGES
-#usr/lib/locale/et_EE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/et_EE/LC_MONETARY
-#usr/lib/locale/et_EE/LC_NAME
-#usr/lib/locale/et_EE/LC_NUMERIC
-#usr/lib/locale/et_EE/LC_PAPER
-#usr/lib/locale/et_EE/LC_TELEPHONE
-#usr/lib/locale/et_EE/LC_TIME
-#usr/lib/locale/eu_ES
-#usr/lib/locale/eu_ES.utf8
-#usr/lib/locale/eu_ES.utf8/LC_ADDRESS
-#usr/lib/locale/eu_ES.utf8/LC_COLLATE
-#usr/lib/locale/eu_ES.utf8/LC_CTYPE
-#usr/lib/locale/eu_ES.utf8/LC_IDENTIFICATION
-#usr/lib/locale/eu_ES.utf8/LC_MEASUREMENT
-#usr/lib/locale/eu_ES.utf8/LC_MESSAGES
-#usr/lib/locale/eu_ES.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/eu_ES.utf8/LC_MONETARY
-#usr/lib/locale/eu_ES.utf8/LC_NAME
-#usr/lib/locale/eu_ES.utf8/LC_NUMERIC
-#usr/lib/locale/eu_ES.utf8/LC_PAPER
-#usr/lib/locale/eu_ES.utf8/LC_TELEPHONE
-#usr/lib/locale/eu_ES.utf8/LC_TIME
-#usr/lib/locale/eu_ES/LC_ADDRESS
-#usr/lib/locale/eu_ES/LC_COLLATE
-#usr/lib/locale/eu_ES/LC_CTYPE
-#usr/lib/locale/eu_ES/LC_IDENTIFICATION
-#usr/lib/locale/eu_ES/LC_MEASUREMENT
-#usr/lib/locale/eu_ES/LC_MESSAGES
-#usr/lib/locale/eu_ES/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/eu_ES/LC_MONETARY
-#usr/lib/locale/eu_ES/LC_NAME
-#usr/lib/locale/eu_ES/LC_NUMERIC
-#usr/lib/locale/eu_ES/LC_PAPER
-#usr/lib/locale/eu_ES/LC_TELEPHONE
-#usr/lib/locale/eu_ES/LC_TIME
-#usr/lib/locale/eu_ES@euro
-#usr/lib/locale/eu_ES@euro/LC_ADDRESS
-#usr/lib/locale/eu_ES@euro/LC_COLLATE
-#usr/lib/locale/eu_ES@euro/LC_CTYPE
-#usr/lib/locale/eu_ES@euro/LC_IDENTIFICATION
-#usr/lib/locale/eu_ES@euro/LC_MEASUREMENT
-#usr/lib/locale/eu_ES@euro/LC_MESSAGES
-#usr/lib/locale/eu_ES@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/eu_ES@euro/LC_MONETARY
-#usr/lib/locale/eu_ES@euro/LC_NAME
-#usr/lib/locale/eu_ES@euro/LC_NUMERIC
-#usr/lib/locale/eu_ES@euro/LC_PAPER
-#usr/lib/locale/eu_ES@euro/LC_TELEPHONE
-#usr/lib/locale/eu_ES@euro/LC_TIME
-#usr/lib/locale/fa_IR
-#usr/lib/locale/fa_IR/LC_ADDRESS
-#usr/lib/locale/fa_IR/LC_COLLATE
-#usr/lib/locale/fa_IR/LC_CTYPE
-#usr/lib/locale/fa_IR/LC_IDENTIFICATION
-#usr/lib/locale/fa_IR/LC_MEASUREMENT
-#usr/lib/locale/fa_IR/LC_MESSAGES
-#usr/lib/locale/fa_IR/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fa_IR/LC_MONETARY
-#usr/lib/locale/fa_IR/LC_NAME
-#usr/lib/locale/fa_IR/LC_NUMERIC
-#usr/lib/locale/fa_IR/LC_PAPER
-#usr/lib/locale/fa_IR/LC_TELEPHONE
-#usr/lib/locale/fa_IR/LC_TIME
-#usr/lib/locale/fi_FI
-#usr/lib/locale/fi_FI.utf8
-#usr/lib/locale/fi_FI.utf8/LC_ADDRESS
-#usr/lib/locale/fi_FI.utf8/LC_COLLATE
-#usr/lib/locale/fi_FI.utf8/LC_CTYPE
-#usr/lib/locale/fi_FI.utf8/LC_IDENTIFICATION
-#usr/lib/locale/fi_FI.utf8/LC_MEASUREMENT
-#usr/lib/locale/fi_FI.utf8/LC_MESSAGES
-#usr/lib/locale/fi_FI.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fi_FI.utf8/LC_MONETARY
-#usr/lib/locale/fi_FI.utf8/LC_NAME
-#usr/lib/locale/fi_FI.utf8/LC_NUMERIC
-#usr/lib/locale/fi_FI.utf8/LC_PAPER
-#usr/lib/locale/fi_FI.utf8/LC_TELEPHONE
-#usr/lib/locale/fi_FI.utf8/LC_TIME
-#usr/lib/locale/fi_FI/LC_ADDRESS
-#usr/lib/locale/fi_FI/LC_COLLATE
-#usr/lib/locale/fi_FI/LC_CTYPE
-#usr/lib/locale/fi_FI/LC_IDENTIFICATION
-#usr/lib/locale/fi_FI/LC_MEASUREMENT
-#usr/lib/locale/fi_FI/LC_MESSAGES
-#usr/lib/locale/fi_FI/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fi_FI/LC_MONETARY
-#usr/lib/locale/fi_FI/LC_NAME
-#usr/lib/locale/fi_FI/LC_NUMERIC
-#usr/lib/locale/fi_FI/LC_PAPER
-#usr/lib/locale/fi_FI/LC_TELEPHONE
-#usr/lib/locale/fi_FI/LC_TIME
-#usr/lib/locale/fi_FI@euro
-#usr/lib/locale/fi_FI@euro/LC_ADDRESS
-#usr/lib/locale/fi_FI@euro/LC_COLLATE
-#usr/lib/locale/fi_FI@euro/LC_CTYPE
-#usr/lib/locale/fi_FI@euro/LC_IDENTIFICATION
-#usr/lib/locale/fi_FI@euro/LC_MEASUREMENT
-#usr/lib/locale/fi_FI@euro/LC_MESSAGES
-#usr/lib/locale/fi_FI@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fi_FI@euro/LC_MONETARY
-#usr/lib/locale/fi_FI@euro/LC_NAME
-#usr/lib/locale/fi_FI@euro/LC_NUMERIC
-#usr/lib/locale/fi_FI@euro/LC_PAPER
-#usr/lib/locale/fi_FI@euro/LC_TELEPHONE
-#usr/lib/locale/fi_FI@euro/LC_TIME
-#usr/lib/locale/fil_PH
-#usr/lib/locale/fil_PH/LC_ADDRESS
-#usr/lib/locale/fil_PH/LC_COLLATE
-#usr/lib/locale/fil_PH/LC_CTYPE
-#usr/lib/locale/fil_PH/LC_IDENTIFICATION
-#usr/lib/locale/fil_PH/LC_MEASUREMENT
-#usr/lib/locale/fil_PH/LC_MESSAGES
-#usr/lib/locale/fil_PH/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fil_PH/LC_MONETARY
-#usr/lib/locale/fil_PH/LC_NAME
-#usr/lib/locale/fil_PH/LC_NUMERIC
-#usr/lib/locale/fil_PH/LC_PAPER
-#usr/lib/locale/fil_PH/LC_TELEPHONE
-#usr/lib/locale/fil_PH/LC_TIME
-#usr/lib/locale/fo_FO
-#usr/lib/locale/fo_FO.utf8
-#usr/lib/locale/fo_FO.utf8/LC_ADDRESS
-#usr/lib/locale/fo_FO.utf8/LC_COLLATE
-#usr/lib/locale/fo_FO.utf8/LC_CTYPE
-#usr/lib/locale/fo_FO.utf8/LC_IDENTIFICATION
-#usr/lib/locale/fo_FO.utf8/LC_MEASUREMENT
-#usr/lib/locale/fo_FO.utf8/LC_MESSAGES
-#usr/lib/locale/fo_FO.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fo_FO.utf8/LC_MONETARY
-#usr/lib/locale/fo_FO.utf8/LC_NAME
-#usr/lib/locale/fo_FO.utf8/LC_NUMERIC
-#usr/lib/locale/fo_FO.utf8/LC_PAPER
-#usr/lib/locale/fo_FO.utf8/LC_TELEPHONE
-#usr/lib/locale/fo_FO.utf8/LC_TIME
-#usr/lib/locale/fo_FO/LC_ADDRESS
-#usr/lib/locale/fo_FO/LC_COLLATE
-#usr/lib/locale/fo_FO/LC_CTYPE
-#usr/lib/locale/fo_FO/LC_IDENTIFICATION
-#usr/lib/locale/fo_FO/LC_MEASUREMENT
-#usr/lib/locale/fo_FO/LC_MESSAGES
-#usr/lib/locale/fo_FO/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fo_FO/LC_MONETARY
-#usr/lib/locale/fo_FO/LC_NAME
-#usr/lib/locale/fo_FO/LC_NUMERIC
-#usr/lib/locale/fo_FO/LC_PAPER
-#usr/lib/locale/fo_FO/LC_TELEPHONE
-#usr/lib/locale/fo_FO/LC_TIME
-#usr/lib/locale/fr_BE
-#usr/lib/locale/fr_BE.utf8
-#usr/lib/locale/fr_BE.utf8/LC_ADDRESS
-#usr/lib/locale/fr_BE.utf8/LC_COLLATE
-#usr/lib/locale/fr_BE.utf8/LC_CTYPE
-#usr/lib/locale/fr_BE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/fr_BE.utf8/LC_MEASUREMENT
-#usr/lib/locale/fr_BE.utf8/LC_MESSAGES
-#usr/lib/locale/fr_BE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fr_BE.utf8/LC_MONETARY
-#usr/lib/locale/fr_BE.utf8/LC_NAME
-#usr/lib/locale/fr_BE.utf8/LC_NUMERIC
-#usr/lib/locale/fr_BE.utf8/LC_PAPER
-#usr/lib/locale/fr_BE.utf8/LC_TELEPHONE
-#usr/lib/locale/fr_BE.utf8/LC_TIME
-#usr/lib/locale/fr_BE/LC_ADDRESS
-#usr/lib/locale/fr_BE/LC_COLLATE
-#usr/lib/locale/fr_BE/LC_CTYPE
-#usr/lib/locale/fr_BE/LC_IDENTIFICATION
-#usr/lib/locale/fr_BE/LC_MEASUREMENT
-#usr/lib/locale/fr_BE/LC_MESSAGES
-#usr/lib/locale/fr_BE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fr_BE/LC_MONETARY
-#usr/lib/locale/fr_BE/LC_NAME
-#usr/lib/locale/fr_BE/LC_NUMERIC
-#usr/lib/locale/fr_BE/LC_PAPER
-#usr/lib/locale/fr_BE/LC_TELEPHONE
-#usr/lib/locale/fr_BE/LC_TIME
-#usr/lib/locale/fr_BE@euro
-#usr/lib/locale/fr_BE@euro/LC_ADDRESS
-#usr/lib/locale/fr_BE@euro/LC_COLLATE
-#usr/lib/locale/fr_BE@euro/LC_CTYPE
-#usr/lib/locale/fr_BE@euro/LC_IDENTIFICATION
-#usr/lib/locale/fr_BE@euro/LC_MEASUREMENT
-#usr/lib/locale/fr_BE@euro/LC_MESSAGES
-#usr/lib/locale/fr_BE@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fr_BE@euro/LC_MONETARY
-#usr/lib/locale/fr_BE@euro/LC_NAME
-#usr/lib/locale/fr_BE@euro/LC_NUMERIC
-#usr/lib/locale/fr_BE@euro/LC_PAPER
-#usr/lib/locale/fr_BE@euro/LC_TELEPHONE
-#usr/lib/locale/fr_BE@euro/LC_TIME
-#usr/lib/locale/fr_CA
-#usr/lib/locale/fr_CA.utf8
-#usr/lib/locale/fr_CA.utf8/LC_ADDRESS
-#usr/lib/locale/fr_CA.utf8/LC_COLLATE
-#usr/lib/locale/fr_CA.utf8/LC_CTYPE
-#usr/lib/locale/fr_CA.utf8/LC_IDENTIFICATION
-#usr/lib/locale/fr_CA.utf8/LC_MEASUREMENT
-#usr/lib/locale/fr_CA.utf8/LC_MESSAGES
-#usr/lib/locale/fr_CA.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fr_CA.utf8/LC_MONETARY
-#usr/lib/locale/fr_CA.utf8/LC_NAME
-#usr/lib/locale/fr_CA.utf8/LC_NUMERIC
-#usr/lib/locale/fr_CA.utf8/LC_PAPER
-#usr/lib/locale/fr_CA.utf8/LC_TELEPHONE
-#usr/lib/locale/fr_CA.utf8/LC_TIME
-#usr/lib/locale/fr_CA/LC_ADDRESS
-#usr/lib/locale/fr_CA/LC_COLLATE
-#usr/lib/locale/fr_CA/LC_CTYPE
-#usr/lib/locale/fr_CA/LC_IDENTIFICATION
-#usr/lib/locale/fr_CA/LC_MEASUREMENT
-#usr/lib/locale/fr_CA/LC_MESSAGES
-#usr/lib/locale/fr_CA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fr_CA/LC_MONETARY
-#usr/lib/locale/fr_CA/LC_NAME
-#usr/lib/locale/fr_CA/LC_NUMERIC
-#usr/lib/locale/fr_CA/LC_PAPER
-#usr/lib/locale/fr_CA/LC_TELEPHONE
-#usr/lib/locale/fr_CA/LC_TIME
-#usr/lib/locale/fr_CH
-#usr/lib/locale/fr_CH.utf8
-#usr/lib/locale/fr_CH.utf8/LC_ADDRESS
-#usr/lib/locale/fr_CH.utf8/LC_COLLATE
-#usr/lib/locale/fr_CH.utf8/LC_CTYPE
-#usr/lib/locale/fr_CH.utf8/LC_IDENTIFICATION
-#usr/lib/locale/fr_CH.utf8/LC_MEASUREMENT
-#usr/lib/locale/fr_CH.utf8/LC_MESSAGES
-#usr/lib/locale/fr_CH.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fr_CH.utf8/LC_MONETARY
-#usr/lib/locale/fr_CH.utf8/LC_NAME
-#usr/lib/locale/fr_CH.utf8/LC_NUMERIC
-#usr/lib/locale/fr_CH.utf8/LC_PAPER
-#usr/lib/locale/fr_CH.utf8/LC_TELEPHONE
-#usr/lib/locale/fr_CH.utf8/LC_TIME
-#usr/lib/locale/fr_CH/LC_ADDRESS
-#usr/lib/locale/fr_CH/LC_COLLATE
-#usr/lib/locale/fr_CH/LC_CTYPE
-#usr/lib/locale/fr_CH/LC_IDENTIFICATION
-#usr/lib/locale/fr_CH/LC_MEASUREMENT
-#usr/lib/locale/fr_CH/LC_MESSAGES
-#usr/lib/locale/fr_CH/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fr_CH/LC_MONETARY
-#usr/lib/locale/fr_CH/LC_NAME
-#usr/lib/locale/fr_CH/LC_NUMERIC
-#usr/lib/locale/fr_CH/LC_PAPER
-#usr/lib/locale/fr_CH/LC_TELEPHONE
-#usr/lib/locale/fr_CH/LC_TIME
-#usr/lib/locale/fr_FR
-#usr/lib/locale/fr_FR.utf8
-#usr/lib/locale/fr_FR.utf8/LC_ADDRESS
-#usr/lib/locale/fr_FR.utf8/LC_COLLATE
-#usr/lib/locale/fr_FR.utf8/LC_CTYPE
-#usr/lib/locale/fr_FR.utf8/LC_IDENTIFICATION
-#usr/lib/locale/fr_FR.utf8/LC_MEASUREMENT
-#usr/lib/locale/fr_FR.utf8/LC_MESSAGES
-#usr/lib/locale/fr_FR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fr_FR.utf8/LC_MONETARY
-#usr/lib/locale/fr_FR.utf8/LC_NAME
-#usr/lib/locale/fr_FR.utf8/LC_NUMERIC
-#usr/lib/locale/fr_FR.utf8/LC_PAPER
-#usr/lib/locale/fr_FR.utf8/LC_TELEPHONE
-#usr/lib/locale/fr_FR.utf8/LC_TIME
-#usr/lib/locale/fr_FR/LC_ADDRESS
-#usr/lib/locale/fr_FR/LC_COLLATE
-#usr/lib/locale/fr_FR/LC_CTYPE
-#usr/lib/locale/fr_FR/LC_IDENTIFICATION
-#usr/lib/locale/fr_FR/LC_MEASUREMENT
-#usr/lib/locale/fr_FR/LC_MESSAGES
-#usr/lib/locale/fr_FR/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fr_FR/LC_MONETARY
-#usr/lib/locale/fr_FR/LC_NAME
-#usr/lib/locale/fr_FR/LC_NUMERIC
-#usr/lib/locale/fr_FR/LC_PAPER
-#usr/lib/locale/fr_FR/LC_TELEPHONE
-#usr/lib/locale/fr_FR/LC_TIME
-#usr/lib/locale/fr_FR@euro
-#usr/lib/locale/fr_FR@euro/LC_ADDRESS
-#usr/lib/locale/fr_FR@euro/LC_COLLATE
-#usr/lib/locale/fr_FR@euro/LC_CTYPE
-#usr/lib/locale/fr_FR@euro/LC_IDENTIFICATION
-#usr/lib/locale/fr_FR@euro/LC_MEASUREMENT
-#usr/lib/locale/fr_FR@euro/LC_MESSAGES
-#usr/lib/locale/fr_FR@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fr_FR@euro/LC_MONETARY
-#usr/lib/locale/fr_FR@euro/LC_NAME
-#usr/lib/locale/fr_FR@euro/LC_NUMERIC
-#usr/lib/locale/fr_FR@euro/LC_PAPER
-#usr/lib/locale/fr_FR@euro/LC_TELEPHONE
-#usr/lib/locale/fr_FR@euro/LC_TIME
-#usr/lib/locale/fr_LU
-#usr/lib/locale/fr_LU.utf8
-#usr/lib/locale/fr_LU.utf8/LC_ADDRESS
-#usr/lib/locale/fr_LU.utf8/LC_COLLATE
-#usr/lib/locale/fr_LU.utf8/LC_CTYPE
-#usr/lib/locale/fr_LU.utf8/LC_IDENTIFICATION
-#usr/lib/locale/fr_LU.utf8/LC_MEASUREMENT
-#usr/lib/locale/fr_LU.utf8/LC_MESSAGES
-#usr/lib/locale/fr_LU.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fr_LU.utf8/LC_MONETARY
-#usr/lib/locale/fr_LU.utf8/LC_NAME
-#usr/lib/locale/fr_LU.utf8/LC_NUMERIC
-#usr/lib/locale/fr_LU.utf8/LC_PAPER
-#usr/lib/locale/fr_LU.utf8/LC_TELEPHONE
-#usr/lib/locale/fr_LU.utf8/LC_TIME
-#usr/lib/locale/fr_LU/LC_ADDRESS
-#usr/lib/locale/fr_LU/LC_COLLATE
-#usr/lib/locale/fr_LU/LC_CTYPE
-#usr/lib/locale/fr_LU/LC_IDENTIFICATION
-#usr/lib/locale/fr_LU/LC_MEASUREMENT
-#usr/lib/locale/fr_LU/LC_MESSAGES
-#usr/lib/locale/fr_LU/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fr_LU/LC_MONETARY
-#usr/lib/locale/fr_LU/LC_NAME
-#usr/lib/locale/fr_LU/LC_NUMERIC
-#usr/lib/locale/fr_LU/LC_PAPER
-#usr/lib/locale/fr_LU/LC_TELEPHONE
-#usr/lib/locale/fr_LU/LC_TIME
-#usr/lib/locale/fr_LU@euro
-#usr/lib/locale/fr_LU@euro/LC_ADDRESS
-#usr/lib/locale/fr_LU@euro/LC_COLLATE
-#usr/lib/locale/fr_LU@euro/LC_CTYPE
-#usr/lib/locale/fr_LU@euro/LC_IDENTIFICATION
-#usr/lib/locale/fr_LU@euro/LC_MEASUREMENT
-#usr/lib/locale/fr_LU@euro/LC_MESSAGES
-#usr/lib/locale/fr_LU@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fr_LU@euro/LC_MONETARY
-#usr/lib/locale/fr_LU@euro/LC_NAME
-#usr/lib/locale/fr_LU@euro/LC_NUMERIC
-#usr/lib/locale/fr_LU@euro/LC_PAPER
-#usr/lib/locale/fr_LU@euro/LC_TELEPHONE
-#usr/lib/locale/fr_LU@euro/LC_TIME
-#usr/lib/locale/fur_IT
-#usr/lib/locale/fur_IT/LC_ADDRESS
-#usr/lib/locale/fur_IT/LC_COLLATE
-#usr/lib/locale/fur_IT/LC_CTYPE
-#usr/lib/locale/fur_IT/LC_IDENTIFICATION
-#usr/lib/locale/fur_IT/LC_MEASUREMENT
-#usr/lib/locale/fur_IT/LC_MESSAGES
-#usr/lib/locale/fur_IT/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fur_IT/LC_MONETARY
-#usr/lib/locale/fur_IT/LC_NAME
-#usr/lib/locale/fur_IT/LC_NUMERIC
-#usr/lib/locale/fur_IT/LC_PAPER
-#usr/lib/locale/fur_IT/LC_TELEPHONE
-#usr/lib/locale/fur_IT/LC_TIME
-#usr/lib/locale/fy_DE
-#usr/lib/locale/fy_DE/LC_ADDRESS
-#usr/lib/locale/fy_DE/LC_COLLATE
-#usr/lib/locale/fy_DE/LC_CTYPE
-#usr/lib/locale/fy_DE/LC_IDENTIFICATION
-#usr/lib/locale/fy_DE/LC_MEASUREMENT
-#usr/lib/locale/fy_DE/LC_MESSAGES
-#usr/lib/locale/fy_DE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fy_DE/LC_MONETARY
-#usr/lib/locale/fy_DE/LC_NAME
-#usr/lib/locale/fy_DE/LC_NUMERIC
-#usr/lib/locale/fy_DE/LC_PAPER
-#usr/lib/locale/fy_DE/LC_TELEPHONE
-#usr/lib/locale/fy_DE/LC_TIME
-#usr/lib/locale/fy_NL
-#usr/lib/locale/fy_NL/LC_ADDRESS
-#usr/lib/locale/fy_NL/LC_COLLATE
-#usr/lib/locale/fy_NL/LC_CTYPE
-#usr/lib/locale/fy_NL/LC_IDENTIFICATION
-#usr/lib/locale/fy_NL/LC_MEASUREMENT
-#usr/lib/locale/fy_NL/LC_MESSAGES
-#usr/lib/locale/fy_NL/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/fy_NL/LC_MONETARY
-#usr/lib/locale/fy_NL/LC_NAME
-#usr/lib/locale/fy_NL/LC_NUMERIC
-#usr/lib/locale/fy_NL/LC_PAPER
-#usr/lib/locale/fy_NL/LC_TELEPHONE
-#usr/lib/locale/fy_NL/LC_TIME
-#usr/lib/locale/ga_IE
-#usr/lib/locale/ga_IE.utf8
-#usr/lib/locale/ga_IE.utf8/LC_ADDRESS
-#usr/lib/locale/ga_IE.utf8/LC_COLLATE
-#usr/lib/locale/ga_IE.utf8/LC_CTYPE
-#usr/lib/locale/ga_IE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ga_IE.utf8/LC_MEASUREMENT
-#usr/lib/locale/ga_IE.utf8/LC_MESSAGES
-#usr/lib/locale/ga_IE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ga_IE.utf8/LC_MONETARY
-#usr/lib/locale/ga_IE.utf8/LC_NAME
-#usr/lib/locale/ga_IE.utf8/LC_NUMERIC
-#usr/lib/locale/ga_IE.utf8/LC_PAPER
-#usr/lib/locale/ga_IE.utf8/LC_TELEPHONE
-#usr/lib/locale/ga_IE.utf8/LC_TIME
-#usr/lib/locale/ga_IE/LC_ADDRESS
-#usr/lib/locale/ga_IE/LC_COLLATE
-#usr/lib/locale/ga_IE/LC_CTYPE
-#usr/lib/locale/ga_IE/LC_IDENTIFICATION
-#usr/lib/locale/ga_IE/LC_MEASUREMENT
-#usr/lib/locale/ga_IE/LC_MESSAGES
-#usr/lib/locale/ga_IE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ga_IE/LC_MONETARY
-#usr/lib/locale/ga_IE/LC_NAME
-#usr/lib/locale/ga_IE/LC_NUMERIC
-#usr/lib/locale/ga_IE/LC_PAPER
-#usr/lib/locale/ga_IE/LC_TELEPHONE
-#usr/lib/locale/ga_IE/LC_TIME
-#usr/lib/locale/ga_IE@euro
-#usr/lib/locale/ga_IE@euro/LC_ADDRESS
-#usr/lib/locale/ga_IE@euro/LC_COLLATE
-#usr/lib/locale/ga_IE@euro/LC_CTYPE
-#usr/lib/locale/ga_IE@euro/LC_IDENTIFICATION
-#usr/lib/locale/ga_IE@euro/LC_MEASUREMENT
-#usr/lib/locale/ga_IE@euro/LC_MESSAGES
-#usr/lib/locale/ga_IE@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ga_IE@euro/LC_MONETARY
-#usr/lib/locale/ga_IE@euro/LC_NAME
-#usr/lib/locale/ga_IE@euro/LC_NUMERIC
-#usr/lib/locale/ga_IE@euro/LC_PAPER
-#usr/lib/locale/ga_IE@euro/LC_TELEPHONE
-#usr/lib/locale/ga_IE@euro/LC_TIME
-#usr/lib/locale/gd_GB
-#usr/lib/locale/gd_GB.utf8
-#usr/lib/locale/gd_GB.utf8/LC_ADDRESS
-#usr/lib/locale/gd_GB.utf8/LC_COLLATE
-#usr/lib/locale/gd_GB.utf8/LC_CTYPE
-#usr/lib/locale/gd_GB.utf8/LC_IDENTIFICATION
-#usr/lib/locale/gd_GB.utf8/LC_MEASUREMENT
-#usr/lib/locale/gd_GB.utf8/LC_MESSAGES
-#usr/lib/locale/gd_GB.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/gd_GB.utf8/LC_MONETARY
-#usr/lib/locale/gd_GB.utf8/LC_NAME
-#usr/lib/locale/gd_GB.utf8/LC_NUMERIC
-#usr/lib/locale/gd_GB.utf8/LC_PAPER
-#usr/lib/locale/gd_GB.utf8/LC_TELEPHONE
-#usr/lib/locale/gd_GB.utf8/LC_TIME
-#usr/lib/locale/gd_GB/LC_ADDRESS
-#usr/lib/locale/gd_GB/LC_COLLATE
-#usr/lib/locale/gd_GB/LC_CTYPE
-#usr/lib/locale/gd_GB/LC_IDENTIFICATION
-#usr/lib/locale/gd_GB/LC_MEASUREMENT
-#usr/lib/locale/gd_GB/LC_MESSAGES
-#usr/lib/locale/gd_GB/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/gd_GB/LC_MONETARY
-#usr/lib/locale/gd_GB/LC_NAME
-#usr/lib/locale/gd_GB/LC_NUMERIC
-#usr/lib/locale/gd_GB/LC_PAPER
-#usr/lib/locale/gd_GB/LC_TELEPHONE
-#usr/lib/locale/gd_GB/LC_TIME
-#usr/lib/locale/gez_ER
-#usr/lib/locale/gez_ER/LC_ADDRESS
-#usr/lib/locale/gez_ER/LC_COLLATE
-#usr/lib/locale/gez_ER/LC_CTYPE
-#usr/lib/locale/gez_ER/LC_IDENTIFICATION
-#usr/lib/locale/gez_ER/LC_MEASUREMENT
-#usr/lib/locale/gez_ER/LC_MESSAGES
-#usr/lib/locale/gez_ER/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/gez_ER/LC_MONETARY
-#usr/lib/locale/gez_ER/LC_NAME
-#usr/lib/locale/gez_ER/LC_NUMERIC
-#usr/lib/locale/gez_ER/LC_PAPER
-#usr/lib/locale/gez_ER/LC_TELEPHONE
-#usr/lib/locale/gez_ER/LC_TIME
-#usr/lib/locale/gez_ER@abegede
-#usr/lib/locale/gez_ER@abegede/LC_ADDRESS
-#usr/lib/locale/gez_ER@abegede/LC_COLLATE
-#usr/lib/locale/gez_ER@abegede/LC_CTYPE
-#usr/lib/locale/gez_ER@abegede/LC_IDENTIFICATION
-#usr/lib/locale/gez_ER@abegede/LC_MEASUREMENT
-#usr/lib/locale/gez_ER@abegede/LC_MESSAGES
-#usr/lib/locale/gez_ER@abegede/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/gez_ER@abegede/LC_MONETARY
-#usr/lib/locale/gez_ER@abegede/LC_NAME
-#usr/lib/locale/gez_ER@abegede/LC_NUMERIC
-#usr/lib/locale/gez_ER@abegede/LC_PAPER
-#usr/lib/locale/gez_ER@abegede/LC_TELEPHONE
-#usr/lib/locale/gez_ER@abegede/LC_TIME
-#usr/lib/locale/gez_ET
-#usr/lib/locale/gez_ET/LC_ADDRESS
-#usr/lib/locale/gez_ET/LC_COLLATE
-#usr/lib/locale/gez_ET/LC_CTYPE
-#usr/lib/locale/gez_ET/LC_IDENTIFICATION
-#usr/lib/locale/gez_ET/LC_MEASUREMENT
-#usr/lib/locale/gez_ET/LC_MESSAGES
-#usr/lib/locale/gez_ET/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/gez_ET/LC_MONETARY
-#usr/lib/locale/gez_ET/LC_NAME
-#usr/lib/locale/gez_ET/LC_NUMERIC
-#usr/lib/locale/gez_ET/LC_PAPER
-#usr/lib/locale/gez_ET/LC_TELEPHONE
-#usr/lib/locale/gez_ET/LC_TIME
-#usr/lib/locale/gez_ET@abegede
-#usr/lib/locale/gez_ET@abegede/LC_ADDRESS
-#usr/lib/locale/gez_ET@abegede/LC_COLLATE
-#usr/lib/locale/gez_ET@abegede/LC_CTYPE
-#usr/lib/locale/gez_ET@abegede/LC_IDENTIFICATION
-#usr/lib/locale/gez_ET@abegede/LC_MEASUREMENT
-#usr/lib/locale/gez_ET@abegede/LC_MESSAGES
-#usr/lib/locale/gez_ET@abegede/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/gez_ET@abegede/LC_MONETARY
-#usr/lib/locale/gez_ET@abegede/LC_NAME
-#usr/lib/locale/gez_ET@abegede/LC_NUMERIC
-#usr/lib/locale/gez_ET@abegede/LC_PAPER
-#usr/lib/locale/gez_ET@abegede/LC_TELEPHONE
-#usr/lib/locale/gez_ET@abegede/LC_TIME
-#usr/lib/locale/gl_ES
-#usr/lib/locale/gl_ES.utf8
-#usr/lib/locale/gl_ES.utf8/LC_ADDRESS
-#usr/lib/locale/gl_ES.utf8/LC_COLLATE
-#usr/lib/locale/gl_ES.utf8/LC_CTYPE
-#usr/lib/locale/gl_ES.utf8/LC_IDENTIFICATION
-#usr/lib/locale/gl_ES.utf8/LC_MEASUREMENT
-#usr/lib/locale/gl_ES.utf8/LC_MESSAGES
-#usr/lib/locale/gl_ES.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/gl_ES.utf8/LC_MONETARY
-#usr/lib/locale/gl_ES.utf8/LC_NAME
-#usr/lib/locale/gl_ES.utf8/LC_NUMERIC
-#usr/lib/locale/gl_ES.utf8/LC_PAPER
-#usr/lib/locale/gl_ES.utf8/LC_TELEPHONE
-#usr/lib/locale/gl_ES.utf8/LC_TIME
-#usr/lib/locale/gl_ES/LC_ADDRESS
-#usr/lib/locale/gl_ES/LC_COLLATE
-#usr/lib/locale/gl_ES/LC_CTYPE
-#usr/lib/locale/gl_ES/LC_IDENTIFICATION
-#usr/lib/locale/gl_ES/LC_MEASUREMENT
-#usr/lib/locale/gl_ES/LC_MESSAGES
-#usr/lib/locale/gl_ES/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/gl_ES/LC_MONETARY
-#usr/lib/locale/gl_ES/LC_NAME
-#usr/lib/locale/gl_ES/LC_NUMERIC
-#usr/lib/locale/gl_ES/LC_PAPER
-#usr/lib/locale/gl_ES/LC_TELEPHONE
-#usr/lib/locale/gl_ES/LC_TIME
-#usr/lib/locale/gl_ES@euro
-#usr/lib/locale/gl_ES@euro/LC_ADDRESS
-#usr/lib/locale/gl_ES@euro/LC_COLLATE
-#usr/lib/locale/gl_ES@euro/LC_CTYPE
-#usr/lib/locale/gl_ES@euro/LC_IDENTIFICATION
-#usr/lib/locale/gl_ES@euro/LC_MEASUREMENT
-#usr/lib/locale/gl_ES@euro/LC_MESSAGES
-#usr/lib/locale/gl_ES@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/gl_ES@euro/LC_MONETARY
-#usr/lib/locale/gl_ES@euro/LC_NAME
-#usr/lib/locale/gl_ES@euro/LC_NUMERIC
-#usr/lib/locale/gl_ES@euro/LC_PAPER
-#usr/lib/locale/gl_ES@euro/LC_TELEPHONE
-#usr/lib/locale/gl_ES@euro/LC_TIME
-#usr/lib/locale/gu_IN
-#usr/lib/locale/gu_IN/LC_ADDRESS
-#usr/lib/locale/gu_IN/LC_COLLATE
-#usr/lib/locale/gu_IN/LC_CTYPE
-#usr/lib/locale/gu_IN/LC_IDENTIFICATION
-#usr/lib/locale/gu_IN/LC_MEASUREMENT
-#usr/lib/locale/gu_IN/LC_MESSAGES
-#usr/lib/locale/gu_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/gu_IN/LC_MONETARY
-#usr/lib/locale/gu_IN/LC_NAME
-#usr/lib/locale/gu_IN/LC_NUMERIC
-#usr/lib/locale/gu_IN/LC_PAPER
-#usr/lib/locale/gu_IN/LC_TELEPHONE
-#usr/lib/locale/gu_IN/LC_TIME
-#usr/lib/locale/gv_GB
-#usr/lib/locale/gv_GB.utf8
-#usr/lib/locale/gv_GB.utf8/LC_ADDRESS
-#usr/lib/locale/gv_GB.utf8/LC_COLLATE
-#usr/lib/locale/gv_GB.utf8/LC_CTYPE
-#usr/lib/locale/gv_GB.utf8/LC_IDENTIFICATION
-#usr/lib/locale/gv_GB.utf8/LC_MEASUREMENT
-#usr/lib/locale/gv_GB.utf8/LC_MESSAGES
-#usr/lib/locale/gv_GB.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/gv_GB.utf8/LC_MONETARY
-#usr/lib/locale/gv_GB.utf8/LC_NAME
-#usr/lib/locale/gv_GB.utf8/LC_NUMERIC
-#usr/lib/locale/gv_GB.utf8/LC_PAPER
-#usr/lib/locale/gv_GB.utf8/LC_TELEPHONE
-#usr/lib/locale/gv_GB.utf8/LC_TIME
-#usr/lib/locale/gv_GB/LC_ADDRESS
-#usr/lib/locale/gv_GB/LC_COLLATE
-#usr/lib/locale/gv_GB/LC_CTYPE
-#usr/lib/locale/gv_GB/LC_IDENTIFICATION
-#usr/lib/locale/gv_GB/LC_MEASUREMENT
-#usr/lib/locale/gv_GB/LC_MESSAGES
-#usr/lib/locale/gv_GB/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/gv_GB/LC_MONETARY
-#usr/lib/locale/gv_GB/LC_NAME
-#usr/lib/locale/gv_GB/LC_NUMERIC
-#usr/lib/locale/gv_GB/LC_PAPER
-#usr/lib/locale/gv_GB/LC_TELEPHONE
-#usr/lib/locale/gv_GB/LC_TIME
-#usr/lib/locale/ha_NG
-#usr/lib/locale/ha_NG/LC_ADDRESS
-#usr/lib/locale/ha_NG/LC_COLLATE
-#usr/lib/locale/ha_NG/LC_CTYPE
-#usr/lib/locale/ha_NG/LC_IDENTIFICATION
-#usr/lib/locale/ha_NG/LC_MEASUREMENT
-#usr/lib/locale/ha_NG/LC_MESSAGES
-#usr/lib/locale/ha_NG/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ha_NG/LC_MONETARY
-#usr/lib/locale/ha_NG/LC_NAME
-#usr/lib/locale/ha_NG/LC_NUMERIC
-#usr/lib/locale/ha_NG/LC_PAPER
-#usr/lib/locale/ha_NG/LC_TELEPHONE
-#usr/lib/locale/ha_NG/LC_TIME
-#usr/lib/locale/he_IL
-#usr/lib/locale/he_IL.utf8
-#usr/lib/locale/he_IL.utf8/LC_ADDRESS
-#usr/lib/locale/he_IL.utf8/LC_COLLATE
-#usr/lib/locale/he_IL.utf8/LC_CTYPE
-#usr/lib/locale/he_IL.utf8/LC_IDENTIFICATION
-#usr/lib/locale/he_IL.utf8/LC_MEASUREMENT
-#usr/lib/locale/he_IL.utf8/LC_MESSAGES
-#usr/lib/locale/he_IL.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/he_IL.utf8/LC_MONETARY
-#usr/lib/locale/he_IL.utf8/LC_NAME
-#usr/lib/locale/he_IL.utf8/LC_NUMERIC
-#usr/lib/locale/he_IL.utf8/LC_PAPER
-#usr/lib/locale/he_IL.utf8/LC_TELEPHONE
-#usr/lib/locale/he_IL.utf8/LC_TIME
-#usr/lib/locale/he_IL/LC_ADDRESS
-#usr/lib/locale/he_IL/LC_COLLATE
-#usr/lib/locale/he_IL/LC_CTYPE
-#usr/lib/locale/he_IL/LC_IDENTIFICATION
-#usr/lib/locale/he_IL/LC_MEASUREMENT
-#usr/lib/locale/he_IL/LC_MESSAGES
-#usr/lib/locale/he_IL/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/he_IL/LC_MONETARY
-#usr/lib/locale/he_IL/LC_NAME
-#usr/lib/locale/he_IL/LC_NUMERIC
-#usr/lib/locale/he_IL/LC_PAPER
-#usr/lib/locale/he_IL/LC_TELEPHONE
-#usr/lib/locale/he_IL/LC_TIME
-#usr/lib/locale/hi_IN
-#usr/lib/locale/hi_IN/LC_ADDRESS
-#usr/lib/locale/hi_IN/LC_COLLATE
-#usr/lib/locale/hi_IN/LC_CTYPE
-#usr/lib/locale/hi_IN/LC_IDENTIFICATION
-#usr/lib/locale/hi_IN/LC_MEASUREMENT
-#usr/lib/locale/hi_IN/LC_MESSAGES
-#usr/lib/locale/hi_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/hi_IN/LC_MONETARY
-#usr/lib/locale/hi_IN/LC_NAME
-#usr/lib/locale/hi_IN/LC_NUMERIC
-#usr/lib/locale/hi_IN/LC_PAPER
-#usr/lib/locale/hi_IN/LC_TELEPHONE
-#usr/lib/locale/hi_IN/LC_TIME
-#usr/lib/locale/hne_IN
-#usr/lib/locale/hne_IN/LC_ADDRESS
-#usr/lib/locale/hne_IN/LC_COLLATE
-#usr/lib/locale/hne_IN/LC_CTYPE
-#usr/lib/locale/hne_IN/LC_IDENTIFICATION
-#usr/lib/locale/hne_IN/LC_MEASUREMENT
-#usr/lib/locale/hne_IN/LC_MESSAGES
-#usr/lib/locale/hne_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/hne_IN/LC_MONETARY
-#usr/lib/locale/hne_IN/LC_NAME
-#usr/lib/locale/hne_IN/LC_NUMERIC
-#usr/lib/locale/hne_IN/LC_PAPER
-#usr/lib/locale/hne_IN/LC_TELEPHONE
-#usr/lib/locale/hne_IN/LC_TIME
-#usr/lib/locale/hr_HR
-#usr/lib/locale/hr_HR.utf8
-#usr/lib/locale/hr_HR.utf8/LC_ADDRESS
-#usr/lib/locale/hr_HR.utf8/LC_COLLATE
-#usr/lib/locale/hr_HR.utf8/LC_CTYPE
-#usr/lib/locale/hr_HR.utf8/LC_IDENTIFICATION
-#usr/lib/locale/hr_HR.utf8/LC_MEASUREMENT
-#usr/lib/locale/hr_HR.utf8/LC_MESSAGES
-#usr/lib/locale/hr_HR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/hr_HR.utf8/LC_MONETARY
-#usr/lib/locale/hr_HR.utf8/LC_NAME
-#usr/lib/locale/hr_HR.utf8/LC_NUMERIC
-#usr/lib/locale/hr_HR.utf8/LC_PAPER
-#usr/lib/locale/hr_HR.utf8/LC_TELEPHONE
-#usr/lib/locale/hr_HR.utf8/LC_TIME
-#usr/lib/locale/hr_HR/LC_ADDRESS
-#usr/lib/locale/hr_HR/LC_COLLATE
-#usr/lib/locale/hr_HR/LC_CTYPE
-#usr/lib/locale/hr_HR/LC_IDENTIFICATION
-#usr/lib/locale/hr_HR/LC_MEASUREMENT
-#usr/lib/locale/hr_HR/LC_MESSAGES
-#usr/lib/locale/hr_HR/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/hr_HR/LC_MONETARY
-#usr/lib/locale/hr_HR/LC_NAME
-#usr/lib/locale/hr_HR/LC_NUMERIC
-#usr/lib/locale/hr_HR/LC_PAPER
-#usr/lib/locale/hr_HR/LC_TELEPHONE
-#usr/lib/locale/hr_HR/LC_TIME
-#usr/lib/locale/hsb_DE
-#usr/lib/locale/hsb_DE.utf8
-#usr/lib/locale/hsb_DE.utf8/LC_ADDRESS
-#usr/lib/locale/hsb_DE.utf8/LC_COLLATE
-#usr/lib/locale/hsb_DE.utf8/LC_CTYPE
-#usr/lib/locale/hsb_DE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/hsb_DE.utf8/LC_MEASUREMENT
-#usr/lib/locale/hsb_DE.utf8/LC_MESSAGES
-#usr/lib/locale/hsb_DE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/hsb_DE.utf8/LC_MONETARY
-#usr/lib/locale/hsb_DE.utf8/LC_NAME
-#usr/lib/locale/hsb_DE.utf8/LC_NUMERIC
-#usr/lib/locale/hsb_DE.utf8/LC_PAPER
-#usr/lib/locale/hsb_DE.utf8/LC_TELEPHONE
-#usr/lib/locale/hsb_DE.utf8/LC_TIME
-#usr/lib/locale/hsb_DE/LC_ADDRESS
-#usr/lib/locale/hsb_DE/LC_COLLATE
-#usr/lib/locale/hsb_DE/LC_CTYPE
-#usr/lib/locale/hsb_DE/LC_IDENTIFICATION
-#usr/lib/locale/hsb_DE/LC_MEASUREMENT
-#usr/lib/locale/hsb_DE/LC_MESSAGES
-#usr/lib/locale/hsb_DE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/hsb_DE/LC_MONETARY
-#usr/lib/locale/hsb_DE/LC_NAME
-#usr/lib/locale/hsb_DE/LC_NUMERIC
-#usr/lib/locale/hsb_DE/LC_PAPER
-#usr/lib/locale/hsb_DE/LC_TELEPHONE
-#usr/lib/locale/hsb_DE/LC_TIME
-#usr/lib/locale/ht_HT
-#usr/lib/locale/ht_HT/LC_ADDRESS
-#usr/lib/locale/ht_HT/LC_COLLATE
-#usr/lib/locale/ht_HT/LC_CTYPE
-#usr/lib/locale/ht_HT/LC_IDENTIFICATION
-#usr/lib/locale/ht_HT/LC_MEASUREMENT
-#usr/lib/locale/ht_HT/LC_MESSAGES
-#usr/lib/locale/ht_HT/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ht_HT/LC_MONETARY
-#usr/lib/locale/ht_HT/LC_NAME
-#usr/lib/locale/ht_HT/LC_NUMERIC
-#usr/lib/locale/ht_HT/LC_PAPER
-#usr/lib/locale/ht_HT/LC_TELEPHONE
-#usr/lib/locale/ht_HT/LC_TIME
-#usr/lib/locale/hu_HU
-#usr/lib/locale/hu_HU.utf8
-#usr/lib/locale/hu_HU.utf8/LC_ADDRESS
-#usr/lib/locale/hu_HU.utf8/LC_COLLATE
-#usr/lib/locale/hu_HU.utf8/LC_CTYPE
-#usr/lib/locale/hu_HU.utf8/LC_IDENTIFICATION
-#usr/lib/locale/hu_HU.utf8/LC_MEASUREMENT
-#usr/lib/locale/hu_HU.utf8/LC_MESSAGES
-#usr/lib/locale/hu_HU.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/hu_HU.utf8/LC_MONETARY
-#usr/lib/locale/hu_HU.utf8/LC_NAME
-#usr/lib/locale/hu_HU.utf8/LC_NUMERIC
-#usr/lib/locale/hu_HU.utf8/LC_PAPER
-#usr/lib/locale/hu_HU.utf8/LC_TELEPHONE
-#usr/lib/locale/hu_HU.utf8/LC_TIME
-#usr/lib/locale/hu_HU/LC_ADDRESS
-#usr/lib/locale/hu_HU/LC_COLLATE
-#usr/lib/locale/hu_HU/LC_CTYPE
-#usr/lib/locale/hu_HU/LC_IDENTIFICATION
-#usr/lib/locale/hu_HU/LC_MEASUREMENT
-#usr/lib/locale/hu_HU/LC_MESSAGES
-#usr/lib/locale/hu_HU/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/hu_HU/LC_MONETARY
-#usr/lib/locale/hu_HU/LC_NAME
-#usr/lib/locale/hu_HU/LC_NUMERIC
-#usr/lib/locale/hu_HU/LC_PAPER
-#usr/lib/locale/hu_HU/LC_TELEPHONE
-#usr/lib/locale/hu_HU/LC_TIME
-#usr/lib/locale/hy_AM
-#usr/lib/locale/hy_AM.armscii8
-#usr/lib/locale/hy_AM.armscii8/LC_ADDRESS
-#usr/lib/locale/hy_AM.armscii8/LC_COLLATE
-#usr/lib/locale/hy_AM.armscii8/LC_CTYPE
-#usr/lib/locale/hy_AM.armscii8/LC_IDENTIFICATION
-#usr/lib/locale/hy_AM.armscii8/LC_MEASUREMENT
-#usr/lib/locale/hy_AM.armscii8/LC_MESSAGES
-#usr/lib/locale/hy_AM.armscii8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/hy_AM.armscii8/LC_MONETARY
-#usr/lib/locale/hy_AM.armscii8/LC_NAME
-#usr/lib/locale/hy_AM.armscii8/LC_NUMERIC
-#usr/lib/locale/hy_AM.armscii8/LC_PAPER
-#usr/lib/locale/hy_AM.armscii8/LC_TELEPHONE
-#usr/lib/locale/hy_AM.armscii8/LC_TIME
-#usr/lib/locale/hy_AM/LC_ADDRESS
-#usr/lib/locale/hy_AM/LC_COLLATE
-#usr/lib/locale/hy_AM/LC_CTYPE
-#usr/lib/locale/hy_AM/LC_IDENTIFICATION
-#usr/lib/locale/hy_AM/LC_MEASUREMENT
-#usr/lib/locale/hy_AM/LC_MESSAGES
-#usr/lib/locale/hy_AM/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/hy_AM/LC_MONETARY
-#usr/lib/locale/hy_AM/LC_NAME
-#usr/lib/locale/hy_AM/LC_NUMERIC
-#usr/lib/locale/hy_AM/LC_PAPER
-#usr/lib/locale/hy_AM/LC_TELEPHONE
-#usr/lib/locale/hy_AM/LC_TIME
-#usr/lib/locale/id_ID
-#usr/lib/locale/id_ID.utf8
-#usr/lib/locale/id_ID.utf8/LC_ADDRESS
-#usr/lib/locale/id_ID.utf8/LC_COLLATE
-#usr/lib/locale/id_ID.utf8/LC_CTYPE
-#usr/lib/locale/id_ID.utf8/LC_IDENTIFICATION
-#usr/lib/locale/id_ID.utf8/LC_MEASUREMENT
-#usr/lib/locale/id_ID.utf8/LC_MESSAGES
-#usr/lib/locale/id_ID.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/id_ID.utf8/LC_MONETARY
-#usr/lib/locale/id_ID.utf8/LC_NAME
-#usr/lib/locale/id_ID.utf8/LC_NUMERIC
-#usr/lib/locale/id_ID.utf8/LC_PAPER
-#usr/lib/locale/id_ID.utf8/LC_TELEPHONE
-#usr/lib/locale/id_ID.utf8/LC_TIME
-#usr/lib/locale/id_ID/LC_ADDRESS
-#usr/lib/locale/id_ID/LC_COLLATE
-#usr/lib/locale/id_ID/LC_CTYPE
-#usr/lib/locale/id_ID/LC_IDENTIFICATION
-#usr/lib/locale/id_ID/LC_MEASUREMENT
-#usr/lib/locale/id_ID/LC_MESSAGES
-#usr/lib/locale/id_ID/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/id_ID/LC_MONETARY
-#usr/lib/locale/id_ID/LC_NAME
-#usr/lib/locale/id_ID/LC_NUMERIC
-#usr/lib/locale/id_ID/LC_PAPER
-#usr/lib/locale/id_ID/LC_TELEPHONE
-#usr/lib/locale/id_ID/LC_TIME
-#usr/lib/locale/ig_NG
-#usr/lib/locale/ig_NG/LC_ADDRESS
-#usr/lib/locale/ig_NG/LC_COLLATE
-#usr/lib/locale/ig_NG/LC_CTYPE
-#usr/lib/locale/ig_NG/LC_IDENTIFICATION
-#usr/lib/locale/ig_NG/LC_MEASUREMENT
-#usr/lib/locale/ig_NG/LC_MESSAGES
-#usr/lib/locale/ig_NG/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ig_NG/LC_MONETARY
-#usr/lib/locale/ig_NG/LC_NAME
-#usr/lib/locale/ig_NG/LC_NUMERIC
-#usr/lib/locale/ig_NG/LC_PAPER
-#usr/lib/locale/ig_NG/LC_TELEPHONE
-#usr/lib/locale/ig_NG/LC_TIME
-#usr/lib/locale/ik_CA
-#usr/lib/locale/ik_CA/LC_ADDRESS
-#usr/lib/locale/ik_CA/LC_COLLATE
-#usr/lib/locale/ik_CA/LC_CTYPE
-#usr/lib/locale/ik_CA/LC_IDENTIFICATION
-#usr/lib/locale/ik_CA/LC_MEASUREMENT
-#usr/lib/locale/ik_CA/LC_MESSAGES
-#usr/lib/locale/ik_CA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ik_CA/LC_MONETARY
-#usr/lib/locale/ik_CA/LC_NAME
-#usr/lib/locale/ik_CA/LC_NUMERIC
-#usr/lib/locale/ik_CA/LC_PAPER
-#usr/lib/locale/ik_CA/LC_TELEPHONE
-#usr/lib/locale/ik_CA/LC_TIME
-#usr/lib/locale/is_IS
-#usr/lib/locale/is_IS.utf8
-#usr/lib/locale/is_IS.utf8/LC_ADDRESS
-#usr/lib/locale/is_IS.utf8/LC_COLLATE
-#usr/lib/locale/is_IS.utf8/LC_CTYPE
-#usr/lib/locale/is_IS.utf8/LC_IDENTIFICATION
-#usr/lib/locale/is_IS.utf8/LC_MEASUREMENT
-#usr/lib/locale/is_IS.utf8/LC_MESSAGES
-#usr/lib/locale/is_IS.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/is_IS.utf8/LC_MONETARY
-#usr/lib/locale/is_IS.utf8/LC_NAME
-#usr/lib/locale/is_IS.utf8/LC_NUMERIC
-#usr/lib/locale/is_IS.utf8/LC_PAPER
-#usr/lib/locale/is_IS.utf8/LC_TELEPHONE
-#usr/lib/locale/is_IS.utf8/LC_TIME
-#usr/lib/locale/is_IS/LC_ADDRESS
-#usr/lib/locale/is_IS/LC_COLLATE
-#usr/lib/locale/is_IS/LC_CTYPE
-#usr/lib/locale/is_IS/LC_IDENTIFICATION
-#usr/lib/locale/is_IS/LC_MEASUREMENT
-#usr/lib/locale/is_IS/LC_MESSAGES
-#usr/lib/locale/is_IS/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/is_IS/LC_MONETARY
-#usr/lib/locale/is_IS/LC_NAME
-#usr/lib/locale/is_IS/LC_NUMERIC
-#usr/lib/locale/is_IS/LC_PAPER
-#usr/lib/locale/is_IS/LC_TELEPHONE
-#usr/lib/locale/is_IS/LC_TIME
-#usr/lib/locale/it_CH
-#usr/lib/locale/it_CH.utf8
-#usr/lib/locale/it_CH.utf8/LC_ADDRESS
-#usr/lib/locale/it_CH.utf8/LC_COLLATE
-#usr/lib/locale/it_CH.utf8/LC_CTYPE
-#usr/lib/locale/it_CH.utf8/LC_IDENTIFICATION
-#usr/lib/locale/it_CH.utf8/LC_MEASUREMENT
-#usr/lib/locale/it_CH.utf8/LC_MESSAGES
-#usr/lib/locale/it_CH.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/it_CH.utf8/LC_MONETARY
-#usr/lib/locale/it_CH.utf8/LC_NAME
-#usr/lib/locale/it_CH.utf8/LC_NUMERIC
-#usr/lib/locale/it_CH.utf8/LC_PAPER
-#usr/lib/locale/it_CH.utf8/LC_TELEPHONE
-#usr/lib/locale/it_CH.utf8/LC_TIME
-#usr/lib/locale/it_CH/LC_ADDRESS
-#usr/lib/locale/it_CH/LC_COLLATE
-#usr/lib/locale/it_CH/LC_CTYPE
-#usr/lib/locale/it_CH/LC_IDENTIFICATION
-#usr/lib/locale/it_CH/LC_MEASUREMENT
-#usr/lib/locale/it_CH/LC_MESSAGES
-#usr/lib/locale/it_CH/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/it_CH/LC_MONETARY
-#usr/lib/locale/it_CH/LC_NAME
-#usr/lib/locale/it_CH/LC_NUMERIC
-#usr/lib/locale/it_CH/LC_PAPER
-#usr/lib/locale/it_CH/LC_TELEPHONE
-#usr/lib/locale/it_CH/LC_TIME
-#usr/lib/locale/it_IT
-#usr/lib/locale/it_IT.utf8
-#usr/lib/locale/it_IT.utf8/LC_ADDRESS
-#usr/lib/locale/it_IT.utf8/LC_COLLATE
-#usr/lib/locale/it_IT.utf8/LC_CTYPE
-#usr/lib/locale/it_IT.utf8/LC_IDENTIFICATION
-#usr/lib/locale/it_IT.utf8/LC_MEASUREMENT
-#usr/lib/locale/it_IT.utf8/LC_MESSAGES
-#usr/lib/locale/it_IT.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/it_IT.utf8/LC_MONETARY
-#usr/lib/locale/it_IT.utf8/LC_NAME
-#usr/lib/locale/it_IT.utf8/LC_NUMERIC
-#usr/lib/locale/it_IT.utf8/LC_PAPER
-#usr/lib/locale/it_IT.utf8/LC_TELEPHONE
-#usr/lib/locale/it_IT.utf8/LC_TIME
-#usr/lib/locale/it_IT/LC_ADDRESS
-#usr/lib/locale/it_IT/LC_COLLATE
-#usr/lib/locale/it_IT/LC_CTYPE
-#usr/lib/locale/it_IT/LC_IDENTIFICATION
-#usr/lib/locale/it_IT/LC_MEASUREMENT
-#usr/lib/locale/it_IT/LC_MESSAGES
-#usr/lib/locale/it_IT/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/it_IT/LC_MONETARY
-#usr/lib/locale/it_IT/LC_NAME
-#usr/lib/locale/it_IT/LC_NUMERIC
-#usr/lib/locale/it_IT/LC_PAPER
-#usr/lib/locale/it_IT/LC_TELEPHONE
-#usr/lib/locale/it_IT/LC_TIME
-#usr/lib/locale/it_IT@euro
-#usr/lib/locale/it_IT@euro/LC_ADDRESS
-#usr/lib/locale/it_IT@euro/LC_COLLATE
-#usr/lib/locale/it_IT@euro/LC_CTYPE
-#usr/lib/locale/it_IT@euro/LC_IDENTIFICATION
-#usr/lib/locale/it_IT@euro/LC_MEASUREMENT
-#usr/lib/locale/it_IT@euro/LC_MESSAGES
-#usr/lib/locale/it_IT@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/it_IT@euro/LC_MONETARY
-#usr/lib/locale/it_IT@euro/LC_NAME
-#usr/lib/locale/it_IT@euro/LC_NUMERIC
-#usr/lib/locale/it_IT@euro/LC_PAPER
-#usr/lib/locale/it_IT@euro/LC_TELEPHONE
-#usr/lib/locale/it_IT@euro/LC_TIME
-#usr/lib/locale/iu_CA
-#usr/lib/locale/iu_CA/LC_ADDRESS
-#usr/lib/locale/iu_CA/LC_COLLATE
-#usr/lib/locale/iu_CA/LC_CTYPE
-#usr/lib/locale/iu_CA/LC_IDENTIFICATION
-#usr/lib/locale/iu_CA/LC_MEASUREMENT
-#usr/lib/locale/iu_CA/LC_MESSAGES
-#usr/lib/locale/iu_CA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/iu_CA/LC_MONETARY
-#usr/lib/locale/iu_CA/LC_NAME
-#usr/lib/locale/iu_CA/LC_NUMERIC
-#usr/lib/locale/iu_CA/LC_PAPER
-#usr/lib/locale/iu_CA/LC_TELEPHONE
-#usr/lib/locale/iu_CA/LC_TIME
-#usr/lib/locale/iw_IL
-#usr/lib/locale/iw_IL.utf8
-#usr/lib/locale/iw_IL.utf8/LC_ADDRESS
-#usr/lib/locale/iw_IL.utf8/LC_COLLATE
-#usr/lib/locale/iw_IL.utf8/LC_CTYPE
-#usr/lib/locale/iw_IL.utf8/LC_IDENTIFICATION
-#usr/lib/locale/iw_IL.utf8/LC_MEASUREMENT
-#usr/lib/locale/iw_IL.utf8/LC_MESSAGES
-#usr/lib/locale/iw_IL.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/iw_IL.utf8/LC_MONETARY
-#usr/lib/locale/iw_IL.utf8/LC_NAME
-#usr/lib/locale/iw_IL.utf8/LC_NUMERIC
-#usr/lib/locale/iw_IL.utf8/LC_PAPER
-#usr/lib/locale/iw_IL.utf8/LC_TELEPHONE
-#usr/lib/locale/iw_IL.utf8/LC_TIME
-#usr/lib/locale/iw_IL/LC_ADDRESS
-#usr/lib/locale/iw_IL/LC_COLLATE
-#usr/lib/locale/iw_IL/LC_CTYPE
-#usr/lib/locale/iw_IL/LC_IDENTIFICATION
-#usr/lib/locale/iw_IL/LC_MEASUREMENT
-#usr/lib/locale/iw_IL/LC_MESSAGES
-#usr/lib/locale/iw_IL/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/iw_IL/LC_MONETARY
-#usr/lib/locale/iw_IL/LC_NAME
-#usr/lib/locale/iw_IL/LC_NUMERIC
-#usr/lib/locale/iw_IL/LC_PAPER
-#usr/lib/locale/iw_IL/LC_TELEPHONE
-#usr/lib/locale/iw_IL/LC_TIME
-#usr/lib/locale/ja_JP.eucjp
-#usr/lib/locale/ja_JP.eucjp/LC_ADDRESS
-#usr/lib/locale/ja_JP.eucjp/LC_COLLATE
-#usr/lib/locale/ja_JP.eucjp/LC_CTYPE
-#usr/lib/locale/ja_JP.eucjp/LC_IDENTIFICATION
-#usr/lib/locale/ja_JP.eucjp/LC_MEASUREMENT
-#usr/lib/locale/ja_JP.eucjp/LC_MESSAGES
-#usr/lib/locale/ja_JP.eucjp/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ja_JP.eucjp/LC_MONETARY
-#usr/lib/locale/ja_JP.eucjp/LC_NAME
-#usr/lib/locale/ja_JP.eucjp/LC_NUMERIC
-#usr/lib/locale/ja_JP.eucjp/LC_PAPER
-#usr/lib/locale/ja_JP.eucjp/LC_TELEPHONE
-#usr/lib/locale/ja_JP.eucjp/LC_TIME
-#usr/lib/locale/ja_JP.utf8
-#usr/lib/locale/ja_JP.utf8/LC_ADDRESS
-#usr/lib/locale/ja_JP.utf8/LC_COLLATE
-#usr/lib/locale/ja_JP.utf8/LC_CTYPE
-#usr/lib/locale/ja_JP.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ja_JP.utf8/LC_MEASUREMENT
-#usr/lib/locale/ja_JP.utf8/LC_MESSAGES
-#usr/lib/locale/ja_JP.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ja_JP.utf8/LC_MONETARY
-#usr/lib/locale/ja_JP.utf8/LC_NAME
-#usr/lib/locale/ja_JP.utf8/LC_NUMERIC
-#usr/lib/locale/ja_JP.utf8/LC_PAPER
-#usr/lib/locale/ja_JP.utf8/LC_TELEPHONE
-#usr/lib/locale/ja_JP.utf8/LC_TIME
-#usr/lib/locale/ka_GE
-#usr/lib/locale/ka_GE.utf8
-#usr/lib/locale/ka_GE.utf8/LC_ADDRESS
-#usr/lib/locale/ka_GE.utf8/LC_COLLATE
-#usr/lib/locale/ka_GE.utf8/LC_CTYPE
-#usr/lib/locale/ka_GE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ka_GE.utf8/LC_MEASUREMENT
-#usr/lib/locale/ka_GE.utf8/LC_MESSAGES
-#usr/lib/locale/ka_GE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ka_GE.utf8/LC_MONETARY
-#usr/lib/locale/ka_GE.utf8/LC_NAME
-#usr/lib/locale/ka_GE.utf8/LC_NUMERIC
-#usr/lib/locale/ka_GE.utf8/LC_PAPER
-#usr/lib/locale/ka_GE.utf8/LC_TELEPHONE
-#usr/lib/locale/ka_GE.utf8/LC_TIME
-#usr/lib/locale/ka_GE/LC_ADDRESS
-#usr/lib/locale/ka_GE/LC_COLLATE
-#usr/lib/locale/ka_GE/LC_CTYPE
-#usr/lib/locale/ka_GE/LC_IDENTIFICATION
-#usr/lib/locale/ka_GE/LC_MEASUREMENT
-#usr/lib/locale/ka_GE/LC_MESSAGES
-#usr/lib/locale/ka_GE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ka_GE/LC_MONETARY
-#usr/lib/locale/ka_GE/LC_NAME
-#usr/lib/locale/ka_GE/LC_NUMERIC
-#usr/lib/locale/ka_GE/LC_PAPER
-#usr/lib/locale/ka_GE/LC_TELEPHONE
-#usr/lib/locale/ka_GE/LC_TIME
-#usr/lib/locale/kk_KZ
-#usr/lib/locale/kk_KZ.utf8
-#usr/lib/locale/kk_KZ.utf8/LC_ADDRESS
-#usr/lib/locale/kk_KZ.utf8/LC_COLLATE
-#usr/lib/locale/kk_KZ.utf8/LC_CTYPE
-#usr/lib/locale/kk_KZ.utf8/LC_IDENTIFICATION
-#usr/lib/locale/kk_KZ.utf8/LC_MEASUREMENT
-#usr/lib/locale/kk_KZ.utf8/LC_MESSAGES
-#usr/lib/locale/kk_KZ.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/kk_KZ.utf8/LC_MONETARY
-#usr/lib/locale/kk_KZ.utf8/LC_NAME
-#usr/lib/locale/kk_KZ.utf8/LC_NUMERIC
-#usr/lib/locale/kk_KZ.utf8/LC_PAPER
-#usr/lib/locale/kk_KZ.utf8/LC_TELEPHONE
-#usr/lib/locale/kk_KZ.utf8/LC_TIME
-#usr/lib/locale/kk_KZ/LC_ADDRESS
-#usr/lib/locale/kk_KZ/LC_COLLATE
-#usr/lib/locale/kk_KZ/LC_CTYPE
-#usr/lib/locale/kk_KZ/LC_IDENTIFICATION
-#usr/lib/locale/kk_KZ/LC_MEASUREMENT
-#usr/lib/locale/kk_KZ/LC_MESSAGES
-#usr/lib/locale/kk_KZ/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/kk_KZ/LC_MONETARY
-#usr/lib/locale/kk_KZ/LC_NAME
-#usr/lib/locale/kk_KZ/LC_NUMERIC
-#usr/lib/locale/kk_KZ/LC_PAPER
-#usr/lib/locale/kk_KZ/LC_TELEPHONE
-#usr/lib/locale/kk_KZ/LC_TIME
-#usr/lib/locale/kl_GL
-#usr/lib/locale/kl_GL.utf8
-#usr/lib/locale/kl_GL.utf8/LC_ADDRESS
-#usr/lib/locale/kl_GL.utf8/LC_COLLATE
-#usr/lib/locale/kl_GL.utf8/LC_CTYPE
-#usr/lib/locale/kl_GL.utf8/LC_IDENTIFICATION
-#usr/lib/locale/kl_GL.utf8/LC_MEASUREMENT
-#usr/lib/locale/kl_GL.utf8/LC_MESSAGES
-#usr/lib/locale/kl_GL.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/kl_GL.utf8/LC_MONETARY
-#usr/lib/locale/kl_GL.utf8/LC_NAME
-#usr/lib/locale/kl_GL.utf8/LC_NUMERIC
-#usr/lib/locale/kl_GL.utf8/LC_PAPER
-#usr/lib/locale/kl_GL.utf8/LC_TELEPHONE
-#usr/lib/locale/kl_GL.utf8/LC_TIME
-#usr/lib/locale/kl_GL/LC_ADDRESS
-#usr/lib/locale/kl_GL/LC_COLLATE
-#usr/lib/locale/kl_GL/LC_CTYPE
-#usr/lib/locale/kl_GL/LC_IDENTIFICATION
-#usr/lib/locale/kl_GL/LC_MEASUREMENT
-#usr/lib/locale/kl_GL/LC_MESSAGES
-#usr/lib/locale/kl_GL/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/kl_GL/LC_MONETARY
-#usr/lib/locale/kl_GL/LC_NAME
-#usr/lib/locale/kl_GL/LC_NUMERIC
-#usr/lib/locale/kl_GL/LC_PAPER
-#usr/lib/locale/kl_GL/LC_TELEPHONE
-#usr/lib/locale/kl_GL/LC_TIME
-#usr/lib/locale/km_KH
-#usr/lib/locale/km_KH/LC_ADDRESS
-#usr/lib/locale/km_KH/LC_COLLATE
-#usr/lib/locale/km_KH/LC_CTYPE
-#usr/lib/locale/km_KH/LC_IDENTIFICATION
-#usr/lib/locale/km_KH/LC_MEASUREMENT
-#usr/lib/locale/km_KH/LC_MESSAGES
-#usr/lib/locale/km_KH/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/km_KH/LC_MONETARY
-#usr/lib/locale/km_KH/LC_NAME
-#usr/lib/locale/km_KH/LC_NUMERIC
-#usr/lib/locale/km_KH/LC_PAPER
-#usr/lib/locale/km_KH/LC_TELEPHONE
-#usr/lib/locale/km_KH/LC_TIME
-#usr/lib/locale/kn_IN
-#usr/lib/locale/kn_IN/LC_ADDRESS
-#usr/lib/locale/kn_IN/LC_COLLATE
-#usr/lib/locale/kn_IN/LC_CTYPE
-#usr/lib/locale/kn_IN/LC_IDENTIFICATION
-#usr/lib/locale/kn_IN/LC_MEASUREMENT
-#usr/lib/locale/kn_IN/LC_MESSAGES
-#usr/lib/locale/kn_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/kn_IN/LC_MONETARY
-#usr/lib/locale/kn_IN/LC_NAME
-#usr/lib/locale/kn_IN/LC_NUMERIC
-#usr/lib/locale/kn_IN/LC_PAPER
-#usr/lib/locale/kn_IN/LC_TELEPHONE
-#usr/lib/locale/kn_IN/LC_TIME
-#usr/lib/locale/ko_KR.euckr
-#usr/lib/locale/ko_KR.euckr/LC_ADDRESS
-#usr/lib/locale/ko_KR.euckr/LC_COLLATE
-#usr/lib/locale/ko_KR.euckr/LC_CTYPE
-#usr/lib/locale/ko_KR.euckr/LC_IDENTIFICATION
-#usr/lib/locale/ko_KR.euckr/LC_MEASUREMENT
-#usr/lib/locale/ko_KR.euckr/LC_MESSAGES
-#usr/lib/locale/ko_KR.euckr/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ko_KR.euckr/LC_MONETARY
-#usr/lib/locale/ko_KR.euckr/LC_NAME
-#usr/lib/locale/ko_KR.euckr/LC_NUMERIC
-#usr/lib/locale/ko_KR.euckr/LC_PAPER
-#usr/lib/locale/ko_KR.euckr/LC_TELEPHONE
-#usr/lib/locale/ko_KR.euckr/LC_TIME
-#usr/lib/locale/ko_KR.utf8
-#usr/lib/locale/ko_KR.utf8/LC_ADDRESS
-#usr/lib/locale/ko_KR.utf8/LC_COLLATE
-#usr/lib/locale/ko_KR.utf8/LC_CTYPE
-#usr/lib/locale/ko_KR.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ko_KR.utf8/LC_MEASUREMENT
-#usr/lib/locale/ko_KR.utf8/LC_MESSAGES
-#usr/lib/locale/ko_KR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ko_KR.utf8/LC_MONETARY
-#usr/lib/locale/ko_KR.utf8/LC_NAME
-#usr/lib/locale/ko_KR.utf8/LC_NUMERIC
-#usr/lib/locale/ko_KR.utf8/LC_PAPER
-#usr/lib/locale/ko_KR.utf8/LC_TELEPHONE
-#usr/lib/locale/ko_KR.utf8/LC_TIME
-#usr/lib/locale/kok_IN
-#usr/lib/locale/kok_IN/LC_ADDRESS
-#usr/lib/locale/kok_IN/LC_COLLATE
-#usr/lib/locale/kok_IN/LC_CTYPE
-#usr/lib/locale/kok_IN/LC_IDENTIFICATION
-#usr/lib/locale/kok_IN/LC_MEASUREMENT
-#usr/lib/locale/kok_IN/LC_MESSAGES
-#usr/lib/locale/kok_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/kok_IN/LC_MONETARY
-#usr/lib/locale/kok_IN/LC_NAME
-#usr/lib/locale/kok_IN/LC_NUMERIC
-#usr/lib/locale/kok_IN/LC_PAPER
-#usr/lib/locale/kok_IN/LC_TELEPHONE
-#usr/lib/locale/kok_IN/LC_TIME
-#usr/lib/locale/ks_IN
-#usr/lib/locale/ks_IN/LC_ADDRESS
-#usr/lib/locale/ks_IN/LC_COLLATE
-#usr/lib/locale/ks_IN/LC_CTYPE
-#usr/lib/locale/ks_IN/LC_IDENTIFICATION
-#usr/lib/locale/ks_IN/LC_MEASUREMENT
-#usr/lib/locale/ks_IN/LC_MESSAGES
-#usr/lib/locale/ks_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ks_IN/LC_MONETARY
-#usr/lib/locale/ks_IN/LC_NAME
-#usr/lib/locale/ks_IN/LC_NUMERIC
-#usr/lib/locale/ks_IN/LC_PAPER
-#usr/lib/locale/ks_IN/LC_TELEPHONE
-#usr/lib/locale/ks_IN/LC_TIME
-#usr/lib/locale/ks_IN@devanagari
-#usr/lib/locale/ks_IN@devanagari/LC_ADDRESS
-#usr/lib/locale/ks_IN@devanagari/LC_COLLATE
-#usr/lib/locale/ks_IN@devanagari/LC_CTYPE
-#usr/lib/locale/ks_IN@devanagari/LC_IDENTIFICATION
-#usr/lib/locale/ks_IN@devanagari/LC_MEASUREMENT
-#usr/lib/locale/ks_IN@devanagari/LC_MESSAGES
-#usr/lib/locale/ks_IN@devanagari/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ks_IN@devanagari/LC_MONETARY
-#usr/lib/locale/ks_IN@devanagari/LC_NAME
-#usr/lib/locale/ks_IN@devanagari/LC_NUMERIC
-#usr/lib/locale/ks_IN@devanagari/LC_PAPER
-#usr/lib/locale/ks_IN@devanagari/LC_TELEPHONE
-#usr/lib/locale/ks_IN@devanagari/LC_TIME
-#usr/lib/locale/ku_TR
-#usr/lib/locale/ku_TR.utf8
-#usr/lib/locale/ku_TR.utf8/LC_ADDRESS
-#usr/lib/locale/ku_TR.utf8/LC_COLLATE
-#usr/lib/locale/ku_TR.utf8/LC_CTYPE
-#usr/lib/locale/ku_TR.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ku_TR.utf8/LC_MEASUREMENT
-#usr/lib/locale/ku_TR.utf8/LC_MESSAGES
-#usr/lib/locale/ku_TR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ku_TR.utf8/LC_MONETARY
-#usr/lib/locale/ku_TR.utf8/LC_NAME
-#usr/lib/locale/ku_TR.utf8/LC_NUMERIC
-#usr/lib/locale/ku_TR.utf8/LC_PAPER
-#usr/lib/locale/ku_TR.utf8/LC_TELEPHONE
-#usr/lib/locale/ku_TR.utf8/LC_TIME
-#usr/lib/locale/ku_TR/LC_ADDRESS
-#usr/lib/locale/ku_TR/LC_COLLATE
-#usr/lib/locale/ku_TR/LC_CTYPE
-#usr/lib/locale/ku_TR/LC_IDENTIFICATION
-#usr/lib/locale/ku_TR/LC_MEASUREMENT
-#usr/lib/locale/ku_TR/LC_MESSAGES
-#usr/lib/locale/ku_TR/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ku_TR/LC_MONETARY
-#usr/lib/locale/ku_TR/LC_NAME
-#usr/lib/locale/ku_TR/LC_NUMERIC
-#usr/lib/locale/ku_TR/LC_PAPER
-#usr/lib/locale/ku_TR/LC_TELEPHONE
-#usr/lib/locale/ku_TR/LC_TIME
-#usr/lib/locale/kw_GB
-#usr/lib/locale/kw_GB.utf8
-#usr/lib/locale/kw_GB.utf8/LC_ADDRESS
-#usr/lib/locale/kw_GB.utf8/LC_COLLATE
-#usr/lib/locale/kw_GB.utf8/LC_CTYPE
-#usr/lib/locale/kw_GB.utf8/LC_IDENTIFICATION
-#usr/lib/locale/kw_GB.utf8/LC_MEASUREMENT
-#usr/lib/locale/kw_GB.utf8/LC_MESSAGES
-#usr/lib/locale/kw_GB.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/kw_GB.utf8/LC_MONETARY
-#usr/lib/locale/kw_GB.utf8/LC_NAME
-#usr/lib/locale/kw_GB.utf8/LC_NUMERIC
-#usr/lib/locale/kw_GB.utf8/LC_PAPER
-#usr/lib/locale/kw_GB.utf8/LC_TELEPHONE
-#usr/lib/locale/kw_GB.utf8/LC_TIME
-#usr/lib/locale/kw_GB/LC_ADDRESS
-#usr/lib/locale/kw_GB/LC_COLLATE
-#usr/lib/locale/kw_GB/LC_CTYPE
-#usr/lib/locale/kw_GB/LC_IDENTIFICATION
-#usr/lib/locale/kw_GB/LC_MEASUREMENT
-#usr/lib/locale/kw_GB/LC_MESSAGES
-#usr/lib/locale/kw_GB/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/kw_GB/LC_MONETARY
-#usr/lib/locale/kw_GB/LC_NAME
-#usr/lib/locale/kw_GB/LC_NUMERIC
-#usr/lib/locale/kw_GB/LC_PAPER
-#usr/lib/locale/kw_GB/LC_TELEPHONE
-#usr/lib/locale/kw_GB/LC_TIME
-#usr/lib/locale/ky_KG
-#usr/lib/locale/ky_KG/LC_ADDRESS
-#usr/lib/locale/ky_KG/LC_COLLATE
-#usr/lib/locale/ky_KG/LC_CTYPE
-#usr/lib/locale/ky_KG/LC_IDENTIFICATION
-#usr/lib/locale/ky_KG/LC_MEASUREMENT
-#usr/lib/locale/ky_KG/LC_MESSAGES
-#usr/lib/locale/ky_KG/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ky_KG/LC_MONETARY
-#usr/lib/locale/ky_KG/LC_NAME
-#usr/lib/locale/ky_KG/LC_NUMERIC
-#usr/lib/locale/ky_KG/LC_PAPER
-#usr/lib/locale/ky_KG/LC_TELEPHONE
-#usr/lib/locale/ky_KG/LC_TIME
-#usr/lib/locale/lg_UG
-#usr/lib/locale/lg_UG.utf8
-#usr/lib/locale/lg_UG.utf8/LC_ADDRESS
-#usr/lib/locale/lg_UG.utf8/LC_COLLATE
-#usr/lib/locale/lg_UG.utf8/LC_CTYPE
-#usr/lib/locale/lg_UG.utf8/LC_IDENTIFICATION
-#usr/lib/locale/lg_UG.utf8/LC_MEASUREMENT
-#usr/lib/locale/lg_UG.utf8/LC_MESSAGES
-#usr/lib/locale/lg_UG.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/lg_UG.utf8/LC_MONETARY
-#usr/lib/locale/lg_UG.utf8/LC_NAME
-#usr/lib/locale/lg_UG.utf8/LC_NUMERIC
-#usr/lib/locale/lg_UG.utf8/LC_PAPER
-#usr/lib/locale/lg_UG.utf8/LC_TELEPHONE
-#usr/lib/locale/lg_UG.utf8/LC_TIME
-#usr/lib/locale/lg_UG/LC_ADDRESS
-#usr/lib/locale/lg_UG/LC_COLLATE
-#usr/lib/locale/lg_UG/LC_CTYPE
-#usr/lib/locale/lg_UG/LC_IDENTIFICATION
-#usr/lib/locale/lg_UG/LC_MEASUREMENT
-#usr/lib/locale/lg_UG/LC_MESSAGES
-#usr/lib/locale/lg_UG/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/lg_UG/LC_MONETARY
-#usr/lib/locale/lg_UG/LC_NAME
-#usr/lib/locale/lg_UG/LC_NUMERIC
-#usr/lib/locale/lg_UG/LC_PAPER
-#usr/lib/locale/lg_UG/LC_TELEPHONE
-#usr/lib/locale/lg_UG/LC_TIME
-#usr/lib/locale/li_BE
-#usr/lib/locale/li_BE/LC_ADDRESS
-#usr/lib/locale/li_BE/LC_COLLATE
-#usr/lib/locale/li_BE/LC_CTYPE
-#usr/lib/locale/li_BE/LC_IDENTIFICATION
-#usr/lib/locale/li_BE/LC_MEASUREMENT
-#usr/lib/locale/li_BE/LC_MESSAGES
-#usr/lib/locale/li_BE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/li_BE/LC_MONETARY
-#usr/lib/locale/li_BE/LC_NAME
-#usr/lib/locale/li_BE/LC_NUMERIC
-#usr/lib/locale/li_BE/LC_PAPER
-#usr/lib/locale/li_BE/LC_TELEPHONE
-#usr/lib/locale/li_BE/LC_TIME
-#usr/lib/locale/li_NL
-#usr/lib/locale/li_NL/LC_ADDRESS
-#usr/lib/locale/li_NL/LC_COLLATE
-#usr/lib/locale/li_NL/LC_CTYPE
-#usr/lib/locale/li_NL/LC_IDENTIFICATION
-#usr/lib/locale/li_NL/LC_MEASUREMENT
-#usr/lib/locale/li_NL/LC_MESSAGES
-#usr/lib/locale/li_NL/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/li_NL/LC_MONETARY
-#usr/lib/locale/li_NL/LC_NAME
-#usr/lib/locale/li_NL/LC_NUMERIC
-#usr/lib/locale/li_NL/LC_PAPER
-#usr/lib/locale/li_NL/LC_TELEPHONE
-#usr/lib/locale/li_NL/LC_TIME
-#usr/lib/locale/lo_LA
-#usr/lib/locale/lo_LA/LC_ADDRESS
-#usr/lib/locale/lo_LA/LC_COLLATE
-#usr/lib/locale/lo_LA/LC_CTYPE
-#usr/lib/locale/lo_LA/LC_IDENTIFICATION
-#usr/lib/locale/lo_LA/LC_MEASUREMENT
-#usr/lib/locale/lo_LA/LC_MESSAGES
-#usr/lib/locale/lo_LA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/lo_LA/LC_MONETARY
-#usr/lib/locale/lo_LA/LC_NAME
-#usr/lib/locale/lo_LA/LC_NUMERIC
-#usr/lib/locale/lo_LA/LC_PAPER
-#usr/lib/locale/lo_LA/LC_TELEPHONE
-#usr/lib/locale/lo_LA/LC_TIME
-#usr/lib/locale/lt_LT
-#usr/lib/locale/lt_LT.utf8
-#usr/lib/locale/lt_LT.utf8/LC_ADDRESS
-#usr/lib/locale/lt_LT.utf8/LC_COLLATE
-#usr/lib/locale/lt_LT.utf8/LC_CTYPE
-#usr/lib/locale/lt_LT.utf8/LC_IDENTIFICATION
-#usr/lib/locale/lt_LT.utf8/LC_MEASUREMENT
-#usr/lib/locale/lt_LT.utf8/LC_MESSAGES
-#usr/lib/locale/lt_LT.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/lt_LT.utf8/LC_MONETARY
-#usr/lib/locale/lt_LT.utf8/LC_NAME
-#usr/lib/locale/lt_LT.utf8/LC_NUMERIC
-#usr/lib/locale/lt_LT.utf8/LC_PAPER
-#usr/lib/locale/lt_LT.utf8/LC_TELEPHONE
-#usr/lib/locale/lt_LT.utf8/LC_TIME
-#usr/lib/locale/lt_LT/LC_ADDRESS
-#usr/lib/locale/lt_LT/LC_COLLATE
-#usr/lib/locale/lt_LT/LC_CTYPE
-#usr/lib/locale/lt_LT/LC_IDENTIFICATION
-#usr/lib/locale/lt_LT/LC_MEASUREMENT
-#usr/lib/locale/lt_LT/LC_MESSAGES
-#usr/lib/locale/lt_LT/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/lt_LT/LC_MONETARY
-#usr/lib/locale/lt_LT/LC_NAME
-#usr/lib/locale/lt_LT/LC_NUMERIC
-#usr/lib/locale/lt_LT/LC_PAPER
-#usr/lib/locale/lt_LT/LC_TELEPHONE
-#usr/lib/locale/lt_LT/LC_TIME
-#usr/lib/locale/lv_LV
-#usr/lib/locale/lv_LV.utf8
-#usr/lib/locale/lv_LV.utf8/LC_ADDRESS
-#usr/lib/locale/lv_LV.utf8/LC_COLLATE
-#usr/lib/locale/lv_LV.utf8/LC_CTYPE
-#usr/lib/locale/lv_LV.utf8/LC_IDENTIFICATION
-#usr/lib/locale/lv_LV.utf8/LC_MEASUREMENT
-#usr/lib/locale/lv_LV.utf8/LC_MESSAGES
-#usr/lib/locale/lv_LV.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/lv_LV.utf8/LC_MONETARY
-#usr/lib/locale/lv_LV.utf8/LC_NAME
-#usr/lib/locale/lv_LV.utf8/LC_NUMERIC
-#usr/lib/locale/lv_LV.utf8/LC_PAPER
-#usr/lib/locale/lv_LV.utf8/LC_TELEPHONE
-#usr/lib/locale/lv_LV.utf8/LC_TIME
-#usr/lib/locale/lv_LV/LC_ADDRESS
-#usr/lib/locale/lv_LV/LC_COLLATE
-#usr/lib/locale/lv_LV/LC_CTYPE
-#usr/lib/locale/lv_LV/LC_IDENTIFICATION
-#usr/lib/locale/lv_LV/LC_MEASUREMENT
-#usr/lib/locale/lv_LV/LC_MESSAGES
-#usr/lib/locale/lv_LV/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/lv_LV/LC_MONETARY
-#usr/lib/locale/lv_LV/LC_NAME
-#usr/lib/locale/lv_LV/LC_NUMERIC
-#usr/lib/locale/lv_LV/LC_PAPER
-#usr/lib/locale/lv_LV/LC_TELEPHONE
-#usr/lib/locale/lv_LV/LC_TIME
-#usr/lib/locale/mai_IN
-#usr/lib/locale/mai_IN/LC_ADDRESS
-#usr/lib/locale/mai_IN/LC_COLLATE
-#usr/lib/locale/mai_IN/LC_CTYPE
-#usr/lib/locale/mai_IN/LC_IDENTIFICATION
-#usr/lib/locale/mai_IN/LC_MEASUREMENT
-#usr/lib/locale/mai_IN/LC_MESSAGES
-#usr/lib/locale/mai_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/mai_IN/LC_MONETARY
-#usr/lib/locale/mai_IN/LC_NAME
-#usr/lib/locale/mai_IN/LC_NUMERIC
-#usr/lib/locale/mai_IN/LC_PAPER
-#usr/lib/locale/mai_IN/LC_TELEPHONE
-#usr/lib/locale/mai_IN/LC_TIME
-#usr/lib/locale/mg_MG
-#usr/lib/locale/mg_MG.utf8
-#usr/lib/locale/mg_MG.utf8/LC_ADDRESS
-#usr/lib/locale/mg_MG.utf8/LC_COLLATE
-#usr/lib/locale/mg_MG.utf8/LC_CTYPE
-#usr/lib/locale/mg_MG.utf8/LC_IDENTIFICATION
-#usr/lib/locale/mg_MG.utf8/LC_MEASUREMENT
-#usr/lib/locale/mg_MG.utf8/LC_MESSAGES
-#usr/lib/locale/mg_MG.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/mg_MG.utf8/LC_MONETARY
-#usr/lib/locale/mg_MG.utf8/LC_NAME
-#usr/lib/locale/mg_MG.utf8/LC_NUMERIC
-#usr/lib/locale/mg_MG.utf8/LC_PAPER
-#usr/lib/locale/mg_MG.utf8/LC_TELEPHONE
-#usr/lib/locale/mg_MG.utf8/LC_TIME
-#usr/lib/locale/mg_MG/LC_ADDRESS
-#usr/lib/locale/mg_MG/LC_COLLATE
-#usr/lib/locale/mg_MG/LC_CTYPE
-#usr/lib/locale/mg_MG/LC_IDENTIFICATION
-#usr/lib/locale/mg_MG/LC_MEASUREMENT
-#usr/lib/locale/mg_MG/LC_MESSAGES
-#usr/lib/locale/mg_MG/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/mg_MG/LC_MONETARY
-#usr/lib/locale/mg_MG/LC_NAME
-#usr/lib/locale/mg_MG/LC_NUMERIC
-#usr/lib/locale/mg_MG/LC_PAPER
-#usr/lib/locale/mg_MG/LC_TELEPHONE
-#usr/lib/locale/mg_MG/LC_TIME
-#usr/lib/locale/mi_NZ
-#usr/lib/locale/mi_NZ.utf8
-#usr/lib/locale/mi_NZ.utf8/LC_ADDRESS
-#usr/lib/locale/mi_NZ.utf8/LC_COLLATE
-#usr/lib/locale/mi_NZ.utf8/LC_CTYPE
-#usr/lib/locale/mi_NZ.utf8/LC_IDENTIFICATION
-#usr/lib/locale/mi_NZ.utf8/LC_MEASUREMENT
-#usr/lib/locale/mi_NZ.utf8/LC_MESSAGES
-#usr/lib/locale/mi_NZ.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/mi_NZ.utf8/LC_MONETARY
-#usr/lib/locale/mi_NZ.utf8/LC_NAME
-#usr/lib/locale/mi_NZ.utf8/LC_NUMERIC
-#usr/lib/locale/mi_NZ.utf8/LC_PAPER
-#usr/lib/locale/mi_NZ.utf8/LC_TELEPHONE
-#usr/lib/locale/mi_NZ.utf8/LC_TIME
-#usr/lib/locale/mi_NZ/LC_ADDRESS
-#usr/lib/locale/mi_NZ/LC_COLLATE
-#usr/lib/locale/mi_NZ/LC_CTYPE
-#usr/lib/locale/mi_NZ/LC_IDENTIFICATION
-#usr/lib/locale/mi_NZ/LC_MEASUREMENT
-#usr/lib/locale/mi_NZ/LC_MESSAGES
-#usr/lib/locale/mi_NZ/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/mi_NZ/LC_MONETARY
-#usr/lib/locale/mi_NZ/LC_NAME
-#usr/lib/locale/mi_NZ/LC_NUMERIC
-#usr/lib/locale/mi_NZ/LC_PAPER
-#usr/lib/locale/mi_NZ/LC_TELEPHONE
-#usr/lib/locale/mi_NZ/LC_TIME
-#usr/lib/locale/mk_MK
-#usr/lib/locale/mk_MK.utf8
-#usr/lib/locale/mk_MK.utf8/LC_ADDRESS
-#usr/lib/locale/mk_MK.utf8/LC_COLLATE
-#usr/lib/locale/mk_MK.utf8/LC_CTYPE
-#usr/lib/locale/mk_MK.utf8/LC_IDENTIFICATION
-#usr/lib/locale/mk_MK.utf8/LC_MEASUREMENT
-#usr/lib/locale/mk_MK.utf8/LC_MESSAGES
-#usr/lib/locale/mk_MK.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/mk_MK.utf8/LC_MONETARY
-#usr/lib/locale/mk_MK.utf8/LC_NAME
-#usr/lib/locale/mk_MK.utf8/LC_NUMERIC
-#usr/lib/locale/mk_MK.utf8/LC_PAPER
-#usr/lib/locale/mk_MK.utf8/LC_TELEPHONE
-#usr/lib/locale/mk_MK.utf8/LC_TIME
-#usr/lib/locale/mk_MK/LC_ADDRESS
-#usr/lib/locale/mk_MK/LC_COLLATE
-#usr/lib/locale/mk_MK/LC_CTYPE
-#usr/lib/locale/mk_MK/LC_IDENTIFICATION
-#usr/lib/locale/mk_MK/LC_MEASUREMENT
-#usr/lib/locale/mk_MK/LC_MESSAGES
-#usr/lib/locale/mk_MK/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/mk_MK/LC_MONETARY
-#usr/lib/locale/mk_MK/LC_NAME
-#usr/lib/locale/mk_MK/LC_NUMERIC
-#usr/lib/locale/mk_MK/LC_PAPER
-#usr/lib/locale/mk_MK/LC_TELEPHONE
-#usr/lib/locale/mk_MK/LC_TIME
-#usr/lib/locale/ml_IN
-#usr/lib/locale/ml_IN/LC_ADDRESS
-#usr/lib/locale/ml_IN/LC_COLLATE
-#usr/lib/locale/ml_IN/LC_CTYPE
-#usr/lib/locale/ml_IN/LC_IDENTIFICATION
-#usr/lib/locale/ml_IN/LC_MEASUREMENT
-#usr/lib/locale/ml_IN/LC_MESSAGES
-#usr/lib/locale/ml_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ml_IN/LC_MONETARY
-#usr/lib/locale/ml_IN/LC_NAME
-#usr/lib/locale/ml_IN/LC_NUMERIC
-#usr/lib/locale/ml_IN/LC_PAPER
-#usr/lib/locale/ml_IN/LC_TELEPHONE
-#usr/lib/locale/ml_IN/LC_TIME
-#usr/lib/locale/mn_MN
-#usr/lib/locale/mn_MN/LC_ADDRESS
-#usr/lib/locale/mn_MN/LC_COLLATE
-#usr/lib/locale/mn_MN/LC_CTYPE
-#usr/lib/locale/mn_MN/LC_IDENTIFICATION
-#usr/lib/locale/mn_MN/LC_MEASUREMENT
-#usr/lib/locale/mn_MN/LC_MESSAGES
-#usr/lib/locale/mn_MN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/mn_MN/LC_MONETARY
-#usr/lib/locale/mn_MN/LC_NAME
-#usr/lib/locale/mn_MN/LC_NUMERIC
-#usr/lib/locale/mn_MN/LC_PAPER
-#usr/lib/locale/mn_MN/LC_TELEPHONE
-#usr/lib/locale/mn_MN/LC_TIME
-#usr/lib/locale/mr_IN
-#usr/lib/locale/mr_IN/LC_ADDRESS
-#usr/lib/locale/mr_IN/LC_COLLATE
-#usr/lib/locale/mr_IN/LC_CTYPE
-#usr/lib/locale/mr_IN/LC_IDENTIFICATION
-#usr/lib/locale/mr_IN/LC_MEASUREMENT
-#usr/lib/locale/mr_IN/LC_MESSAGES
-#usr/lib/locale/mr_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/mr_IN/LC_MONETARY
-#usr/lib/locale/mr_IN/LC_NAME
-#usr/lib/locale/mr_IN/LC_NUMERIC
-#usr/lib/locale/mr_IN/LC_PAPER
-#usr/lib/locale/mr_IN/LC_TELEPHONE
-#usr/lib/locale/mr_IN/LC_TIME
-#usr/lib/locale/ms_MY
-#usr/lib/locale/ms_MY.utf8
-#usr/lib/locale/ms_MY.utf8/LC_ADDRESS
-#usr/lib/locale/ms_MY.utf8/LC_COLLATE
-#usr/lib/locale/ms_MY.utf8/LC_CTYPE
-#usr/lib/locale/ms_MY.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ms_MY.utf8/LC_MEASUREMENT
-#usr/lib/locale/ms_MY.utf8/LC_MESSAGES
-#usr/lib/locale/ms_MY.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ms_MY.utf8/LC_MONETARY
-#usr/lib/locale/ms_MY.utf8/LC_NAME
-#usr/lib/locale/ms_MY.utf8/LC_NUMERIC
-#usr/lib/locale/ms_MY.utf8/LC_PAPER
-#usr/lib/locale/ms_MY.utf8/LC_TELEPHONE
-#usr/lib/locale/ms_MY.utf8/LC_TIME
-#usr/lib/locale/ms_MY/LC_ADDRESS
-#usr/lib/locale/ms_MY/LC_COLLATE
-#usr/lib/locale/ms_MY/LC_CTYPE
-#usr/lib/locale/ms_MY/LC_IDENTIFICATION
-#usr/lib/locale/ms_MY/LC_MEASUREMENT
-#usr/lib/locale/ms_MY/LC_MESSAGES
-#usr/lib/locale/ms_MY/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ms_MY/LC_MONETARY
-#usr/lib/locale/ms_MY/LC_NAME
-#usr/lib/locale/ms_MY/LC_NUMERIC
-#usr/lib/locale/ms_MY/LC_PAPER
-#usr/lib/locale/ms_MY/LC_TELEPHONE
-#usr/lib/locale/ms_MY/LC_TIME
-#usr/lib/locale/mt_MT
-#usr/lib/locale/mt_MT.utf8
-#usr/lib/locale/mt_MT.utf8/LC_ADDRESS
-#usr/lib/locale/mt_MT.utf8/LC_COLLATE
-#usr/lib/locale/mt_MT.utf8/LC_CTYPE
-#usr/lib/locale/mt_MT.utf8/LC_IDENTIFICATION
-#usr/lib/locale/mt_MT.utf8/LC_MEASUREMENT
-#usr/lib/locale/mt_MT.utf8/LC_MESSAGES
-#usr/lib/locale/mt_MT.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/mt_MT.utf8/LC_MONETARY
-#usr/lib/locale/mt_MT.utf8/LC_NAME
-#usr/lib/locale/mt_MT.utf8/LC_NUMERIC
-#usr/lib/locale/mt_MT.utf8/LC_PAPER
-#usr/lib/locale/mt_MT.utf8/LC_TELEPHONE
-#usr/lib/locale/mt_MT.utf8/LC_TIME
-#usr/lib/locale/mt_MT/LC_ADDRESS
-#usr/lib/locale/mt_MT/LC_COLLATE
-#usr/lib/locale/mt_MT/LC_CTYPE
-#usr/lib/locale/mt_MT/LC_IDENTIFICATION
-#usr/lib/locale/mt_MT/LC_MEASUREMENT
-#usr/lib/locale/mt_MT/LC_MESSAGES
-#usr/lib/locale/mt_MT/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/mt_MT/LC_MONETARY
-#usr/lib/locale/mt_MT/LC_NAME
-#usr/lib/locale/mt_MT/LC_NUMERIC
-#usr/lib/locale/mt_MT/LC_PAPER
-#usr/lib/locale/mt_MT/LC_TELEPHONE
-#usr/lib/locale/mt_MT/LC_TIME
-#usr/lib/locale/my_MM
-#usr/lib/locale/my_MM/LC_ADDRESS
-#usr/lib/locale/my_MM/LC_COLLATE
-#usr/lib/locale/my_MM/LC_CTYPE
-#usr/lib/locale/my_MM/LC_IDENTIFICATION
-#usr/lib/locale/my_MM/LC_MEASUREMENT
-#usr/lib/locale/my_MM/LC_MESSAGES
-#usr/lib/locale/my_MM/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/my_MM/LC_MONETARY
-#usr/lib/locale/my_MM/LC_NAME
-#usr/lib/locale/my_MM/LC_NUMERIC
-#usr/lib/locale/my_MM/LC_PAPER
-#usr/lib/locale/my_MM/LC_TELEPHONE
-#usr/lib/locale/my_MM/LC_TIME
-#usr/lib/locale/nan_TW@latin
-#usr/lib/locale/nan_TW@latin/LC_ADDRESS
-#usr/lib/locale/nan_TW@latin/LC_COLLATE
-#usr/lib/locale/nan_TW@latin/LC_CTYPE
-#usr/lib/locale/nan_TW@latin/LC_IDENTIFICATION
-#usr/lib/locale/nan_TW@latin/LC_MEASUREMENT
-#usr/lib/locale/nan_TW@latin/LC_MESSAGES
-#usr/lib/locale/nan_TW@latin/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nan_TW@latin/LC_MONETARY
-#usr/lib/locale/nan_TW@latin/LC_NAME
-#usr/lib/locale/nan_TW@latin/LC_NUMERIC
-#usr/lib/locale/nan_TW@latin/LC_PAPER
-#usr/lib/locale/nan_TW@latin/LC_TELEPHONE
-#usr/lib/locale/nan_TW@latin/LC_TIME
-#usr/lib/locale/nb_NO
-#usr/lib/locale/nb_NO.utf8
-#usr/lib/locale/nb_NO.utf8/LC_ADDRESS
-#usr/lib/locale/nb_NO.utf8/LC_COLLATE
-#usr/lib/locale/nb_NO.utf8/LC_CTYPE
-#usr/lib/locale/nb_NO.utf8/LC_IDENTIFICATION
-#usr/lib/locale/nb_NO.utf8/LC_MEASUREMENT
-#usr/lib/locale/nb_NO.utf8/LC_MESSAGES
-#usr/lib/locale/nb_NO.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nb_NO.utf8/LC_MONETARY
-#usr/lib/locale/nb_NO.utf8/LC_NAME
-#usr/lib/locale/nb_NO.utf8/LC_NUMERIC
-#usr/lib/locale/nb_NO.utf8/LC_PAPER
-#usr/lib/locale/nb_NO.utf8/LC_TELEPHONE
-#usr/lib/locale/nb_NO.utf8/LC_TIME
-#usr/lib/locale/nb_NO/LC_ADDRESS
-#usr/lib/locale/nb_NO/LC_COLLATE
-#usr/lib/locale/nb_NO/LC_CTYPE
-#usr/lib/locale/nb_NO/LC_IDENTIFICATION
-#usr/lib/locale/nb_NO/LC_MEASUREMENT
-#usr/lib/locale/nb_NO/LC_MESSAGES
-#usr/lib/locale/nb_NO/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nb_NO/LC_MONETARY
-#usr/lib/locale/nb_NO/LC_NAME
-#usr/lib/locale/nb_NO/LC_NUMERIC
-#usr/lib/locale/nb_NO/LC_PAPER
-#usr/lib/locale/nb_NO/LC_TELEPHONE
-#usr/lib/locale/nb_NO/LC_TIME
-#usr/lib/locale/nds_DE
-#usr/lib/locale/nds_DE/LC_ADDRESS
-#usr/lib/locale/nds_DE/LC_COLLATE
-#usr/lib/locale/nds_DE/LC_CTYPE
-#usr/lib/locale/nds_DE/LC_IDENTIFICATION
-#usr/lib/locale/nds_DE/LC_MEASUREMENT
-#usr/lib/locale/nds_DE/LC_MESSAGES
-#usr/lib/locale/nds_DE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nds_DE/LC_MONETARY
-#usr/lib/locale/nds_DE/LC_NAME
-#usr/lib/locale/nds_DE/LC_NUMERIC
-#usr/lib/locale/nds_DE/LC_PAPER
-#usr/lib/locale/nds_DE/LC_TELEPHONE
-#usr/lib/locale/nds_DE/LC_TIME
-#usr/lib/locale/nds_NL
-#usr/lib/locale/nds_NL/LC_ADDRESS
-#usr/lib/locale/nds_NL/LC_COLLATE
-#usr/lib/locale/nds_NL/LC_CTYPE
-#usr/lib/locale/nds_NL/LC_IDENTIFICATION
-#usr/lib/locale/nds_NL/LC_MEASUREMENT
-#usr/lib/locale/nds_NL/LC_MESSAGES
-#usr/lib/locale/nds_NL/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nds_NL/LC_MONETARY
-#usr/lib/locale/nds_NL/LC_NAME
-#usr/lib/locale/nds_NL/LC_NUMERIC
-#usr/lib/locale/nds_NL/LC_PAPER
-#usr/lib/locale/nds_NL/LC_TELEPHONE
-#usr/lib/locale/nds_NL/LC_TIME
-#usr/lib/locale/ne_NP
-#usr/lib/locale/ne_NP/LC_ADDRESS
-#usr/lib/locale/ne_NP/LC_COLLATE
-#usr/lib/locale/ne_NP/LC_CTYPE
-#usr/lib/locale/ne_NP/LC_IDENTIFICATION
-#usr/lib/locale/ne_NP/LC_MEASUREMENT
-#usr/lib/locale/ne_NP/LC_MESSAGES
-#usr/lib/locale/ne_NP/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ne_NP/LC_MONETARY
-#usr/lib/locale/ne_NP/LC_NAME
-#usr/lib/locale/ne_NP/LC_NUMERIC
-#usr/lib/locale/ne_NP/LC_PAPER
-#usr/lib/locale/ne_NP/LC_TELEPHONE
-#usr/lib/locale/ne_NP/LC_TIME
-#usr/lib/locale/nl_AW
-#usr/lib/locale/nl_AW/LC_ADDRESS
-#usr/lib/locale/nl_AW/LC_COLLATE
-#usr/lib/locale/nl_AW/LC_CTYPE
-#usr/lib/locale/nl_AW/LC_IDENTIFICATION
-#usr/lib/locale/nl_AW/LC_MEASUREMENT
-#usr/lib/locale/nl_AW/LC_MESSAGES
-#usr/lib/locale/nl_AW/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nl_AW/LC_MONETARY
-#usr/lib/locale/nl_AW/LC_NAME
-#usr/lib/locale/nl_AW/LC_NUMERIC
-#usr/lib/locale/nl_AW/LC_PAPER
-#usr/lib/locale/nl_AW/LC_TELEPHONE
-#usr/lib/locale/nl_AW/LC_TIME
-#usr/lib/locale/nl_BE
-#usr/lib/locale/nl_BE.utf8
-#usr/lib/locale/nl_BE.utf8/LC_ADDRESS
-#usr/lib/locale/nl_BE.utf8/LC_COLLATE
-#usr/lib/locale/nl_BE.utf8/LC_CTYPE
-#usr/lib/locale/nl_BE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/nl_BE.utf8/LC_MEASUREMENT
-#usr/lib/locale/nl_BE.utf8/LC_MESSAGES
-#usr/lib/locale/nl_BE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nl_BE.utf8/LC_MONETARY
-#usr/lib/locale/nl_BE.utf8/LC_NAME
-#usr/lib/locale/nl_BE.utf8/LC_NUMERIC
-#usr/lib/locale/nl_BE.utf8/LC_PAPER
-#usr/lib/locale/nl_BE.utf8/LC_TELEPHONE
-#usr/lib/locale/nl_BE.utf8/LC_TIME
-#usr/lib/locale/nl_BE/LC_ADDRESS
-#usr/lib/locale/nl_BE/LC_COLLATE
-#usr/lib/locale/nl_BE/LC_CTYPE
-#usr/lib/locale/nl_BE/LC_IDENTIFICATION
-#usr/lib/locale/nl_BE/LC_MEASUREMENT
-#usr/lib/locale/nl_BE/LC_MESSAGES
-#usr/lib/locale/nl_BE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nl_BE/LC_MONETARY
-#usr/lib/locale/nl_BE/LC_NAME
-#usr/lib/locale/nl_BE/LC_NUMERIC
-#usr/lib/locale/nl_BE/LC_PAPER
-#usr/lib/locale/nl_BE/LC_TELEPHONE
-#usr/lib/locale/nl_BE/LC_TIME
-#usr/lib/locale/nl_BE@euro
-#usr/lib/locale/nl_BE@euro/LC_ADDRESS
-#usr/lib/locale/nl_BE@euro/LC_COLLATE
-#usr/lib/locale/nl_BE@euro/LC_CTYPE
-#usr/lib/locale/nl_BE@euro/LC_IDENTIFICATION
-#usr/lib/locale/nl_BE@euro/LC_MEASUREMENT
-#usr/lib/locale/nl_BE@euro/LC_MESSAGES
-#usr/lib/locale/nl_BE@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nl_BE@euro/LC_MONETARY
-#usr/lib/locale/nl_BE@euro/LC_NAME
-#usr/lib/locale/nl_BE@euro/LC_NUMERIC
-#usr/lib/locale/nl_BE@euro/LC_PAPER
-#usr/lib/locale/nl_BE@euro/LC_TELEPHONE
-#usr/lib/locale/nl_BE@euro/LC_TIME
-#usr/lib/locale/nl_NL
-#usr/lib/locale/nl_NL.utf8
-#usr/lib/locale/nl_NL.utf8/LC_ADDRESS
-#usr/lib/locale/nl_NL.utf8/LC_COLLATE
-#usr/lib/locale/nl_NL.utf8/LC_CTYPE
-#usr/lib/locale/nl_NL.utf8/LC_IDENTIFICATION
-#usr/lib/locale/nl_NL.utf8/LC_MEASUREMENT
-#usr/lib/locale/nl_NL.utf8/LC_MESSAGES
-#usr/lib/locale/nl_NL.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nl_NL.utf8/LC_MONETARY
-#usr/lib/locale/nl_NL.utf8/LC_NAME
-#usr/lib/locale/nl_NL.utf8/LC_NUMERIC
-#usr/lib/locale/nl_NL.utf8/LC_PAPER
-#usr/lib/locale/nl_NL.utf8/LC_TELEPHONE
-#usr/lib/locale/nl_NL.utf8/LC_TIME
-#usr/lib/locale/nl_NL/LC_ADDRESS
-#usr/lib/locale/nl_NL/LC_COLLATE
-#usr/lib/locale/nl_NL/LC_CTYPE
-#usr/lib/locale/nl_NL/LC_IDENTIFICATION
-#usr/lib/locale/nl_NL/LC_MEASUREMENT
-#usr/lib/locale/nl_NL/LC_MESSAGES
-#usr/lib/locale/nl_NL/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nl_NL/LC_MONETARY
-#usr/lib/locale/nl_NL/LC_NAME
-#usr/lib/locale/nl_NL/LC_NUMERIC
-#usr/lib/locale/nl_NL/LC_PAPER
-#usr/lib/locale/nl_NL/LC_TELEPHONE
-#usr/lib/locale/nl_NL/LC_TIME
-#usr/lib/locale/nl_NL@euro
-#usr/lib/locale/nl_NL@euro/LC_ADDRESS
-#usr/lib/locale/nl_NL@euro/LC_COLLATE
-#usr/lib/locale/nl_NL@euro/LC_CTYPE
-#usr/lib/locale/nl_NL@euro/LC_IDENTIFICATION
-#usr/lib/locale/nl_NL@euro/LC_MEASUREMENT
-#usr/lib/locale/nl_NL@euro/LC_MESSAGES
-#usr/lib/locale/nl_NL@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nl_NL@euro/LC_MONETARY
-#usr/lib/locale/nl_NL@euro/LC_NAME
-#usr/lib/locale/nl_NL@euro/LC_NUMERIC
-#usr/lib/locale/nl_NL@euro/LC_PAPER
-#usr/lib/locale/nl_NL@euro/LC_TELEPHONE
-#usr/lib/locale/nl_NL@euro/LC_TIME
-#usr/lib/locale/nn_NO
-#usr/lib/locale/nn_NO.utf8
-#usr/lib/locale/nn_NO.utf8/LC_ADDRESS
-#usr/lib/locale/nn_NO.utf8/LC_COLLATE
-#usr/lib/locale/nn_NO.utf8/LC_CTYPE
-#usr/lib/locale/nn_NO.utf8/LC_IDENTIFICATION
-#usr/lib/locale/nn_NO.utf8/LC_MEASUREMENT
-#usr/lib/locale/nn_NO.utf8/LC_MESSAGES
-#usr/lib/locale/nn_NO.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nn_NO.utf8/LC_MONETARY
-#usr/lib/locale/nn_NO.utf8/LC_NAME
-#usr/lib/locale/nn_NO.utf8/LC_NUMERIC
-#usr/lib/locale/nn_NO.utf8/LC_PAPER
-#usr/lib/locale/nn_NO.utf8/LC_TELEPHONE
-#usr/lib/locale/nn_NO.utf8/LC_TIME
-#usr/lib/locale/nn_NO/LC_ADDRESS
-#usr/lib/locale/nn_NO/LC_COLLATE
-#usr/lib/locale/nn_NO/LC_CTYPE
-#usr/lib/locale/nn_NO/LC_IDENTIFICATION
-#usr/lib/locale/nn_NO/LC_MEASUREMENT
-#usr/lib/locale/nn_NO/LC_MESSAGES
-#usr/lib/locale/nn_NO/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nn_NO/LC_MONETARY
-#usr/lib/locale/nn_NO/LC_NAME
-#usr/lib/locale/nn_NO/LC_NUMERIC
-#usr/lib/locale/nn_NO/LC_PAPER
-#usr/lib/locale/nn_NO/LC_TELEPHONE
-#usr/lib/locale/nn_NO/LC_TIME
-#usr/lib/locale/no_NO
-#usr/lib/locale/no_NO.utf8
-#usr/lib/locale/no_NO.utf8/LC_ADDRESS
-#usr/lib/locale/no_NO.utf8/LC_COLLATE
-#usr/lib/locale/no_NO.utf8/LC_CTYPE
-#usr/lib/locale/no_NO.utf8/LC_IDENTIFICATION
-#usr/lib/locale/no_NO.utf8/LC_MEASUREMENT
-#usr/lib/locale/no_NO.utf8/LC_MESSAGES
-#usr/lib/locale/no_NO.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/no_NO.utf8/LC_MONETARY
-#usr/lib/locale/no_NO.utf8/LC_NAME
-#usr/lib/locale/no_NO.utf8/LC_NUMERIC
-#usr/lib/locale/no_NO.utf8/LC_PAPER
-#usr/lib/locale/no_NO.utf8/LC_TELEPHONE
-#usr/lib/locale/no_NO.utf8/LC_TIME
-#usr/lib/locale/no_NO/LC_ADDRESS
-#usr/lib/locale/no_NO/LC_COLLATE
-#usr/lib/locale/no_NO/LC_CTYPE
-#usr/lib/locale/no_NO/LC_IDENTIFICATION
-#usr/lib/locale/no_NO/LC_MEASUREMENT
-#usr/lib/locale/no_NO/LC_MESSAGES
-#usr/lib/locale/no_NO/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/no_NO/LC_MONETARY
-#usr/lib/locale/no_NO/LC_NAME
-#usr/lib/locale/no_NO/LC_NUMERIC
-#usr/lib/locale/no_NO/LC_PAPER
-#usr/lib/locale/no_NO/LC_TELEPHONE
-#usr/lib/locale/no_NO/LC_TIME
-#usr/lib/locale/nr_ZA
-#usr/lib/locale/nr_ZA/LC_ADDRESS
-#usr/lib/locale/nr_ZA/LC_COLLATE
-#usr/lib/locale/nr_ZA/LC_CTYPE
-#usr/lib/locale/nr_ZA/LC_IDENTIFICATION
-#usr/lib/locale/nr_ZA/LC_MEASUREMENT
-#usr/lib/locale/nr_ZA/LC_MESSAGES
-#usr/lib/locale/nr_ZA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nr_ZA/LC_MONETARY
-#usr/lib/locale/nr_ZA/LC_NAME
-#usr/lib/locale/nr_ZA/LC_NUMERIC
-#usr/lib/locale/nr_ZA/LC_PAPER
-#usr/lib/locale/nr_ZA/LC_TELEPHONE
-#usr/lib/locale/nr_ZA/LC_TIME
-#usr/lib/locale/nso_ZA
-#usr/lib/locale/nso_ZA/LC_ADDRESS
-#usr/lib/locale/nso_ZA/LC_COLLATE
-#usr/lib/locale/nso_ZA/LC_CTYPE
-#usr/lib/locale/nso_ZA/LC_IDENTIFICATION
-#usr/lib/locale/nso_ZA/LC_MEASUREMENT
-#usr/lib/locale/nso_ZA/LC_MESSAGES
-#usr/lib/locale/nso_ZA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/nso_ZA/LC_MONETARY
-#usr/lib/locale/nso_ZA/LC_NAME
-#usr/lib/locale/nso_ZA/LC_NUMERIC
-#usr/lib/locale/nso_ZA/LC_PAPER
-#usr/lib/locale/nso_ZA/LC_TELEPHONE
-#usr/lib/locale/nso_ZA/LC_TIME
-#usr/lib/locale/oc_FR
-#usr/lib/locale/oc_FR.utf8
-#usr/lib/locale/oc_FR.utf8/LC_ADDRESS
-#usr/lib/locale/oc_FR.utf8/LC_COLLATE
-#usr/lib/locale/oc_FR.utf8/LC_CTYPE
-#usr/lib/locale/oc_FR.utf8/LC_IDENTIFICATION
-#usr/lib/locale/oc_FR.utf8/LC_MEASUREMENT
-#usr/lib/locale/oc_FR.utf8/LC_MESSAGES
-#usr/lib/locale/oc_FR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/oc_FR.utf8/LC_MONETARY
-#usr/lib/locale/oc_FR.utf8/LC_NAME
-#usr/lib/locale/oc_FR.utf8/LC_NUMERIC
-#usr/lib/locale/oc_FR.utf8/LC_PAPER
-#usr/lib/locale/oc_FR.utf8/LC_TELEPHONE
-#usr/lib/locale/oc_FR.utf8/LC_TIME
-#usr/lib/locale/oc_FR/LC_ADDRESS
-#usr/lib/locale/oc_FR/LC_COLLATE
-#usr/lib/locale/oc_FR/LC_CTYPE
-#usr/lib/locale/oc_FR/LC_IDENTIFICATION
-#usr/lib/locale/oc_FR/LC_MEASUREMENT
-#usr/lib/locale/oc_FR/LC_MESSAGES
-#usr/lib/locale/oc_FR/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/oc_FR/LC_MONETARY
-#usr/lib/locale/oc_FR/LC_NAME
-#usr/lib/locale/oc_FR/LC_NUMERIC
-#usr/lib/locale/oc_FR/LC_PAPER
-#usr/lib/locale/oc_FR/LC_TELEPHONE
-#usr/lib/locale/oc_FR/LC_TIME
-#usr/lib/locale/om_ET
-#usr/lib/locale/om_ET/LC_ADDRESS
-#usr/lib/locale/om_ET/LC_COLLATE
-#usr/lib/locale/om_ET/LC_CTYPE
-#usr/lib/locale/om_ET/LC_IDENTIFICATION
-#usr/lib/locale/om_ET/LC_MEASUREMENT
-#usr/lib/locale/om_ET/LC_MESSAGES
-#usr/lib/locale/om_ET/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/om_ET/LC_MONETARY
-#usr/lib/locale/om_ET/LC_NAME
-#usr/lib/locale/om_ET/LC_NUMERIC
-#usr/lib/locale/om_ET/LC_PAPER
-#usr/lib/locale/om_ET/LC_TELEPHONE
-#usr/lib/locale/om_ET/LC_TIME
-#usr/lib/locale/om_KE
-#usr/lib/locale/om_KE.utf8
-#usr/lib/locale/om_KE.utf8/LC_ADDRESS
-#usr/lib/locale/om_KE.utf8/LC_COLLATE
-#usr/lib/locale/om_KE.utf8/LC_CTYPE
-#usr/lib/locale/om_KE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/om_KE.utf8/LC_MEASUREMENT
-#usr/lib/locale/om_KE.utf8/LC_MESSAGES
-#usr/lib/locale/om_KE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/om_KE.utf8/LC_MONETARY
-#usr/lib/locale/om_KE.utf8/LC_NAME
-#usr/lib/locale/om_KE.utf8/LC_NUMERIC
-#usr/lib/locale/om_KE.utf8/LC_PAPER
-#usr/lib/locale/om_KE.utf8/LC_TELEPHONE
-#usr/lib/locale/om_KE.utf8/LC_TIME
-#usr/lib/locale/om_KE/LC_ADDRESS
-#usr/lib/locale/om_KE/LC_COLLATE
-#usr/lib/locale/om_KE/LC_CTYPE
-#usr/lib/locale/om_KE/LC_IDENTIFICATION
-#usr/lib/locale/om_KE/LC_MEASUREMENT
-#usr/lib/locale/om_KE/LC_MESSAGES
-#usr/lib/locale/om_KE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/om_KE/LC_MONETARY
-#usr/lib/locale/om_KE/LC_NAME
-#usr/lib/locale/om_KE/LC_NUMERIC
-#usr/lib/locale/om_KE/LC_PAPER
-#usr/lib/locale/om_KE/LC_TELEPHONE
-#usr/lib/locale/om_KE/LC_TIME
-#usr/lib/locale/or_IN
-#usr/lib/locale/or_IN/LC_ADDRESS
-#usr/lib/locale/or_IN/LC_COLLATE
-#usr/lib/locale/or_IN/LC_CTYPE
-#usr/lib/locale/or_IN/LC_IDENTIFICATION
-#usr/lib/locale/or_IN/LC_MEASUREMENT
-#usr/lib/locale/or_IN/LC_MESSAGES
-#usr/lib/locale/or_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/or_IN/LC_MONETARY
-#usr/lib/locale/or_IN/LC_NAME
-#usr/lib/locale/or_IN/LC_NUMERIC
-#usr/lib/locale/or_IN/LC_PAPER
-#usr/lib/locale/or_IN/LC_TELEPHONE
-#usr/lib/locale/or_IN/LC_TIME
-#usr/lib/locale/pa_IN
-#usr/lib/locale/pa_IN/LC_ADDRESS
-#usr/lib/locale/pa_IN/LC_COLLATE
-#usr/lib/locale/pa_IN/LC_CTYPE
-#usr/lib/locale/pa_IN/LC_IDENTIFICATION
-#usr/lib/locale/pa_IN/LC_MEASUREMENT
-#usr/lib/locale/pa_IN/LC_MESSAGES
-#usr/lib/locale/pa_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/pa_IN/LC_MONETARY
-#usr/lib/locale/pa_IN/LC_NAME
-#usr/lib/locale/pa_IN/LC_NUMERIC
-#usr/lib/locale/pa_IN/LC_PAPER
-#usr/lib/locale/pa_IN/LC_TELEPHONE
-#usr/lib/locale/pa_IN/LC_TIME
-#usr/lib/locale/pa_PK
-#usr/lib/locale/pa_PK/LC_ADDRESS
-#usr/lib/locale/pa_PK/LC_COLLATE
-#usr/lib/locale/pa_PK/LC_CTYPE
-#usr/lib/locale/pa_PK/LC_IDENTIFICATION
-#usr/lib/locale/pa_PK/LC_MEASUREMENT
-#usr/lib/locale/pa_PK/LC_MESSAGES
-#usr/lib/locale/pa_PK/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/pa_PK/LC_MONETARY
-#usr/lib/locale/pa_PK/LC_NAME
-#usr/lib/locale/pa_PK/LC_NUMERIC
-#usr/lib/locale/pa_PK/LC_PAPER
-#usr/lib/locale/pa_PK/LC_TELEPHONE
-#usr/lib/locale/pa_PK/LC_TIME
-#usr/lib/locale/pap_AN
-#usr/lib/locale/pap_AN/LC_ADDRESS
-#usr/lib/locale/pap_AN/LC_COLLATE
-#usr/lib/locale/pap_AN/LC_CTYPE
-#usr/lib/locale/pap_AN/LC_IDENTIFICATION
-#usr/lib/locale/pap_AN/LC_MEASUREMENT
-#usr/lib/locale/pap_AN/LC_MESSAGES
-#usr/lib/locale/pap_AN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/pap_AN/LC_MONETARY
-#usr/lib/locale/pap_AN/LC_NAME
-#usr/lib/locale/pap_AN/LC_NUMERIC
-#usr/lib/locale/pap_AN/LC_PAPER
-#usr/lib/locale/pap_AN/LC_TELEPHONE
-#usr/lib/locale/pap_AN/LC_TIME
-#usr/lib/locale/pl_PL
-#usr/lib/locale/pl_PL.utf8
-#usr/lib/locale/pl_PL.utf8/LC_ADDRESS
-#usr/lib/locale/pl_PL.utf8/LC_COLLATE
-#usr/lib/locale/pl_PL.utf8/LC_CTYPE
-#usr/lib/locale/pl_PL.utf8/LC_IDENTIFICATION
-#usr/lib/locale/pl_PL.utf8/LC_MEASUREMENT
-#usr/lib/locale/pl_PL.utf8/LC_MESSAGES
-#usr/lib/locale/pl_PL.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/pl_PL.utf8/LC_MONETARY
-#usr/lib/locale/pl_PL.utf8/LC_NAME
-#usr/lib/locale/pl_PL.utf8/LC_NUMERIC
-#usr/lib/locale/pl_PL.utf8/LC_PAPER
-#usr/lib/locale/pl_PL.utf8/LC_TELEPHONE
-#usr/lib/locale/pl_PL.utf8/LC_TIME
-#usr/lib/locale/pl_PL/LC_ADDRESS
-#usr/lib/locale/pl_PL/LC_COLLATE
-#usr/lib/locale/pl_PL/LC_CTYPE
-#usr/lib/locale/pl_PL/LC_IDENTIFICATION
-#usr/lib/locale/pl_PL/LC_MEASUREMENT
-#usr/lib/locale/pl_PL/LC_MESSAGES
-#usr/lib/locale/pl_PL/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/pl_PL/LC_MONETARY
-#usr/lib/locale/pl_PL/LC_NAME
-#usr/lib/locale/pl_PL/LC_NUMERIC
-#usr/lib/locale/pl_PL/LC_PAPER
-#usr/lib/locale/pl_PL/LC_TELEPHONE
-#usr/lib/locale/pl_PL/LC_TIME
-#usr/lib/locale/ps_AF
-#usr/lib/locale/ps_AF/LC_ADDRESS
-#usr/lib/locale/ps_AF/LC_COLLATE
-#usr/lib/locale/ps_AF/LC_CTYPE
-#usr/lib/locale/ps_AF/LC_IDENTIFICATION
-#usr/lib/locale/ps_AF/LC_MEASUREMENT
-#usr/lib/locale/ps_AF/LC_MESSAGES
-#usr/lib/locale/ps_AF/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ps_AF/LC_MONETARY
-#usr/lib/locale/ps_AF/LC_NAME
-#usr/lib/locale/ps_AF/LC_NUMERIC
-#usr/lib/locale/ps_AF/LC_PAPER
-#usr/lib/locale/ps_AF/LC_TELEPHONE
-#usr/lib/locale/ps_AF/LC_TIME
-#usr/lib/locale/pt_BR
-#usr/lib/locale/pt_BR.utf8
-#usr/lib/locale/pt_BR.utf8/LC_ADDRESS
-#usr/lib/locale/pt_BR.utf8/LC_COLLATE
-#usr/lib/locale/pt_BR.utf8/LC_CTYPE
-#usr/lib/locale/pt_BR.utf8/LC_IDENTIFICATION
-#usr/lib/locale/pt_BR.utf8/LC_MEASUREMENT
-#usr/lib/locale/pt_BR.utf8/LC_MESSAGES
-#usr/lib/locale/pt_BR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/pt_BR.utf8/LC_MONETARY
-#usr/lib/locale/pt_BR.utf8/LC_NAME
-#usr/lib/locale/pt_BR.utf8/LC_NUMERIC
-#usr/lib/locale/pt_BR.utf8/LC_PAPER
-#usr/lib/locale/pt_BR.utf8/LC_TELEPHONE
-#usr/lib/locale/pt_BR.utf8/LC_TIME
-#usr/lib/locale/pt_BR/LC_ADDRESS
-#usr/lib/locale/pt_BR/LC_COLLATE
-#usr/lib/locale/pt_BR/LC_CTYPE
-#usr/lib/locale/pt_BR/LC_IDENTIFICATION
-#usr/lib/locale/pt_BR/LC_MEASUREMENT
-#usr/lib/locale/pt_BR/LC_MESSAGES
-#usr/lib/locale/pt_BR/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/pt_BR/LC_MONETARY
-#usr/lib/locale/pt_BR/LC_NAME
-#usr/lib/locale/pt_BR/LC_NUMERIC
-#usr/lib/locale/pt_BR/LC_PAPER
-#usr/lib/locale/pt_BR/LC_TELEPHONE
-#usr/lib/locale/pt_BR/LC_TIME
-#usr/lib/locale/pt_PT
-#usr/lib/locale/pt_PT.utf8
-#usr/lib/locale/pt_PT.utf8/LC_ADDRESS
-#usr/lib/locale/pt_PT.utf8/LC_COLLATE
-#usr/lib/locale/pt_PT.utf8/LC_CTYPE
-#usr/lib/locale/pt_PT.utf8/LC_IDENTIFICATION
-#usr/lib/locale/pt_PT.utf8/LC_MEASUREMENT
-#usr/lib/locale/pt_PT.utf8/LC_MESSAGES
-#usr/lib/locale/pt_PT.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/pt_PT.utf8/LC_MONETARY
-#usr/lib/locale/pt_PT.utf8/LC_NAME
-#usr/lib/locale/pt_PT.utf8/LC_NUMERIC
-#usr/lib/locale/pt_PT.utf8/LC_PAPER
-#usr/lib/locale/pt_PT.utf8/LC_TELEPHONE
-#usr/lib/locale/pt_PT.utf8/LC_TIME
-#usr/lib/locale/pt_PT/LC_ADDRESS
-#usr/lib/locale/pt_PT/LC_COLLATE
-#usr/lib/locale/pt_PT/LC_CTYPE
-#usr/lib/locale/pt_PT/LC_IDENTIFICATION
-#usr/lib/locale/pt_PT/LC_MEASUREMENT
-#usr/lib/locale/pt_PT/LC_MESSAGES
-#usr/lib/locale/pt_PT/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/pt_PT/LC_MONETARY
-#usr/lib/locale/pt_PT/LC_NAME
-#usr/lib/locale/pt_PT/LC_NUMERIC
-#usr/lib/locale/pt_PT/LC_PAPER
-#usr/lib/locale/pt_PT/LC_TELEPHONE
-#usr/lib/locale/pt_PT/LC_TIME
-#usr/lib/locale/pt_PT@euro
-#usr/lib/locale/pt_PT@euro/LC_ADDRESS
-#usr/lib/locale/pt_PT@euro/LC_COLLATE
-#usr/lib/locale/pt_PT@euro/LC_CTYPE
-#usr/lib/locale/pt_PT@euro/LC_IDENTIFICATION
-#usr/lib/locale/pt_PT@euro/LC_MEASUREMENT
-#usr/lib/locale/pt_PT@euro/LC_MESSAGES
-#usr/lib/locale/pt_PT@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/pt_PT@euro/LC_MONETARY
-#usr/lib/locale/pt_PT@euro/LC_NAME
-#usr/lib/locale/pt_PT@euro/LC_NUMERIC
-#usr/lib/locale/pt_PT@euro/LC_PAPER
-#usr/lib/locale/pt_PT@euro/LC_TELEPHONE
-#usr/lib/locale/pt_PT@euro/LC_TIME
-#usr/lib/locale/ro_RO
-#usr/lib/locale/ro_RO.utf8
-#usr/lib/locale/ro_RO.utf8/LC_ADDRESS
-#usr/lib/locale/ro_RO.utf8/LC_COLLATE
-#usr/lib/locale/ro_RO.utf8/LC_CTYPE
-#usr/lib/locale/ro_RO.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ro_RO.utf8/LC_MEASUREMENT
-#usr/lib/locale/ro_RO.utf8/LC_MESSAGES
-#usr/lib/locale/ro_RO.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ro_RO.utf8/LC_MONETARY
-#usr/lib/locale/ro_RO.utf8/LC_NAME
-#usr/lib/locale/ro_RO.utf8/LC_NUMERIC
-#usr/lib/locale/ro_RO.utf8/LC_PAPER
-#usr/lib/locale/ro_RO.utf8/LC_TELEPHONE
-#usr/lib/locale/ro_RO.utf8/LC_TIME
-#usr/lib/locale/ro_RO/LC_ADDRESS
-#usr/lib/locale/ro_RO/LC_COLLATE
-#usr/lib/locale/ro_RO/LC_CTYPE
-#usr/lib/locale/ro_RO/LC_IDENTIFICATION
-#usr/lib/locale/ro_RO/LC_MEASUREMENT
-#usr/lib/locale/ro_RO/LC_MESSAGES
-#usr/lib/locale/ro_RO/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ro_RO/LC_MONETARY
-#usr/lib/locale/ro_RO/LC_NAME
-#usr/lib/locale/ro_RO/LC_NUMERIC
-#usr/lib/locale/ro_RO/LC_PAPER
-#usr/lib/locale/ro_RO/LC_TELEPHONE
-#usr/lib/locale/ro_RO/LC_TIME
-#usr/lib/locale/ru_RU
-#usr/lib/locale/ru_RU.koi8r
-#usr/lib/locale/ru_RU.koi8r/LC_ADDRESS
-#usr/lib/locale/ru_RU.koi8r/LC_COLLATE
-#usr/lib/locale/ru_RU.koi8r/LC_CTYPE
-#usr/lib/locale/ru_RU.koi8r/LC_IDENTIFICATION
-#usr/lib/locale/ru_RU.koi8r/LC_MEASUREMENT
-#usr/lib/locale/ru_RU.koi8r/LC_MESSAGES
-#usr/lib/locale/ru_RU.koi8r/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ru_RU.koi8r/LC_MONETARY
-#usr/lib/locale/ru_RU.koi8r/LC_NAME
-#usr/lib/locale/ru_RU.koi8r/LC_NUMERIC
-#usr/lib/locale/ru_RU.koi8r/LC_PAPER
-#usr/lib/locale/ru_RU.koi8r/LC_TELEPHONE
-#usr/lib/locale/ru_RU.koi8r/LC_TIME
-#usr/lib/locale/ru_RU.utf8
-#usr/lib/locale/ru_RU.utf8/LC_ADDRESS
-#usr/lib/locale/ru_RU.utf8/LC_COLLATE
-#usr/lib/locale/ru_RU.utf8/LC_CTYPE
-#usr/lib/locale/ru_RU.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ru_RU.utf8/LC_MEASUREMENT
-#usr/lib/locale/ru_RU.utf8/LC_MESSAGES
-#usr/lib/locale/ru_RU.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ru_RU.utf8/LC_MONETARY
-#usr/lib/locale/ru_RU.utf8/LC_NAME
-#usr/lib/locale/ru_RU.utf8/LC_NUMERIC
-#usr/lib/locale/ru_RU.utf8/LC_PAPER
-#usr/lib/locale/ru_RU.utf8/LC_TELEPHONE
-#usr/lib/locale/ru_RU.utf8/LC_TIME
-#usr/lib/locale/ru_RU/LC_ADDRESS
-#usr/lib/locale/ru_RU/LC_COLLATE
-#usr/lib/locale/ru_RU/LC_CTYPE
-#usr/lib/locale/ru_RU/LC_IDENTIFICATION
-#usr/lib/locale/ru_RU/LC_MEASUREMENT
-#usr/lib/locale/ru_RU/LC_MESSAGES
-#usr/lib/locale/ru_RU/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ru_RU/LC_MONETARY
-#usr/lib/locale/ru_RU/LC_NAME
-#usr/lib/locale/ru_RU/LC_NUMERIC
-#usr/lib/locale/ru_RU/LC_PAPER
-#usr/lib/locale/ru_RU/LC_TELEPHONE
-#usr/lib/locale/ru_RU/LC_TIME
-#usr/lib/locale/ru_UA
-#usr/lib/locale/ru_UA.utf8
-#usr/lib/locale/ru_UA.utf8/LC_ADDRESS
-#usr/lib/locale/ru_UA.utf8/LC_COLLATE
-#usr/lib/locale/ru_UA.utf8/LC_CTYPE
-#usr/lib/locale/ru_UA.utf8/LC_IDENTIFICATION
-#usr/lib/locale/ru_UA.utf8/LC_MEASUREMENT
-#usr/lib/locale/ru_UA.utf8/LC_MESSAGES
-#usr/lib/locale/ru_UA.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ru_UA.utf8/LC_MONETARY
-#usr/lib/locale/ru_UA.utf8/LC_NAME
-#usr/lib/locale/ru_UA.utf8/LC_NUMERIC
-#usr/lib/locale/ru_UA.utf8/LC_PAPER
-#usr/lib/locale/ru_UA.utf8/LC_TELEPHONE
-#usr/lib/locale/ru_UA.utf8/LC_TIME
-#usr/lib/locale/ru_UA/LC_ADDRESS
-#usr/lib/locale/ru_UA/LC_COLLATE
-#usr/lib/locale/ru_UA/LC_CTYPE
-#usr/lib/locale/ru_UA/LC_IDENTIFICATION
-#usr/lib/locale/ru_UA/LC_MEASUREMENT
-#usr/lib/locale/ru_UA/LC_MESSAGES
-#usr/lib/locale/ru_UA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ru_UA/LC_MONETARY
-#usr/lib/locale/ru_UA/LC_NAME
-#usr/lib/locale/ru_UA/LC_NUMERIC
-#usr/lib/locale/ru_UA/LC_PAPER
-#usr/lib/locale/ru_UA/LC_TELEPHONE
-#usr/lib/locale/ru_UA/LC_TIME
-#usr/lib/locale/rw_RW
-#usr/lib/locale/rw_RW/LC_ADDRESS
-#usr/lib/locale/rw_RW/LC_COLLATE
-#usr/lib/locale/rw_RW/LC_CTYPE
-#usr/lib/locale/rw_RW/LC_IDENTIFICATION
-#usr/lib/locale/rw_RW/LC_MEASUREMENT
-#usr/lib/locale/rw_RW/LC_MESSAGES
-#usr/lib/locale/rw_RW/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/rw_RW/LC_MONETARY
-#usr/lib/locale/rw_RW/LC_NAME
-#usr/lib/locale/rw_RW/LC_NUMERIC
-#usr/lib/locale/rw_RW/LC_PAPER
-#usr/lib/locale/rw_RW/LC_TELEPHONE
-#usr/lib/locale/rw_RW/LC_TIME
-#usr/lib/locale/sa_IN
-#usr/lib/locale/sa_IN/LC_ADDRESS
-#usr/lib/locale/sa_IN/LC_COLLATE
-#usr/lib/locale/sa_IN/LC_CTYPE
-#usr/lib/locale/sa_IN/LC_IDENTIFICATION
-#usr/lib/locale/sa_IN/LC_MEASUREMENT
-#usr/lib/locale/sa_IN/LC_MESSAGES
-#usr/lib/locale/sa_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sa_IN/LC_MONETARY
-#usr/lib/locale/sa_IN/LC_NAME
-#usr/lib/locale/sa_IN/LC_NUMERIC
-#usr/lib/locale/sa_IN/LC_PAPER
-#usr/lib/locale/sa_IN/LC_TELEPHONE
-#usr/lib/locale/sa_IN/LC_TIME
-#usr/lib/locale/sc_IT
-#usr/lib/locale/sc_IT/LC_ADDRESS
-#usr/lib/locale/sc_IT/LC_COLLATE
-#usr/lib/locale/sc_IT/LC_CTYPE
-#usr/lib/locale/sc_IT/LC_IDENTIFICATION
-#usr/lib/locale/sc_IT/LC_MEASUREMENT
-#usr/lib/locale/sc_IT/LC_MESSAGES
-#usr/lib/locale/sc_IT/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sc_IT/LC_MONETARY
-#usr/lib/locale/sc_IT/LC_NAME
-#usr/lib/locale/sc_IT/LC_NUMERIC
-#usr/lib/locale/sc_IT/LC_PAPER
-#usr/lib/locale/sc_IT/LC_TELEPHONE
-#usr/lib/locale/sc_IT/LC_TIME
-#usr/lib/locale/sd_IN
-#usr/lib/locale/sd_IN/LC_ADDRESS
-#usr/lib/locale/sd_IN/LC_COLLATE
-#usr/lib/locale/sd_IN/LC_CTYPE
-#usr/lib/locale/sd_IN/LC_IDENTIFICATION
-#usr/lib/locale/sd_IN/LC_MEASUREMENT
-#usr/lib/locale/sd_IN/LC_MESSAGES
-#usr/lib/locale/sd_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sd_IN/LC_MONETARY
-#usr/lib/locale/sd_IN/LC_NAME
-#usr/lib/locale/sd_IN/LC_NUMERIC
-#usr/lib/locale/sd_IN/LC_PAPER
-#usr/lib/locale/sd_IN/LC_TELEPHONE
-#usr/lib/locale/sd_IN/LC_TIME
-#usr/lib/locale/sd_IN@devanagari
-#usr/lib/locale/sd_IN@devanagari/LC_ADDRESS
-#usr/lib/locale/sd_IN@devanagari/LC_COLLATE
-#usr/lib/locale/sd_IN@devanagari/LC_CTYPE
-#usr/lib/locale/sd_IN@devanagari/LC_IDENTIFICATION
-#usr/lib/locale/sd_IN@devanagari/LC_MEASUREMENT
-#usr/lib/locale/sd_IN@devanagari/LC_MESSAGES
-#usr/lib/locale/sd_IN@devanagari/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sd_IN@devanagari/LC_MONETARY
-#usr/lib/locale/sd_IN@devanagari/LC_NAME
-#usr/lib/locale/sd_IN@devanagari/LC_NUMERIC
-#usr/lib/locale/sd_IN@devanagari/LC_PAPER
-#usr/lib/locale/sd_IN@devanagari/LC_TELEPHONE
-#usr/lib/locale/sd_IN@devanagari/LC_TIME
-#usr/lib/locale/se_NO
-#usr/lib/locale/se_NO/LC_ADDRESS
-#usr/lib/locale/se_NO/LC_COLLATE
-#usr/lib/locale/se_NO/LC_CTYPE
-#usr/lib/locale/se_NO/LC_IDENTIFICATION
-#usr/lib/locale/se_NO/LC_MEASUREMENT
-#usr/lib/locale/se_NO/LC_MESSAGES
-#usr/lib/locale/se_NO/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/se_NO/LC_MONETARY
-#usr/lib/locale/se_NO/LC_NAME
-#usr/lib/locale/se_NO/LC_NUMERIC
-#usr/lib/locale/se_NO/LC_PAPER
-#usr/lib/locale/se_NO/LC_TELEPHONE
-#usr/lib/locale/se_NO/LC_TIME
-#usr/lib/locale/shs_CA
-#usr/lib/locale/shs_CA/LC_ADDRESS
-#usr/lib/locale/shs_CA/LC_COLLATE
-#usr/lib/locale/shs_CA/LC_CTYPE
-#usr/lib/locale/shs_CA/LC_IDENTIFICATION
-#usr/lib/locale/shs_CA/LC_MEASUREMENT
-#usr/lib/locale/shs_CA/LC_MESSAGES
-#usr/lib/locale/shs_CA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/shs_CA/LC_MONETARY
-#usr/lib/locale/shs_CA/LC_NAME
-#usr/lib/locale/shs_CA/LC_NUMERIC
-#usr/lib/locale/shs_CA/LC_PAPER
-#usr/lib/locale/shs_CA/LC_TELEPHONE
-#usr/lib/locale/shs_CA/LC_TIME
-#usr/lib/locale/si_LK
-#usr/lib/locale/si_LK/LC_ADDRESS
-#usr/lib/locale/si_LK/LC_COLLATE
-#usr/lib/locale/si_LK/LC_CTYPE
-#usr/lib/locale/si_LK/LC_IDENTIFICATION
-#usr/lib/locale/si_LK/LC_MEASUREMENT
-#usr/lib/locale/si_LK/LC_MESSAGES
-#usr/lib/locale/si_LK/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/si_LK/LC_MONETARY
-#usr/lib/locale/si_LK/LC_NAME
-#usr/lib/locale/si_LK/LC_NUMERIC
-#usr/lib/locale/si_LK/LC_PAPER
-#usr/lib/locale/si_LK/LC_TELEPHONE
-#usr/lib/locale/si_LK/LC_TIME
-#usr/lib/locale/sid_ET
-#usr/lib/locale/sid_ET/LC_ADDRESS
-#usr/lib/locale/sid_ET/LC_COLLATE
-#usr/lib/locale/sid_ET/LC_CTYPE
-#usr/lib/locale/sid_ET/LC_IDENTIFICATION
-#usr/lib/locale/sid_ET/LC_MEASUREMENT
-#usr/lib/locale/sid_ET/LC_MESSAGES
-#usr/lib/locale/sid_ET/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sid_ET/LC_MONETARY
-#usr/lib/locale/sid_ET/LC_NAME
-#usr/lib/locale/sid_ET/LC_NUMERIC
-#usr/lib/locale/sid_ET/LC_PAPER
-#usr/lib/locale/sid_ET/LC_TELEPHONE
-#usr/lib/locale/sid_ET/LC_TIME
-#usr/lib/locale/sk_SK
-#usr/lib/locale/sk_SK.utf8
-#usr/lib/locale/sk_SK.utf8/LC_ADDRESS
-#usr/lib/locale/sk_SK.utf8/LC_COLLATE
-#usr/lib/locale/sk_SK.utf8/LC_CTYPE
-#usr/lib/locale/sk_SK.utf8/LC_IDENTIFICATION
-#usr/lib/locale/sk_SK.utf8/LC_MEASUREMENT
-#usr/lib/locale/sk_SK.utf8/LC_MESSAGES
-#usr/lib/locale/sk_SK.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sk_SK.utf8/LC_MONETARY
-#usr/lib/locale/sk_SK.utf8/LC_NAME
-#usr/lib/locale/sk_SK.utf8/LC_NUMERIC
-#usr/lib/locale/sk_SK.utf8/LC_PAPER
-#usr/lib/locale/sk_SK.utf8/LC_TELEPHONE
-#usr/lib/locale/sk_SK.utf8/LC_TIME
-#usr/lib/locale/sk_SK/LC_ADDRESS
-#usr/lib/locale/sk_SK/LC_COLLATE
-#usr/lib/locale/sk_SK/LC_CTYPE
-#usr/lib/locale/sk_SK/LC_IDENTIFICATION
-#usr/lib/locale/sk_SK/LC_MEASUREMENT
-#usr/lib/locale/sk_SK/LC_MESSAGES
-#usr/lib/locale/sk_SK/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sk_SK/LC_MONETARY
-#usr/lib/locale/sk_SK/LC_NAME
-#usr/lib/locale/sk_SK/LC_NUMERIC
-#usr/lib/locale/sk_SK/LC_PAPER
-#usr/lib/locale/sk_SK/LC_TELEPHONE
-#usr/lib/locale/sk_SK/LC_TIME
-#usr/lib/locale/sl_SI
-#usr/lib/locale/sl_SI.utf8
-#usr/lib/locale/sl_SI.utf8/LC_ADDRESS
-#usr/lib/locale/sl_SI.utf8/LC_COLLATE
-#usr/lib/locale/sl_SI.utf8/LC_CTYPE
-#usr/lib/locale/sl_SI.utf8/LC_IDENTIFICATION
-#usr/lib/locale/sl_SI.utf8/LC_MEASUREMENT
-#usr/lib/locale/sl_SI.utf8/LC_MESSAGES
-#usr/lib/locale/sl_SI.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sl_SI.utf8/LC_MONETARY
-#usr/lib/locale/sl_SI.utf8/LC_NAME
-#usr/lib/locale/sl_SI.utf8/LC_NUMERIC
-#usr/lib/locale/sl_SI.utf8/LC_PAPER
-#usr/lib/locale/sl_SI.utf8/LC_TELEPHONE
-#usr/lib/locale/sl_SI.utf8/LC_TIME
-#usr/lib/locale/sl_SI/LC_ADDRESS
-#usr/lib/locale/sl_SI/LC_COLLATE
-#usr/lib/locale/sl_SI/LC_CTYPE
-#usr/lib/locale/sl_SI/LC_IDENTIFICATION
-#usr/lib/locale/sl_SI/LC_MEASUREMENT
-#usr/lib/locale/sl_SI/LC_MESSAGES
-#usr/lib/locale/sl_SI/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sl_SI/LC_MONETARY
-#usr/lib/locale/sl_SI/LC_NAME
-#usr/lib/locale/sl_SI/LC_NUMERIC
-#usr/lib/locale/sl_SI/LC_PAPER
-#usr/lib/locale/sl_SI/LC_TELEPHONE
-#usr/lib/locale/sl_SI/LC_TIME
-#usr/lib/locale/so_DJ
-#usr/lib/locale/so_DJ.utf8
-#usr/lib/locale/so_DJ.utf8/LC_ADDRESS
-#usr/lib/locale/so_DJ.utf8/LC_COLLATE
-#usr/lib/locale/so_DJ.utf8/LC_CTYPE
-#usr/lib/locale/so_DJ.utf8/LC_IDENTIFICATION
-#usr/lib/locale/so_DJ.utf8/LC_MEASUREMENT
-#usr/lib/locale/so_DJ.utf8/LC_MESSAGES
-#usr/lib/locale/so_DJ.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/so_DJ.utf8/LC_MONETARY
-#usr/lib/locale/so_DJ.utf8/LC_NAME
-#usr/lib/locale/so_DJ.utf8/LC_NUMERIC
-#usr/lib/locale/so_DJ.utf8/LC_PAPER
-#usr/lib/locale/so_DJ.utf8/LC_TELEPHONE
-#usr/lib/locale/so_DJ.utf8/LC_TIME
-#usr/lib/locale/so_DJ/LC_ADDRESS
-#usr/lib/locale/so_DJ/LC_COLLATE
-#usr/lib/locale/so_DJ/LC_CTYPE
-#usr/lib/locale/so_DJ/LC_IDENTIFICATION
-#usr/lib/locale/so_DJ/LC_MEASUREMENT
-#usr/lib/locale/so_DJ/LC_MESSAGES
-#usr/lib/locale/so_DJ/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/so_DJ/LC_MONETARY
-#usr/lib/locale/so_DJ/LC_NAME
-#usr/lib/locale/so_DJ/LC_NUMERIC
-#usr/lib/locale/so_DJ/LC_PAPER
-#usr/lib/locale/so_DJ/LC_TELEPHONE
-#usr/lib/locale/so_DJ/LC_TIME
-#usr/lib/locale/so_ET
-#usr/lib/locale/so_ET/LC_ADDRESS
-#usr/lib/locale/so_ET/LC_COLLATE
-#usr/lib/locale/so_ET/LC_CTYPE
-#usr/lib/locale/so_ET/LC_IDENTIFICATION
-#usr/lib/locale/so_ET/LC_MEASUREMENT
-#usr/lib/locale/so_ET/LC_MESSAGES
-#usr/lib/locale/so_ET/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/so_ET/LC_MONETARY
-#usr/lib/locale/so_ET/LC_NAME
-#usr/lib/locale/so_ET/LC_NUMERIC
-#usr/lib/locale/so_ET/LC_PAPER
-#usr/lib/locale/so_ET/LC_TELEPHONE
-#usr/lib/locale/so_ET/LC_TIME
-#usr/lib/locale/so_KE
-#usr/lib/locale/so_KE.utf8
-#usr/lib/locale/so_KE.utf8/LC_ADDRESS
-#usr/lib/locale/so_KE.utf8/LC_COLLATE
-#usr/lib/locale/so_KE.utf8/LC_CTYPE
-#usr/lib/locale/so_KE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/so_KE.utf8/LC_MEASUREMENT
-#usr/lib/locale/so_KE.utf8/LC_MESSAGES
-#usr/lib/locale/so_KE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/so_KE.utf8/LC_MONETARY
-#usr/lib/locale/so_KE.utf8/LC_NAME
-#usr/lib/locale/so_KE.utf8/LC_NUMERIC
-#usr/lib/locale/so_KE.utf8/LC_PAPER
-#usr/lib/locale/so_KE.utf8/LC_TELEPHONE
-#usr/lib/locale/so_KE.utf8/LC_TIME
-#usr/lib/locale/so_KE/LC_ADDRESS
-#usr/lib/locale/so_KE/LC_COLLATE
-#usr/lib/locale/so_KE/LC_CTYPE
-#usr/lib/locale/so_KE/LC_IDENTIFICATION
-#usr/lib/locale/so_KE/LC_MEASUREMENT
-#usr/lib/locale/so_KE/LC_MESSAGES
-#usr/lib/locale/so_KE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/so_KE/LC_MONETARY
-#usr/lib/locale/so_KE/LC_NAME
-#usr/lib/locale/so_KE/LC_NUMERIC
-#usr/lib/locale/so_KE/LC_PAPER
-#usr/lib/locale/so_KE/LC_TELEPHONE
-#usr/lib/locale/so_KE/LC_TIME
-#usr/lib/locale/so_SO
-#usr/lib/locale/so_SO.utf8
-#usr/lib/locale/so_SO.utf8/LC_ADDRESS
-#usr/lib/locale/so_SO.utf8/LC_COLLATE
-#usr/lib/locale/so_SO.utf8/LC_CTYPE
-#usr/lib/locale/so_SO.utf8/LC_IDENTIFICATION
-#usr/lib/locale/so_SO.utf8/LC_MEASUREMENT
-#usr/lib/locale/so_SO.utf8/LC_MESSAGES
-#usr/lib/locale/so_SO.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/so_SO.utf8/LC_MONETARY
-#usr/lib/locale/so_SO.utf8/LC_NAME
-#usr/lib/locale/so_SO.utf8/LC_NUMERIC
-#usr/lib/locale/so_SO.utf8/LC_PAPER
-#usr/lib/locale/so_SO.utf8/LC_TELEPHONE
-#usr/lib/locale/so_SO.utf8/LC_TIME
-#usr/lib/locale/so_SO/LC_ADDRESS
-#usr/lib/locale/so_SO/LC_COLLATE
-#usr/lib/locale/so_SO/LC_CTYPE
-#usr/lib/locale/so_SO/LC_IDENTIFICATION
-#usr/lib/locale/so_SO/LC_MEASUREMENT
-#usr/lib/locale/so_SO/LC_MESSAGES
-#usr/lib/locale/so_SO/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/so_SO/LC_MONETARY
-#usr/lib/locale/so_SO/LC_NAME
-#usr/lib/locale/so_SO/LC_NUMERIC
-#usr/lib/locale/so_SO/LC_PAPER
-#usr/lib/locale/so_SO/LC_TELEPHONE
-#usr/lib/locale/so_SO/LC_TIME
-#usr/lib/locale/sq_AL
-#usr/lib/locale/sq_AL.utf8
-#usr/lib/locale/sq_AL.utf8/LC_ADDRESS
-#usr/lib/locale/sq_AL.utf8/LC_COLLATE
-#usr/lib/locale/sq_AL.utf8/LC_CTYPE
-#usr/lib/locale/sq_AL.utf8/LC_IDENTIFICATION
-#usr/lib/locale/sq_AL.utf8/LC_MEASUREMENT
-#usr/lib/locale/sq_AL.utf8/LC_MESSAGES
-#usr/lib/locale/sq_AL.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sq_AL.utf8/LC_MONETARY
-#usr/lib/locale/sq_AL.utf8/LC_NAME
-#usr/lib/locale/sq_AL.utf8/LC_NUMERIC
-#usr/lib/locale/sq_AL.utf8/LC_PAPER
-#usr/lib/locale/sq_AL.utf8/LC_TELEPHONE
-#usr/lib/locale/sq_AL.utf8/LC_TIME
-#usr/lib/locale/sq_AL/LC_ADDRESS
-#usr/lib/locale/sq_AL/LC_COLLATE
-#usr/lib/locale/sq_AL/LC_CTYPE
-#usr/lib/locale/sq_AL/LC_IDENTIFICATION
-#usr/lib/locale/sq_AL/LC_MEASUREMENT
-#usr/lib/locale/sq_AL/LC_MESSAGES
-#usr/lib/locale/sq_AL/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sq_AL/LC_MONETARY
-#usr/lib/locale/sq_AL/LC_NAME
-#usr/lib/locale/sq_AL/LC_NUMERIC
-#usr/lib/locale/sq_AL/LC_PAPER
-#usr/lib/locale/sq_AL/LC_TELEPHONE
-#usr/lib/locale/sq_AL/LC_TIME
-#usr/lib/locale/sq_MK
-#usr/lib/locale/sq_MK/LC_ADDRESS
-#usr/lib/locale/sq_MK/LC_COLLATE
-#usr/lib/locale/sq_MK/LC_CTYPE
-#usr/lib/locale/sq_MK/LC_IDENTIFICATION
-#usr/lib/locale/sq_MK/LC_MEASUREMENT
-#usr/lib/locale/sq_MK/LC_MESSAGES
-#usr/lib/locale/sq_MK/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sq_MK/LC_MONETARY
-#usr/lib/locale/sq_MK/LC_NAME
-#usr/lib/locale/sq_MK/LC_NUMERIC
-#usr/lib/locale/sq_MK/LC_PAPER
-#usr/lib/locale/sq_MK/LC_TELEPHONE
-#usr/lib/locale/sq_MK/LC_TIME
-#usr/lib/locale/sr_ME
-#usr/lib/locale/sr_ME/LC_ADDRESS
-#usr/lib/locale/sr_ME/LC_COLLATE
-#usr/lib/locale/sr_ME/LC_CTYPE
-#usr/lib/locale/sr_ME/LC_IDENTIFICATION
-#usr/lib/locale/sr_ME/LC_MEASUREMENT
-#usr/lib/locale/sr_ME/LC_MESSAGES
-#usr/lib/locale/sr_ME/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sr_ME/LC_MONETARY
-#usr/lib/locale/sr_ME/LC_NAME
-#usr/lib/locale/sr_ME/LC_NUMERIC
-#usr/lib/locale/sr_ME/LC_PAPER
-#usr/lib/locale/sr_ME/LC_TELEPHONE
-#usr/lib/locale/sr_ME/LC_TIME
-#usr/lib/locale/sr_RS
-#usr/lib/locale/sr_RS/LC_ADDRESS
-#usr/lib/locale/sr_RS/LC_COLLATE
-#usr/lib/locale/sr_RS/LC_CTYPE
-#usr/lib/locale/sr_RS/LC_IDENTIFICATION
-#usr/lib/locale/sr_RS/LC_MEASUREMENT
-#usr/lib/locale/sr_RS/LC_MESSAGES
-#usr/lib/locale/sr_RS/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sr_RS/LC_MONETARY
-#usr/lib/locale/sr_RS/LC_NAME
-#usr/lib/locale/sr_RS/LC_NUMERIC
-#usr/lib/locale/sr_RS/LC_PAPER
-#usr/lib/locale/sr_RS/LC_TELEPHONE
-#usr/lib/locale/sr_RS/LC_TIME
-#usr/lib/locale/sr_RS@latin
-#usr/lib/locale/sr_RS@latin/LC_ADDRESS
-#usr/lib/locale/sr_RS@latin/LC_COLLATE
-#usr/lib/locale/sr_RS@latin/LC_CTYPE
-#usr/lib/locale/sr_RS@latin/LC_IDENTIFICATION
-#usr/lib/locale/sr_RS@latin/LC_MEASUREMENT
-#usr/lib/locale/sr_RS@latin/LC_MESSAGES
-#usr/lib/locale/sr_RS@latin/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sr_RS@latin/LC_MONETARY
-#usr/lib/locale/sr_RS@latin/LC_NAME
-#usr/lib/locale/sr_RS@latin/LC_NUMERIC
-#usr/lib/locale/sr_RS@latin/LC_PAPER
-#usr/lib/locale/sr_RS@latin/LC_TELEPHONE
-#usr/lib/locale/sr_RS@latin/LC_TIME
-#usr/lib/locale/ss_ZA
-#usr/lib/locale/ss_ZA/LC_ADDRESS
-#usr/lib/locale/ss_ZA/LC_COLLATE
-#usr/lib/locale/ss_ZA/LC_CTYPE
-#usr/lib/locale/ss_ZA/LC_IDENTIFICATION
-#usr/lib/locale/ss_ZA/LC_MEASUREMENT
-#usr/lib/locale/ss_ZA/LC_MESSAGES
-#usr/lib/locale/ss_ZA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ss_ZA/LC_MONETARY
-#usr/lib/locale/ss_ZA/LC_NAME
-#usr/lib/locale/ss_ZA/LC_NUMERIC
-#usr/lib/locale/ss_ZA/LC_PAPER
-#usr/lib/locale/ss_ZA/LC_TELEPHONE
-#usr/lib/locale/ss_ZA/LC_TIME
-#usr/lib/locale/st_ZA
-#usr/lib/locale/st_ZA.utf8
-#usr/lib/locale/st_ZA.utf8/LC_ADDRESS
-#usr/lib/locale/st_ZA.utf8/LC_COLLATE
-#usr/lib/locale/st_ZA.utf8/LC_CTYPE
-#usr/lib/locale/st_ZA.utf8/LC_IDENTIFICATION
-#usr/lib/locale/st_ZA.utf8/LC_MEASUREMENT
-#usr/lib/locale/st_ZA.utf8/LC_MESSAGES
-#usr/lib/locale/st_ZA.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/st_ZA.utf8/LC_MONETARY
-#usr/lib/locale/st_ZA.utf8/LC_NAME
-#usr/lib/locale/st_ZA.utf8/LC_NUMERIC
-#usr/lib/locale/st_ZA.utf8/LC_PAPER
-#usr/lib/locale/st_ZA.utf8/LC_TELEPHONE
-#usr/lib/locale/st_ZA.utf8/LC_TIME
-#usr/lib/locale/st_ZA/LC_ADDRESS
-#usr/lib/locale/st_ZA/LC_COLLATE
-#usr/lib/locale/st_ZA/LC_CTYPE
-#usr/lib/locale/st_ZA/LC_IDENTIFICATION
-#usr/lib/locale/st_ZA/LC_MEASUREMENT
-#usr/lib/locale/st_ZA/LC_MESSAGES
-#usr/lib/locale/st_ZA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/st_ZA/LC_MONETARY
-#usr/lib/locale/st_ZA/LC_NAME
-#usr/lib/locale/st_ZA/LC_NUMERIC
-#usr/lib/locale/st_ZA/LC_PAPER
-#usr/lib/locale/st_ZA/LC_TELEPHONE
-#usr/lib/locale/st_ZA/LC_TIME
-#usr/lib/locale/sv_FI
-#usr/lib/locale/sv_FI.utf8
-#usr/lib/locale/sv_FI.utf8/LC_ADDRESS
-#usr/lib/locale/sv_FI.utf8/LC_COLLATE
-#usr/lib/locale/sv_FI.utf8/LC_CTYPE
-#usr/lib/locale/sv_FI.utf8/LC_IDENTIFICATION
-#usr/lib/locale/sv_FI.utf8/LC_MEASUREMENT
-#usr/lib/locale/sv_FI.utf8/LC_MESSAGES
-#usr/lib/locale/sv_FI.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sv_FI.utf8/LC_MONETARY
-#usr/lib/locale/sv_FI.utf8/LC_NAME
-#usr/lib/locale/sv_FI.utf8/LC_NUMERIC
-#usr/lib/locale/sv_FI.utf8/LC_PAPER
-#usr/lib/locale/sv_FI.utf8/LC_TELEPHONE
-#usr/lib/locale/sv_FI.utf8/LC_TIME
-#usr/lib/locale/sv_FI/LC_ADDRESS
-#usr/lib/locale/sv_FI/LC_COLLATE
-#usr/lib/locale/sv_FI/LC_CTYPE
-#usr/lib/locale/sv_FI/LC_IDENTIFICATION
-#usr/lib/locale/sv_FI/LC_MEASUREMENT
-#usr/lib/locale/sv_FI/LC_MESSAGES
-#usr/lib/locale/sv_FI/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sv_FI/LC_MONETARY
-#usr/lib/locale/sv_FI/LC_NAME
-#usr/lib/locale/sv_FI/LC_NUMERIC
-#usr/lib/locale/sv_FI/LC_PAPER
-#usr/lib/locale/sv_FI/LC_TELEPHONE
-#usr/lib/locale/sv_FI/LC_TIME
-#usr/lib/locale/sv_FI@euro
-#usr/lib/locale/sv_FI@euro/LC_ADDRESS
-#usr/lib/locale/sv_FI@euro/LC_COLLATE
-#usr/lib/locale/sv_FI@euro/LC_CTYPE
-#usr/lib/locale/sv_FI@euro/LC_IDENTIFICATION
-#usr/lib/locale/sv_FI@euro/LC_MEASUREMENT
-#usr/lib/locale/sv_FI@euro/LC_MESSAGES
-#usr/lib/locale/sv_FI@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sv_FI@euro/LC_MONETARY
-#usr/lib/locale/sv_FI@euro/LC_NAME
-#usr/lib/locale/sv_FI@euro/LC_NUMERIC
-#usr/lib/locale/sv_FI@euro/LC_PAPER
-#usr/lib/locale/sv_FI@euro/LC_TELEPHONE
-#usr/lib/locale/sv_FI@euro/LC_TIME
-#usr/lib/locale/sv_SE
-#usr/lib/locale/sv_SE.iso885915
-#usr/lib/locale/sv_SE.iso885915/LC_ADDRESS
-#usr/lib/locale/sv_SE.iso885915/LC_COLLATE
-#usr/lib/locale/sv_SE.iso885915/LC_CTYPE
-#usr/lib/locale/sv_SE.iso885915/LC_IDENTIFICATION
-#usr/lib/locale/sv_SE.iso885915/LC_MEASUREMENT
-#usr/lib/locale/sv_SE.iso885915/LC_MESSAGES
-#usr/lib/locale/sv_SE.iso885915/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sv_SE.iso885915/LC_MONETARY
-#usr/lib/locale/sv_SE.iso885915/LC_NAME
-#usr/lib/locale/sv_SE.iso885915/LC_NUMERIC
-#usr/lib/locale/sv_SE.iso885915/LC_PAPER
-#usr/lib/locale/sv_SE.iso885915/LC_TELEPHONE
-#usr/lib/locale/sv_SE.iso885915/LC_TIME
-#usr/lib/locale/sv_SE.utf8
-#usr/lib/locale/sv_SE.utf8/LC_ADDRESS
-#usr/lib/locale/sv_SE.utf8/LC_COLLATE
-#usr/lib/locale/sv_SE.utf8/LC_CTYPE
-#usr/lib/locale/sv_SE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/sv_SE.utf8/LC_MEASUREMENT
-#usr/lib/locale/sv_SE.utf8/LC_MESSAGES
-#usr/lib/locale/sv_SE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sv_SE.utf8/LC_MONETARY
-#usr/lib/locale/sv_SE.utf8/LC_NAME
-#usr/lib/locale/sv_SE.utf8/LC_NUMERIC
-#usr/lib/locale/sv_SE.utf8/LC_PAPER
-#usr/lib/locale/sv_SE.utf8/LC_TELEPHONE
-#usr/lib/locale/sv_SE.utf8/LC_TIME
-#usr/lib/locale/sv_SE/LC_ADDRESS
-#usr/lib/locale/sv_SE/LC_COLLATE
-#usr/lib/locale/sv_SE/LC_CTYPE
-#usr/lib/locale/sv_SE/LC_IDENTIFICATION
-#usr/lib/locale/sv_SE/LC_MEASUREMENT
-#usr/lib/locale/sv_SE/LC_MESSAGES
-#usr/lib/locale/sv_SE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/sv_SE/LC_MONETARY
-#usr/lib/locale/sv_SE/LC_NAME
-#usr/lib/locale/sv_SE/LC_NUMERIC
-#usr/lib/locale/sv_SE/LC_PAPER
-#usr/lib/locale/sv_SE/LC_TELEPHONE
-#usr/lib/locale/sv_SE/LC_TIME
-#usr/lib/locale/ta_IN
-#usr/lib/locale/ta_IN/LC_ADDRESS
-#usr/lib/locale/ta_IN/LC_COLLATE
-#usr/lib/locale/ta_IN/LC_CTYPE
-#usr/lib/locale/ta_IN/LC_IDENTIFICATION
-#usr/lib/locale/ta_IN/LC_MEASUREMENT
-#usr/lib/locale/ta_IN/LC_MESSAGES
-#usr/lib/locale/ta_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ta_IN/LC_MONETARY
-#usr/lib/locale/ta_IN/LC_NAME
-#usr/lib/locale/ta_IN/LC_NUMERIC
-#usr/lib/locale/ta_IN/LC_PAPER
-#usr/lib/locale/ta_IN/LC_TELEPHONE
-#usr/lib/locale/ta_IN/LC_TIME
-#usr/lib/locale/te_IN
-#usr/lib/locale/te_IN/LC_ADDRESS
-#usr/lib/locale/te_IN/LC_COLLATE
-#usr/lib/locale/te_IN/LC_CTYPE
-#usr/lib/locale/te_IN/LC_IDENTIFICATION
-#usr/lib/locale/te_IN/LC_MEASUREMENT
-#usr/lib/locale/te_IN/LC_MESSAGES
-#usr/lib/locale/te_IN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/te_IN/LC_MONETARY
-#usr/lib/locale/te_IN/LC_NAME
-#usr/lib/locale/te_IN/LC_NUMERIC
-#usr/lib/locale/te_IN/LC_PAPER
-#usr/lib/locale/te_IN/LC_TELEPHONE
-#usr/lib/locale/te_IN/LC_TIME
-#usr/lib/locale/tg_TJ
-#usr/lib/locale/tg_TJ.utf8
-#usr/lib/locale/tg_TJ.utf8/LC_ADDRESS
-#usr/lib/locale/tg_TJ.utf8/LC_COLLATE
-#usr/lib/locale/tg_TJ.utf8/LC_CTYPE
-#usr/lib/locale/tg_TJ.utf8/LC_IDENTIFICATION
-#usr/lib/locale/tg_TJ.utf8/LC_MEASUREMENT
-#usr/lib/locale/tg_TJ.utf8/LC_MESSAGES
-#usr/lib/locale/tg_TJ.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/tg_TJ.utf8/LC_MONETARY
-#usr/lib/locale/tg_TJ.utf8/LC_NAME
-#usr/lib/locale/tg_TJ.utf8/LC_NUMERIC
-#usr/lib/locale/tg_TJ.utf8/LC_PAPER
-#usr/lib/locale/tg_TJ.utf8/LC_TELEPHONE
-#usr/lib/locale/tg_TJ.utf8/LC_TIME
-#usr/lib/locale/tg_TJ/LC_ADDRESS
-#usr/lib/locale/tg_TJ/LC_COLLATE
-#usr/lib/locale/tg_TJ/LC_CTYPE
-#usr/lib/locale/tg_TJ/LC_IDENTIFICATION
-#usr/lib/locale/tg_TJ/LC_MEASUREMENT
-#usr/lib/locale/tg_TJ/LC_MESSAGES
-#usr/lib/locale/tg_TJ/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/tg_TJ/LC_MONETARY
-#usr/lib/locale/tg_TJ/LC_NAME
-#usr/lib/locale/tg_TJ/LC_NUMERIC
-#usr/lib/locale/tg_TJ/LC_PAPER
-#usr/lib/locale/tg_TJ/LC_TELEPHONE
-#usr/lib/locale/tg_TJ/LC_TIME
-#usr/lib/locale/th_TH
-#usr/lib/locale/th_TH.utf8
-#usr/lib/locale/th_TH.utf8/LC_ADDRESS
-#usr/lib/locale/th_TH.utf8/LC_COLLATE
-#usr/lib/locale/th_TH.utf8/LC_CTYPE
-#usr/lib/locale/th_TH.utf8/LC_IDENTIFICATION
-#usr/lib/locale/th_TH.utf8/LC_MEASUREMENT
-#usr/lib/locale/th_TH.utf8/LC_MESSAGES
-#usr/lib/locale/th_TH.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/th_TH.utf8/LC_MONETARY
-#usr/lib/locale/th_TH.utf8/LC_NAME
-#usr/lib/locale/th_TH.utf8/LC_NUMERIC
-#usr/lib/locale/th_TH.utf8/LC_PAPER
-#usr/lib/locale/th_TH.utf8/LC_TELEPHONE
-#usr/lib/locale/th_TH.utf8/LC_TIME
-#usr/lib/locale/th_TH/LC_ADDRESS
-#usr/lib/locale/th_TH/LC_COLLATE
-#usr/lib/locale/th_TH/LC_CTYPE
-#usr/lib/locale/th_TH/LC_IDENTIFICATION
-#usr/lib/locale/th_TH/LC_MEASUREMENT
-#usr/lib/locale/th_TH/LC_MESSAGES
-#usr/lib/locale/th_TH/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/th_TH/LC_MONETARY
-#usr/lib/locale/th_TH/LC_NAME
-#usr/lib/locale/th_TH/LC_NUMERIC
-#usr/lib/locale/th_TH/LC_PAPER
-#usr/lib/locale/th_TH/LC_TELEPHONE
-#usr/lib/locale/th_TH/LC_TIME
-#usr/lib/locale/ti_ER
-#usr/lib/locale/ti_ER/LC_ADDRESS
-#usr/lib/locale/ti_ER/LC_COLLATE
-#usr/lib/locale/ti_ER/LC_CTYPE
-#usr/lib/locale/ti_ER/LC_IDENTIFICATION
-#usr/lib/locale/ti_ER/LC_MEASUREMENT
-#usr/lib/locale/ti_ER/LC_MESSAGES
-#usr/lib/locale/ti_ER/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ti_ER/LC_MONETARY
-#usr/lib/locale/ti_ER/LC_NAME
-#usr/lib/locale/ti_ER/LC_NUMERIC
-#usr/lib/locale/ti_ER/LC_PAPER
-#usr/lib/locale/ti_ER/LC_TELEPHONE
-#usr/lib/locale/ti_ER/LC_TIME
-#usr/lib/locale/ti_ET
-#usr/lib/locale/ti_ET/LC_ADDRESS
-#usr/lib/locale/ti_ET/LC_COLLATE
-#usr/lib/locale/ti_ET/LC_CTYPE
-#usr/lib/locale/ti_ET/LC_IDENTIFICATION
-#usr/lib/locale/ti_ET/LC_MEASUREMENT
-#usr/lib/locale/ti_ET/LC_MESSAGES
-#usr/lib/locale/ti_ET/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ti_ET/LC_MONETARY
-#usr/lib/locale/ti_ET/LC_NAME
-#usr/lib/locale/ti_ET/LC_NUMERIC
-#usr/lib/locale/ti_ET/LC_PAPER
-#usr/lib/locale/ti_ET/LC_TELEPHONE
-#usr/lib/locale/ti_ET/LC_TIME
-#usr/lib/locale/tig_ER
-#usr/lib/locale/tig_ER/LC_ADDRESS
-#usr/lib/locale/tig_ER/LC_COLLATE
-#usr/lib/locale/tig_ER/LC_CTYPE
-#usr/lib/locale/tig_ER/LC_IDENTIFICATION
-#usr/lib/locale/tig_ER/LC_MEASUREMENT
-#usr/lib/locale/tig_ER/LC_MESSAGES
-#usr/lib/locale/tig_ER/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/tig_ER/LC_MONETARY
-#usr/lib/locale/tig_ER/LC_NAME
-#usr/lib/locale/tig_ER/LC_NUMERIC
-#usr/lib/locale/tig_ER/LC_PAPER
-#usr/lib/locale/tig_ER/LC_TELEPHONE
-#usr/lib/locale/tig_ER/LC_TIME
-#usr/lib/locale/tk_TM
-#usr/lib/locale/tk_TM/LC_ADDRESS
-#usr/lib/locale/tk_TM/LC_COLLATE
-#usr/lib/locale/tk_TM/LC_CTYPE
-#usr/lib/locale/tk_TM/LC_IDENTIFICATION
-#usr/lib/locale/tk_TM/LC_MEASUREMENT
-#usr/lib/locale/tk_TM/LC_MESSAGES
-#usr/lib/locale/tk_TM/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/tk_TM/LC_MONETARY
-#usr/lib/locale/tk_TM/LC_NAME
-#usr/lib/locale/tk_TM/LC_NUMERIC
-#usr/lib/locale/tk_TM/LC_PAPER
-#usr/lib/locale/tk_TM/LC_TELEPHONE
-#usr/lib/locale/tk_TM/LC_TIME
-#usr/lib/locale/tl_PH
-#usr/lib/locale/tl_PH.utf8
-#usr/lib/locale/tl_PH.utf8/LC_ADDRESS
-#usr/lib/locale/tl_PH.utf8/LC_COLLATE
-#usr/lib/locale/tl_PH.utf8/LC_CTYPE
-#usr/lib/locale/tl_PH.utf8/LC_IDENTIFICATION
-#usr/lib/locale/tl_PH.utf8/LC_MEASUREMENT
-#usr/lib/locale/tl_PH.utf8/LC_MESSAGES
-#usr/lib/locale/tl_PH.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/tl_PH.utf8/LC_MONETARY
-#usr/lib/locale/tl_PH.utf8/LC_NAME
-#usr/lib/locale/tl_PH.utf8/LC_NUMERIC
-#usr/lib/locale/tl_PH.utf8/LC_PAPER
-#usr/lib/locale/tl_PH.utf8/LC_TELEPHONE
-#usr/lib/locale/tl_PH.utf8/LC_TIME
-#usr/lib/locale/tl_PH/LC_ADDRESS
-#usr/lib/locale/tl_PH/LC_COLLATE
-#usr/lib/locale/tl_PH/LC_CTYPE
-#usr/lib/locale/tl_PH/LC_IDENTIFICATION
-#usr/lib/locale/tl_PH/LC_MEASUREMENT
-#usr/lib/locale/tl_PH/LC_MESSAGES
-#usr/lib/locale/tl_PH/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/tl_PH/LC_MONETARY
-#usr/lib/locale/tl_PH/LC_NAME
-#usr/lib/locale/tl_PH/LC_NUMERIC
-#usr/lib/locale/tl_PH/LC_PAPER
-#usr/lib/locale/tl_PH/LC_TELEPHONE
-#usr/lib/locale/tl_PH/LC_TIME
-#usr/lib/locale/tn_ZA
-#usr/lib/locale/tn_ZA/LC_ADDRESS
-#usr/lib/locale/tn_ZA/LC_COLLATE
-#usr/lib/locale/tn_ZA/LC_CTYPE
-#usr/lib/locale/tn_ZA/LC_IDENTIFICATION
-#usr/lib/locale/tn_ZA/LC_MEASUREMENT
-#usr/lib/locale/tn_ZA/LC_MESSAGES
-#usr/lib/locale/tn_ZA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/tn_ZA/LC_MONETARY
-#usr/lib/locale/tn_ZA/LC_NAME
-#usr/lib/locale/tn_ZA/LC_NUMERIC
-#usr/lib/locale/tn_ZA/LC_PAPER
-#usr/lib/locale/tn_ZA/LC_TELEPHONE
-#usr/lib/locale/tn_ZA/LC_TIME
-#usr/lib/locale/tr_CY
-#usr/lib/locale/tr_CY.utf8
-#usr/lib/locale/tr_CY.utf8/LC_ADDRESS
-#usr/lib/locale/tr_CY.utf8/LC_COLLATE
-#usr/lib/locale/tr_CY.utf8/LC_CTYPE
-#usr/lib/locale/tr_CY.utf8/LC_IDENTIFICATION
-#usr/lib/locale/tr_CY.utf8/LC_MEASUREMENT
-#usr/lib/locale/tr_CY.utf8/LC_MESSAGES
-#usr/lib/locale/tr_CY.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/tr_CY.utf8/LC_MONETARY
-#usr/lib/locale/tr_CY.utf8/LC_NAME
-#usr/lib/locale/tr_CY.utf8/LC_NUMERIC
-#usr/lib/locale/tr_CY.utf8/LC_PAPER
-#usr/lib/locale/tr_CY.utf8/LC_TELEPHONE
-#usr/lib/locale/tr_CY.utf8/LC_TIME
-#usr/lib/locale/tr_CY/LC_ADDRESS
-#usr/lib/locale/tr_CY/LC_COLLATE
-#usr/lib/locale/tr_CY/LC_CTYPE
-#usr/lib/locale/tr_CY/LC_IDENTIFICATION
-#usr/lib/locale/tr_CY/LC_MEASUREMENT
-#usr/lib/locale/tr_CY/LC_MESSAGES
-#usr/lib/locale/tr_CY/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/tr_CY/LC_MONETARY
-#usr/lib/locale/tr_CY/LC_NAME
-#usr/lib/locale/tr_CY/LC_NUMERIC
-#usr/lib/locale/tr_CY/LC_PAPER
-#usr/lib/locale/tr_CY/LC_TELEPHONE
-#usr/lib/locale/tr_CY/LC_TIME
-#usr/lib/locale/tr_TR
-#usr/lib/locale/tr_TR.utf8
-#usr/lib/locale/tr_TR.utf8/LC_ADDRESS
-#usr/lib/locale/tr_TR.utf8/LC_COLLATE
-#usr/lib/locale/tr_TR.utf8/LC_CTYPE
-#usr/lib/locale/tr_TR.utf8/LC_IDENTIFICATION
-#usr/lib/locale/tr_TR.utf8/LC_MEASUREMENT
-#usr/lib/locale/tr_TR.utf8/LC_MESSAGES
-#usr/lib/locale/tr_TR.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/tr_TR.utf8/LC_MONETARY
-#usr/lib/locale/tr_TR.utf8/LC_NAME
-#usr/lib/locale/tr_TR.utf8/LC_NUMERIC
-#usr/lib/locale/tr_TR.utf8/LC_PAPER
-#usr/lib/locale/tr_TR.utf8/LC_TELEPHONE
-#usr/lib/locale/tr_TR.utf8/LC_TIME
-#usr/lib/locale/tr_TR/LC_ADDRESS
-#usr/lib/locale/tr_TR/LC_COLLATE
-#usr/lib/locale/tr_TR/LC_CTYPE
-#usr/lib/locale/tr_TR/LC_IDENTIFICATION
-#usr/lib/locale/tr_TR/LC_MEASUREMENT
-#usr/lib/locale/tr_TR/LC_MESSAGES
-#usr/lib/locale/tr_TR/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/tr_TR/LC_MONETARY
-#usr/lib/locale/tr_TR/LC_NAME
-#usr/lib/locale/tr_TR/LC_NUMERIC
-#usr/lib/locale/tr_TR/LC_PAPER
-#usr/lib/locale/tr_TR/LC_TELEPHONE
-#usr/lib/locale/tr_TR/LC_TIME
-#usr/lib/locale/ts_ZA
-#usr/lib/locale/ts_ZA/LC_ADDRESS
-#usr/lib/locale/ts_ZA/LC_COLLATE
-#usr/lib/locale/ts_ZA/LC_CTYPE
-#usr/lib/locale/ts_ZA/LC_IDENTIFICATION
-#usr/lib/locale/ts_ZA/LC_MEASUREMENT
-#usr/lib/locale/ts_ZA/LC_MESSAGES
-#usr/lib/locale/ts_ZA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ts_ZA/LC_MONETARY
-#usr/lib/locale/ts_ZA/LC_NAME
-#usr/lib/locale/ts_ZA/LC_NUMERIC
-#usr/lib/locale/ts_ZA/LC_PAPER
-#usr/lib/locale/ts_ZA/LC_TELEPHONE
-#usr/lib/locale/ts_ZA/LC_TIME
-#usr/lib/locale/tt_RU
-#usr/lib/locale/tt_RU/LC_ADDRESS
-#usr/lib/locale/tt_RU/LC_COLLATE
-#usr/lib/locale/tt_RU/LC_CTYPE
-#usr/lib/locale/tt_RU/LC_IDENTIFICATION
-#usr/lib/locale/tt_RU/LC_MEASUREMENT
-#usr/lib/locale/tt_RU/LC_MESSAGES
-#usr/lib/locale/tt_RU/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/tt_RU/LC_MONETARY
-#usr/lib/locale/tt_RU/LC_NAME
-#usr/lib/locale/tt_RU/LC_NUMERIC
-#usr/lib/locale/tt_RU/LC_PAPER
-#usr/lib/locale/tt_RU/LC_TELEPHONE
-#usr/lib/locale/tt_RU/LC_TIME
-#usr/lib/locale/tt_RU@iqtelif
-#usr/lib/locale/tt_RU@iqtelif/LC_ADDRESS
-#usr/lib/locale/tt_RU@iqtelif/LC_COLLATE
-#usr/lib/locale/tt_RU@iqtelif/LC_CTYPE
-#usr/lib/locale/tt_RU@iqtelif/LC_IDENTIFICATION
-#usr/lib/locale/tt_RU@iqtelif/LC_MEASUREMENT
-#usr/lib/locale/tt_RU@iqtelif/LC_MESSAGES
-#usr/lib/locale/tt_RU@iqtelif/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/tt_RU@iqtelif/LC_MONETARY
-#usr/lib/locale/tt_RU@iqtelif/LC_NAME
-#usr/lib/locale/tt_RU@iqtelif/LC_NUMERIC
-#usr/lib/locale/tt_RU@iqtelif/LC_PAPER
-#usr/lib/locale/tt_RU@iqtelif/LC_TELEPHONE
-#usr/lib/locale/tt_RU@iqtelif/LC_TIME
-#usr/lib/locale/ug_CN
-#usr/lib/locale/ug_CN/LC_ADDRESS
-#usr/lib/locale/ug_CN/LC_COLLATE
-#usr/lib/locale/ug_CN/LC_CTYPE
-#usr/lib/locale/ug_CN/LC_IDENTIFICATION
-#usr/lib/locale/ug_CN/LC_MEASUREMENT
-#usr/lib/locale/ug_CN/LC_MESSAGES
-#usr/lib/locale/ug_CN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ug_CN/LC_MONETARY
-#usr/lib/locale/ug_CN/LC_NAME
-#usr/lib/locale/ug_CN/LC_NUMERIC
-#usr/lib/locale/ug_CN/LC_PAPER
-#usr/lib/locale/ug_CN/LC_TELEPHONE
-#usr/lib/locale/ug_CN/LC_TIME
-#usr/lib/locale/uk_UA
-#usr/lib/locale/uk_UA.utf8
-#usr/lib/locale/uk_UA.utf8/LC_ADDRESS
-#usr/lib/locale/uk_UA.utf8/LC_COLLATE
-#usr/lib/locale/uk_UA.utf8/LC_CTYPE
-#usr/lib/locale/uk_UA.utf8/LC_IDENTIFICATION
-#usr/lib/locale/uk_UA.utf8/LC_MEASUREMENT
-#usr/lib/locale/uk_UA.utf8/LC_MESSAGES
-#usr/lib/locale/uk_UA.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/uk_UA.utf8/LC_MONETARY
-#usr/lib/locale/uk_UA.utf8/LC_NAME
-#usr/lib/locale/uk_UA.utf8/LC_NUMERIC
-#usr/lib/locale/uk_UA.utf8/LC_PAPER
-#usr/lib/locale/uk_UA.utf8/LC_TELEPHONE
-#usr/lib/locale/uk_UA.utf8/LC_TIME
-#usr/lib/locale/uk_UA/LC_ADDRESS
-#usr/lib/locale/uk_UA/LC_COLLATE
-#usr/lib/locale/uk_UA/LC_CTYPE
-#usr/lib/locale/uk_UA/LC_IDENTIFICATION
-#usr/lib/locale/uk_UA/LC_MEASUREMENT
-#usr/lib/locale/uk_UA/LC_MESSAGES
-#usr/lib/locale/uk_UA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/uk_UA/LC_MONETARY
-#usr/lib/locale/uk_UA/LC_NAME
-#usr/lib/locale/uk_UA/LC_NUMERIC
-#usr/lib/locale/uk_UA/LC_PAPER
-#usr/lib/locale/uk_UA/LC_TELEPHONE
-#usr/lib/locale/uk_UA/LC_TIME
-#usr/lib/locale/ur_PK
-#usr/lib/locale/ur_PK/LC_ADDRESS
-#usr/lib/locale/ur_PK/LC_COLLATE
-#usr/lib/locale/ur_PK/LC_CTYPE
-#usr/lib/locale/ur_PK/LC_IDENTIFICATION
-#usr/lib/locale/ur_PK/LC_MEASUREMENT
-#usr/lib/locale/ur_PK/LC_MESSAGES
-#usr/lib/locale/ur_PK/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ur_PK/LC_MONETARY
-#usr/lib/locale/ur_PK/LC_NAME
-#usr/lib/locale/ur_PK/LC_NUMERIC
-#usr/lib/locale/ur_PK/LC_PAPER
-#usr/lib/locale/ur_PK/LC_TELEPHONE
-#usr/lib/locale/ur_PK/LC_TIME
-#usr/lib/locale/uz_UZ
-#usr/lib/locale/uz_UZ/LC_ADDRESS
-#usr/lib/locale/uz_UZ/LC_COLLATE
-#usr/lib/locale/uz_UZ/LC_CTYPE
-#usr/lib/locale/uz_UZ/LC_IDENTIFICATION
-#usr/lib/locale/uz_UZ/LC_MEASUREMENT
-#usr/lib/locale/uz_UZ/LC_MESSAGES
-#usr/lib/locale/uz_UZ/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/uz_UZ/LC_MONETARY
-#usr/lib/locale/uz_UZ/LC_NAME
-#usr/lib/locale/uz_UZ/LC_NUMERIC
-#usr/lib/locale/uz_UZ/LC_PAPER
-#usr/lib/locale/uz_UZ/LC_TELEPHONE
-#usr/lib/locale/uz_UZ/LC_TIME
-#usr/lib/locale/uz_UZ@cyrillic
-#usr/lib/locale/uz_UZ@cyrillic/LC_ADDRESS
-#usr/lib/locale/uz_UZ@cyrillic/LC_COLLATE
-#usr/lib/locale/uz_UZ@cyrillic/LC_CTYPE
-#usr/lib/locale/uz_UZ@cyrillic/LC_IDENTIFICATION
-#usr/lib/locale/uz_UZ@cyrillic/LC_MEASUREMENT
-#usr/lib/locale/uz_UZ@cyrillic/LC_MESSAGES
-#usr/lib/locale/uz_UZ@cyrillic/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/uz_UZ@cyrillic/LC_MONETARY
-#usr/lib/locale/uz_UZ@cyrillic/LC_NAME
-#usr/lib/locale/uz_UZ@cyrillic/LC_NUMERIC
-#usr/lib/locale/uz_UZ@cyrillic/LC_PAPER
-#usr/lib/locale/uz_UZ@cyrillic/LC_TELEPHONE
-#usr/lib/locale/uz_UZ@cyrillic/LC_TIME
-#usr/lib/locale/ve_ZA
-#usr/lib/locale/ve_ZA/LC_ADDRESS
-#usr/lib/locale/ve_ZA/LC_COLLATE
-#usr/lib/locale/ve_ZA/LC_CTYPE
-#usr/lib/locale/ve_ZA/LC_IDENTIFICATION
-#usr/lib/locale/ve_ZA/LC_MEASUREMENT
-#usr/lib/locale/ve_ZA/LC_MESSAGES
-#usr/lib/locale/ve_ZA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/ve_ZA/LC_MONETARY
-#usr/lib/locale/ve_ZA/LC_NAME
-#usr/lib/locale/ve_ZA/LC_NUMERIC
-#usr/lib/locale/ve_ZA/LC_PAPER
-#usr/lib/locale/ve_ZA/LC_TELEPHONE
-#usr/lib/locale/ve_ZA/LC_TIME
-#usr/lib/locale/vi_VN
-#usr/lib/locale/vi_VN.tcvn
-#usr/lib/locale/vi_VN.tcvn/LC_ADDRESS
-#usr/lib/locale/vi_VN.tcvn/LC_COLLATE
-#usr/lib/locale/vi_VN.tcvn/LC_CTYPE
-#usr/lib/locale/vi_VN.tcvn/LC_IDENTIFICATION
-#usr/lib/locale/vi_VN.tcvn/LC_MEASUREMENT
-#usr/lib/locale/vi_VN.tcvn/LC_MESSAGES
-#usr/lib/locale/vi_VN.tcvn/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/vi_VN.tcvn/LC_MONETARY
-#usr/lib/locale/vi_VN.tcvn/LC_NAME
-#usr/lib/locale/vi_VN.tcvn/LC_NUMERIC
-#usr/lib/locale/vi_VN.tcvn/LC_PAPER
-#usr/lib/locale/vi_VN.tcvn/LC_TELEPHONE
-#usr/lib/locale/vi_VN.tcvn/LC_TIME
-#usr/lib/locale/vi_VN/LC_ADDRESS
-#usr/lib/locale/vi_VN/LC_COLLATE
-#usr/lib/locale/vi_VN/LC_CTYPE
-#usr/lib/locale/vi_VN/LC_IDENTIFICATION
-#usr/lib/locale/vi_VN/LC_MEASUREMENT
-#usr/lib/locale/vi_VN/LC_MESSAGES
-#usr/lib/locale/vi_VN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/vi_VN/LC_MONETARY
-#usr/lib/locale/vi_VN/LC_NAME
-#usr/lib/locale/vi_VN/LC_NUMERIC
-#usr/lib/locale/vi_VN/LC_PAPER
-#usr/lib/locale/vi_VN/LC_TELEPHONE
-#usr/lib/locale/vi_VN/LC_TIME
-#usr/lib/locale/wa_BE
-#usr/lib/locale/wa_BE.utf8
-#usr/lib/locale/wa_BE.utf8/LC_ADDRESS
-#usr/lib/locale/wa_BE.utf8/LC_COLLATE
-#usr/lib/locale/wa_BE.utf8/LC_CTYPE
-#usr/lib/locale/wa_BE.utf8/LC_IDENTIFICATION
-#usr/lib/locale/wa_BE.utf8/LC_MEASUREMENT
-#usr/lib/locale/wa_BE.utf8/LC_MESSAGES
-#usr/lib/locale/wa_BE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/wa_BE.utf8/LC_MONETARY
-#usr/lib/locale/wa_BE.utf8/LC_NAME
-#usr/lib/locale/wa_BE.utf8/LC_NUMERIC
-#usr/lib/locale/wa_BE.utf8/LC_PAPER
-#usr/lib/locale/wa_BE.utf8/LC_TELEPHONE
-#usr/lib/locale/wa_BE.utf8/LC_TIME
-#usr/lib/locale/wa_BE/LC_ADDRESS
-#usr/lib/locale/wa_BE/LC_COLLATE
-#usr/lib/locale/wa_BE/LC_CTYPE
-#usr/lib/locale/wa_BE/LC_IDENTIFICATION
-#usr/lib/locale/wa_BE/LC_MEASUREMENT
-#usr/lib/locale/wa_BE/LC_MESSAGES
-#usr/lib/locale/wa_BE/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/wa_BE/LC_MONETARY
-#usr/lib/locale/wa_BE/LC_NAME
-#usr/lib/locale/wa_BE/LC_NUMERIC
-#usr/lib/locale/wa_BE/LC_PAPER
-#usr/lib/locale/wa_BE/LC_TELEPHONE
-#usr/lib/locale/wa_BE/LC_TIME
-#usr/lib/locale/wa_BE@euro
-#usr/lib/locale/wa_BE@euro/LC_ADDRESS
-#usr/lib/locale/wa_BE@euro/LC_COLLATE
-#usr/lib/locale/wa_BE@euro/LC_CTYPE
-#usr/lib/locale/wa_BE@euro/LC_IDENTIFICATION
-#usr/lib/locale/wa_BE@euro/LC_MEASUREMENT
-#usr/lib/locale/wa_BE@euro/LC_MESSAGES
-#usr/lib/locale/wa_BE@euro/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/wa_BE@euro/LC_MONETARY
-#usr/lib/locale/wa_BE@euro/LC_NAME
-#usr/lib/locale/wa_BE@euro/LC_NUMERIC
-#usr/lib/locale/wa_BE@euro/LC_PAPER
-#usr/lib/locale/wa_BE@euro/LC_TELEPHONE
-#usr/lib/locale/wa_BE@euro/LC_TIME
-#usr/lib/locale/wo_SN
-#usr/lib/locale/wo_SN/LC_ADDRESS
-#usr/lib/locale/wo_SN/LC_COLLATE
-#usr/lib/locale/wo_SN/LC_CTYPE
-#usr/lib/locale/wo_SN/LC_IDENTIFICATION
-#usr/lib/locale/wo_SN/LC_MEASUREMENT
-#usr/lib/locale/wo_SN/LC_MESSAGES
-#usr/lib/locale/wo_SN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/wo_SN/LC_MONETARY
-#usr/lib/locale/wo_SN/LC_NAME
-#usr/lib/locale/wo_SN/LC_NUMERIC
-#usr/lib/locale/wo_SN/LC_PAPER
-#usr/lib/locale/wo_SN/LC_TELEPHONE
-#usr/lib/locale/wo_SN/LC_TIME
-#usr/lib/locale/xh_ZA
-#usr/lib/locale/xh_ZA.utf8
-#usr/lib/locale/xh_ZA.utf8/LC_ADDRESS
-#usr/lib/locale/xh_ZA.utf8/LC_COLLATE
-#usr/lib/locale/xh_ZA.utf8/LC_CTYPE
-#usr/lib/locale/xh_ZA.utf8/LC_IDENTIFICATION
-#usr/lib/locale/xh_ZA.utf8/LC_MEASUREMENT
-#usr/lib/locale/xh_ZA.utf8/LC_MESSAGES
-#usr/lib/locale/xh_ZA.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/xh_ZA.utf8/LC_MONETARY
-#usr/lib/locale/xh_ZA.utf8/LC_NAME
-#usr/lib/locale/xh_ZA.utf8/LC_NUMERIC
-#usr/lib/locale/xh_ZA.utf8/LC_PAPER
-#usr/lib/locale/xh_ZA.utf8/LC_TELEPHONE
-#usr/lib/locale/xh_ZA.utf8/LC_TIME
-#usr/lib/locale/xh_ZA/LC_ADDRESS
-#usr/lib/locale/xh_ZA/LC_COLLATE
-#usr/lib/locale/xh_ZA/LC_CTYPE
-#usr/lib/locale/xh_ZA/LC_IDENTIFICATION
-#usr/lib/locale/xh_ZA/LC_MEASUREMENT
-#usr/lib/locale/xh_ZA/LC_MESSAGES
-#usr/lib/locale/xh_ZA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/xh_ZA/LC_MONETARY
-#usr/lib/locale/xh_ZA/LC_NAME
-#usr/lib/locale/xh_ZA/LC_NUMERIC
-#usr/lib/locale/xh_ZA/LC_PAPER
-#usr/lib/locale/xh_ZA/LC_TELEPHONE
-#usr/lib/locale/xh_ZA/LC_TIME
-#usr/lib/locale/yi_US
-#usr/lib/locale/yi_US.utf8
-#usr/lib/locale/yi_US.utf8/LC_ADDRESS
-#usr/lib/locale/yi_US.utf8/LC_COLLATE
-#usr/lib/locale/yi_US.utf8/LC_CTYPE
-#usr/lib/locale/yi_US.utf8/LC_IDENTIFICATION
-#usr/lib/locale/yi_US.utf8/LC_MEASUREMENT
-#usr/lib/locale/yi_US.utf8/LC_MESSAGES
-#usr/lib/locale/yi_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/yi_US.utf8/LC_MONETARY
-#usr/lib/locale/yi_US.utf8/LC_NAME
-#usr/lib/locale/yi_US.utf8/LC_NUMERIC
-#usr/lib/locale/yi_US.utf8/LC_PAPER
-#usr/lib/locale/yi_US.utf8/LC_TELEPHONE
-#usr/lib/locale/yi_US.utf8/LC_TIME
-#usr/lib/locale/yi_US/LC_ADDRESS
-#usr/lib/locale/yi_US/LC_COLLATE
-#usr/lib/locale/yi_US/LC_CTYPE
-#usr/lib/locale/yi_US/LC_IDENTIFICATION
-#usr/lib/locale/yi_US/LC_MEASUREMENT
-#usr/lib/locale/yi_US/LC_MESSAGES
-#usr/lib/locale/yi_US/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/yi_US/LC_MONETARY
-#usr/lib/locale/yi_US/LC_NAME
-#usr/lib/locale/yi_US/LC_NUMERIC
-#usr/lib/locale/yi_US/LC_PAPER
-#usr/lib/locale/yi_US/LC_TELEPHONE
-#usr/lib/locale/yi_US/LC_TIME
-#usr/lib/locale/yo_NG
-#usr/lib/locale/yo_NG/LC_ADDRESS
-#usr/lib/locale/yo_NG/LC_COLLATE
-#usr/lib/locale/yo_NG/LC_CTYPE
-#usr/lib/locale/yo_NG/LC_IDENTIFICATION
-#usr/lib/locale/yo_NG/LC_MEASUREMENT
-#usr/lib/locale/yo_NG/LC_MESSAGES
-#usr/lib/locale/yo_NG/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/yo_NG/LC_MONETARY
-#usr/lib/locale/yo_NG/LC_NAME
-#usr/lib/locale/yo_NG/LC_NUMERIC
-#usr/lib/locale/yo_NG/LC_PAPER
-#usr/lib/locale/yo_NG/LC_TELEPHONE
-#usr/lib/locale/yo_NG/LC_TIME
-#usr/lib/locale/zh_CN
-#usr/lib/locale/zh_CN.gb18030
-#usr/lib/locale/zh_CN.gb18030/LC_ADDRESS
-#usr/lib/locale/zh_CN.gb18030/LC_COLLATE
-#usr/lib/locale/zh_CN.gb18030/LC_CTYPE
-#usr/lib/locale/zh_CN.gb18030/LC_IDENTIFICATION
-#usr/lib/locale/zh_CN.gb18030/LC_MEASUREMENT
-#usr/lib/locale/zh_CN.gb18030/LC_MESSAGES
-#usr/lib/locale/zh_CN.gb18030/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/zh_CN.gb18030/LC_MONETARY
-#usr/lib/locale/zh_CN.gb18030/LC_NAME
-#usr/lib/locale/zh_CN.gb18030/LC_NUMERIC
-#usr/lib/locale/zh_CN.gb18030/LC_PAPER
-#usr/lib/locale/zh_CN.gb18030/LC_TELEPHONE
-#usr/lib/locale/zh_CN.gb18030/LC_TIME
-#usr/lib/locale/zh_CN.gbk
-#usr/lib/locale/zh_CN.gbk/LC_ADDRESS
-#usr/lib/locale/zh_CN.gbk/LC_COLLATE
-#usr/lib/locale/zh_CN.gbk/LC_CTYPE
-#usr/lib/locale/zh_CN.gbk/LC_IDENTIFICATION
-#usr/lib/locale/zh_CN.gbk/LC_MEASUREMENT
-#usr/lib/locale/zh_CN.gbk/LC_MESSAGES
-#usr/lib/locale/zh_CN.gbk/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/zh_CN.gbk/LC_MONETARY
-#usr/lib/locale/zh_CN.gbk/LC_NAME
-#usr/lib/locale/zh_CN.gbk/LC_NUMERIC
-#usr/lib/locale/zh_CN.gbk/LC_PAPER
-#usr/lib/locale/zh_CN.gbk/LC_TELEPHONE
-#usr/lib/locale/zh_CN.gbk/LC_TIME
-#usr/lib/locale/zh_CN.utf8
-#usr/lib/locale/zh_CN.utf8/LC_ADDRESS
-#usr/lib/locale/zh_CN.utf8/LC_COLLATE
-#usr/lib/locale/zh_CN.utf8/LC_CTYPE
-#usr/lib/locale/zh_CN.utf8/LC_IDENTIFICATION
-#usr/lib/locale/zh_CN.utf8/LC_MEASUREMENT
-#usr/lib/locale/zh_CN.utf8/LC_MESSAGES
-#usr/lib/locale/zh_CN.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/zh_CN.utf8/LC_MONETARY
-#usr/lib/locale/zh_CN.utf8/LC_NAME
-#usr/lib/locale/zh_CN.utf8/LC_NUMERIC
-#usr/lib/locale/zh_CN.utf8/LC_PAPER
-#usr/lib/locale/zh_CN.utf8/LC_TELEPHONE
-#usr/lib/locale/zh_CN.utf8/LC_TIME
-#usr/lib/locale/zh_CN/LC_ADDRESS
-#usr/lib/locale/zh_CN/LC_COLLATE
-#usr/lib/locale/zh_CN/LC_CTYPE
-#usr/lib/locale/zh_CN/LC_IDENTIFICATION
-#usr/lib/locale/zh_CN/LC_MEASUREMENT
-#usr/lib/locale/zh_CN/LC_MESSAGES
-#usr/lib/locale/zh_CN/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/zh_CN/LC_MONETARY
-#usr/lib/locale/zh_CN/LC_NAME
-#usr/lib/locale/zh_CN/LC_NUMERIC
-#usr/lib/locale/zh_CN/LC_PAPER
-#usr/lib/locale/zh_CN/LC_TELEPHONE
-#usr/lib/locale/zh_CN/LC_TIME
-#usr/lib/locale/zh_HK
-#usr/lib/locale/zh_HK.utf8
-#usr/lib/locale/zh_HK.utf8/LC_ADDRESS
-#usr/lib/locale/zh_HK.utf8/LC_COLLATE
-#usr/lib/locale/zh_HK.utf8/LC_CTYPE
-#usr/lib/locale/zh_HK.utf8/LC_IDENTIFICATION
-#usr/lib/locale/zh_HK.utf8/LC_MEASUREMENT
-#usr/lib/locale/zh_HK.utf8/LC_MESSAGES
-#usr/lib/locale/zh_HK.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/zh_HK.utf8/LC_MONETARY
-#usr/lib/locale/zh_HK.utf8/LC_NAME
-#usr/lib/locale/zh_HK.utf8/LC_NUMERIC
-#usr/lib/locale/zh_HK.utf8/LC_PAPER
-#usr/lib/locale/zh_HK.utf8/LC_TELEPHONE
-#usr/lib/locale/zh_HK.utf8/LC_TIME
-#usr/lib/locale/zh_HK/LC_ADDRESS
-#usr/lib/locale/zh_HK/LC_COLLATE
-#usr/lib/locale/zh_HK/LC_CTYPE
-#usr/lib/locale/zh_HK/LC_IDENTIFICATION
-#usr/lib/locale/zh_HK/LC_MEASUREMENT
-#usr/lib/locale/zh_HK/LC_MESSAGES
-#usr/lib/locale/zh_HK/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/zh_HK/LC_MONETARY
-#usr/lib/locale/zh_HK/LC_NAME
-#usr/lib/locale/zh_HK/LC_NUMERIC
-#usr/lib/locale/zh_HK/LC_PAPER
-#usr/lib/locale/zh_HK/LC_TELEPHONE
-#usr/lib/locale/zh_HK/LC_TIME
-#usr/lib/locale/zh_SG
-#usr/lib/locale/zh_SG.gbk
-#usr/lib/locale/zh_SG.gbk/LC_ADDRESS
-#usr/lib/locale/zh_SG.gbk/LC_COLLATE
-#usr/lib/locale/zh_SG.gbk/LC_CTYPE
-#usr/lib/locale/zh_SG.gbk/LC_IDENTIFICATION
-#usr/lib/locale/zh_SG.gbk/LC_MEASUREMENT
-#usr/lib/locale/zh_SG.gbk/LC_MESSAGES
-#usr/lib/locale/zh_SG.gbk/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/zh_SG.gbk/LC_MONETARY
-#usr/lib/locale/zh_SG.gbk/LC_NAME
-#usr/lib/locale/zh_SG.gbk/LC_NUMERIC
-#usr/lib/locale/zh_SG.gbk/LC_PAPER
-#usr/lib/locale/zh_SG.gbk/LC_TELEPHONE
-#usr/lib/locale/zh_SG.gbk/LC_TIME
-#usr/lib/locale/zh_SG.utf8
-#usr/lib/locale/zh_SG.utf8/LC_ADDRESS
-#usr/lib/locale/zh_SG.utf8/LC_COLLATE
-#usr/lib/locale/zh_SG.utf8/LC_CTYPE
-#usr/lib/locale/zh_SG.utf8/LC_IDENTIFICATION
-#usr/lib/locale/zh_SG.utf8/LC_MEASUREMENT
-#usr/lib/locale/zh_SG.utf8/LC_MESSAGES
-#usr/lib/locale/zh_SG.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/zh_SG.utf8/LC_MONETARY
-#usr/lib/locale/zh_SG.utf8/LC_NAME
-#usr/lib/locale/zh_SG.utf8/LC_NUMERIC
-#usr/lib/locale/zh_SG.utf8/LC_PAPER
-#usr/lib/locale/zh_SG.utf8/LC_TELEPHONE
-#usr/lib/locale/zh_SG.utf8/LC_TIME
-#usr/lib/locale/zh_SG/LC_ADDRESS
-#usr/lib/locale/zh_SG/LC_COLLATE
-#usr/lib/locale/zh_SG/LC_CTYPE
-#usr/lib/locale/zh_SG/LC_IDENTIFICATION
-#usr/lib/locale/zh_SG/LC_MEASUREMENT
-#usr/lib/locale/zh_SG/LC_MESSAGES
-#usr/lib/locale/zh_SG/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/zh_SG/LC_MONETARY
-#usr/lib/locale/zh_SG/LC_NAME
-#usr/lib/locale/zh_SG/LC_NUMERIC
-#usr/lib/locale/zh_SG/LC_PAPER
-#usr/lib/locale/zh_SG/LC_TELEPHONE
-#usr/lib/locale/zh_SG/LC_TIME
-#usr/lib/locale/zh_TW
-#usr/lib/locale/zh_TW.euctw
-#usr/lib/locale/zh_TW.euctw/LC_ADDRESS
-#usr/lib/locale/zh_TW.euctw/LC_COLLATE
-#usr/lib/locale/zh_TW.euctw/LC_CTYPE
-#usr/lib/locale/zh_TW.euctw/LC_IDENTIFICATION
-#usr/lib/locale/zh_TW.euctw/LC_MEASUREMENT
-#usr/lib/locale/zh_TW.euctw/LC_MESSAGES
-#usr/lib/locale/zh_TW.euctw/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/zh_TW.euctw/LC_MONETARY
-#usr/lib/locale/zh_TW.euctw/LC_NAME
-#usr/lib/locale/zh_TW.euctw/LC_NUMERIC
-#usr/lib/locale/zh_TW.euctw/LC_PAPER
-#usr/lib/locale/zh_TW.euctw/LC_TELEPHONE
-#usr/lib/locale/zh_TW.euctw/LC_TIME
-#usr/lib/locale/zh_TW.utf8
-#usr/lib/locale/zh_TW.utf8/LC_ADDRESS
-#usr/lib/locale/zh_TW.utf8/LC_COLLATE
-#usr/lib/locale/zh_TW.utf8/LC_CTYPE
-#usr/lib/locale/zh_TW.utf8/LC_IDENTIFICATION
-#usr/lib/locale/zh_TW.utf8/LC_MEASUREMENT
-#usr/lib/locale/zh_TW.utf8/LC_MESSAGES
-#usr/lib/locale/zh_TW.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/zh_TW.utf8/LC_MONETARY
-#usr/lib/locale/zh_TW.utf8/LC_NAME
-#usr/lib/locale/zh_TW.utf8/LC_NUMERIC
-#usr/lib/locale/zh_TW.utf8/LC_PAPER
-#usr/lib/locale/zh_TW.utf8/LC_TELEPHONE
-#usr/lib/locale/zh_TW.utf8/LC_TIME
-#usr/lib/locale/zh_TW/LC_ADDRESS
-#usr/lib/locale/zh_TW/LC_COLLATE
-#usr/lib/locale/zh_TW/LC_CTYPE
-#usr/lib/locale/zh_TW/LC_IDENTIFICATION
-#usr/lib/locale/zh_TW/LC_MEASUREMENT
-#usr/lib/locale/zh_TW/LC_MESSAGES
-#usr/lib/locale/zh_TW/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/zh_TW/LC_MONETARY
-#usr/lib/locale/zh_TW/LC_NAME
-#usr/lib/locale/zh_TW/LC_NUMERIC
-#usr/lib/locale/zh_TW/LC_PAPER
-#usr/lib/locale/zh_TW/LC_TELEPHONE
-#usr/lib/locale/zh_TW/LC_TIME
-#usr/lib/locale/zu_ZA
-#usr/lib/locale/zu_ZA.utf8
-#usr/lib/locale/zu_ZA.utf8/LC_ADDRESS
-#usr/lib/locale/zu_ZA.utf8/LC_COLLATE
-#usr/lib/locale/zu_ZA.utf8/LC_CTYPE
-#usr/lib/locale/zu_ZA.utf8/LC_IDENTIFICATION
-#usr/lib/locale/zu_ZA.utf8/LC_MEASUREMENT
-#usr/lib/locale/zu_ZA.utf8/LC_MESSAGES
-#usr/lib/locale/zu_ZA.utf8/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/zu_ZA.utf8/LC_MONETARY
-#usr/lib/locale/zu_ZA.utf8/LC_NAME
-#usr/lib/locale/zu_ZA.utf8/LC_NUMERIC
-#usr/lib/locale/zu_ZA.utf8/LC_PAPER
-#usr/lib/locale/zu_ZA.utf8/LC_TELEPHONE
-#usr/lib/locale/zu_ZA.utf8/LC_TIME
-#usr/lib/locale/zu_ZA/LC_ADDRESS
-#usr/lib/locale/zu_ZA/LC_COLLATE
-#usr/lib/locale/zu_ZA/LC_CTYPE
-#usr/lib/locale/zu_ZA/LC_IDENTIFICATION
-#usr/lib/locale/zu_ZA/LC_MEASUREMENT
-#usr/lib/locale/zu_ZA/LC_MESSAGES
-#usr/lib/locale/zu_ZA/LC_MESSAGES/SYS_LC_MESSAGES
-#usr/lib/locale/zu_ZA/LC_MONETARY
-#usr/lib/locale/zu_ZA/LC_NAME
-#usr/lib/locale/zu_ZA/LC_NUMERIC
-#usr/lib/locale/zu_ZA/LC_PAPER
-#usr/lib/locale/zu_ZA/LC_TELEPHONE
-#usr/lib/locale/zu_ZA/LC_TIME
+usr/lib/locale/locale-archive
 #usr/sbin/iconvconfig
 #usr/sbin/nscd
-#usr/sbin/rpcinfo
 #usr/sbin/zdump
 #usr/sbin/zic
 #usr/share/i18n
@@ -6736,6 +866,11 @@ usr/lib/locale
 #usr/share/i18n/charmaps/CP1257.gz
 #usr/share/i18n/charmaps/CP1258.gz
 #usr/share/i18n/charmaps/CP737.gz
+#usr/share/i18n/charmaps/CP770.gz
+#usr/share/i18n/charmaps/CP771.gz
+#usr/share/i18n/charmaps/CP772.gz
+#usr/share/i18n/charmaps/CP773.gz
+#usr/share/i18n/charmaps/CP774.gz
 #usr/share/i18n/charmaps/CP775.gz
 #usr/share/i18n/charmaps/CP949.gz
 #usr/share/i18n/charmaps/CSA_Z243.4-1985-1.gz
@@ -6949,8 +1084,10 @@ usr/lib/locale
 #usr/share/i18n/locales/aa_ER@saaho
 #usr/share/i18n/locales/aa_ET
 #usr/share/i18n/locales/af_ZA
+#usr/share/i18n/locales/ak_GH
 #usr/share/i18n/locales/am_ET
 #usr/share/i18n/locales/an_ES
+#usr/share/i18n/locales/anp_IN
 #usr/share/i18n/locales/ar_AE
 #usr/share/i18n/locales/ar_BH
 #usr/share/i18n/locales/ar_DZ
@@ -6966,23 +1103,29 @@ usr/lib/locale
 #usr/share/i18n/locales/ar_QA
 #usr/share/i18n/locales/ar_SA
 #usr/share/i18n/locales/ar_SD
+#usr/share/i18n/locales/ar_SS
 #usr/share/i18n/locales/ar_SY
 #usr/share/i18n/locales/ar_TN
 #usr/share/i18n/locales/ar_YE
 #usr/share/i18n/locales/as_IN
 #usr/share/i18n/locales/ast_ES
+#usr/share/i18n/locales/ayc_PE
 #usr/share/i18n/locales/az_AZ
 #usr/share/i18n/locales/be_BY
 #usr/share/i18n/locales/be_BY@latin
+#usr/share/i18n/locales/bem_ZM
 #usr/share/i18n/locales/ber_DZ
 #usr/share/i18n/locales/ber_MA
 #usr/share/i18n/locales/bg_BG
+#usr/share/i18n/locales/bhb_IN
+#usr/share/i18n/locales/bho_IN
 #usr/share/i18n/locales/bn_BD
 #usr/share/i18n/locales/bn_IN
 #usr/share/i18n/locales/bo_CN
 #usr/share/i18n/locales/bo_IN
 #usr/share/i18n/locales/br_FR
 #usr/share/i18n/locales/br_FR@euro
+#usr/share/i18n/locales/brx_IN
 #usr/share/i18n/locales/bs_BA
 #usr/share/i18n/locales/byn_ER
 #usr/share/i18n/locales/ca_AD
@@ -6990,6 +1133,9 @@ usr/lib/locale
 #usr/share/i18n/locales/ca_ES@euro
 #usr/share/i18n/locales/ca_FR
 #usr/share/i18n/locales/ca_IT
+#usr/share/i18n/locales/ce_RU
+#usr/share/i18n/locales/chr_US
+#usr/share/i18n/locales/cmn_TW
 #usr/share/i18n/locales/crh_UA
 #usr/share/i18n/locales/cs_CZ
 #usr/share/i18n/locales/csb_PL
@@ -7003,8 +1149,11 @@ usr/lib/locale
 #usr/share/i18n/locales/de_CH
 #usr/share/i18n/locales/de_DE
 #usr/share/i18n/locales/de_DE@euro
+#usr/share/i18n/locales/de_IT
+#usr/share/i18n/locales/de_LI
 #usr/share/i18n/locales/de_LU
 #usr/share/i18n/locales/de_LU@euro
+#usr/share/i18n/locales/doi_IN
 #usr/share/i18n/locales/dv_MV
 #usr/share/i18n/locales/dz_BT
 #usr/share/i18n/locales/el_CY
@@ -7019,6 +1168,7 @@ usr/lib/locale
 #usr/share/i18n/locales/en_HK
 #usr/share/i18n/locales/en_IE
 #usr/share/i18n/locales/en_IE@euro
+#usr/share/i18n/locales/en_IL
 #usr/share/i18n/locales/en_IN
 #usr/share/i18n/locales/en_NG
 #usr/share/i18n/locales/en_NZ
@@ -7026,12 +1176,15 @@ usr/lib/locale
 #usr/share/i18n/locales/en_SG
 #usr/share/i18n/locales/en_US
 #usr/share/i18n/locales/en_ZA
+#usr/share/i18n/locales/en_ZM
 #usr/share/i18n/locales/en_ZW
+#usr/share/i18n/locales/eo
 #usr/share/i18n/locales/es_AR
 #usr/share/i18n/locales/es_BO
 #usr/share/i18n/locales/es_CL
 #usr/share/i18n/locales/es_CO
 #usr/share/i18n/locales/es_CR
+#usr/share/i18n/locales/es_CU
 #usr/share/i18n/locales/es_DO
 #usr/share/i18n/locales/es_EC
 #usr/share/i18n/locales/es_ES
@@ -7052,8 +1205,8 @@ usr/lib/locale
 #usr/share/i18n/locales/eu_ES
 #usr/share/i18n/locales/eu_ES@euro
 #usr/share/i18n/locales/fa_IR
+#usr/share/i18n/locales/ff_SN
 #usr/share/i18n/locales/fi_FI
-#usr/share/i18n/locales/fi_FI.orig
 #usr/share/i18n/locales/fi_FI@euro
 #usr/share/i18n/locales/fil_PH
 #usr/share/i18n/locales/fo_FO
@@ -7080,6 +1233,7 @@ usr/lib/locale
 #usr/share/i18n/locales/gu_IN
 #usr/share/i18n/locales/gv_GB
 #usr/share/i18n/locales/ha_NG
+#usr/share/i18n/locales/hak_TW
 #usr/share/i18n/locales/he_IL
 #usr/share/i18n/locales/hi_IN
 #usr/share/i18n/locales/hne_IN
@@ -7089,6 +1243,7 @@ usr/lib/locale
 #usr/share/i18n/locales/hu_HU
 #usr/share/i18n/locales/hy_AM
 #usr/share/i18n/locales/i18n
+#usr/share/i18n/locales/ia_FR
 #usr/share/i18n/locales/id_ID
 #usr/share/i18n/locales/ig_NG
 #usr/share/i18n/locales/ik_CA
@@ -7100,7 +1255,6 @@ usr/lib/locale
 #usr/share/i18n/locales/it_IT
 #usr/share/i18n/locales/it_IT@euro
 #usr/share/i18n/locales/iu_CA
-#usr/share/i18n/locales/iw_IL
 #usr/share/i18n/locales/ja_JP
 #usr/share/i18n/locales/ka_GE
 #usr/share/i18n/locales/kk_KZ
@@ -7114,57 +1268,73 @@ usr/lib/locale
 #usr/share/i18n/locales/ku_TR
 #usr/share/i18n/locales/kw_GB
 #usr/share/i18n/locales/ky_KG
+#usr/share/i18n/locales/lb_LU
 #usr/share/i18n/locales/lg_UG
 #usr/share/i18n/locales/li_BE
 #usr/share/i18n/locales/li_NL
+#usr/share/i18n/locales/lij_IT
+#usr/share/i18n/locales/ln_CD
 #usr/share/i18n/locales/lo_LA
 #usr/share/i18n/locales/lt_LT
 #usr/share/i18n/locales/lv_LV
+#usr/share/i18n/locales/lzh_TW
+#usr/share/i18n/locales/mag_IN
 #usr/share/i18n/locales/mai_IN
 #usr/share/i18n/locales/mg_MG
+#usr/share/i18n/locales/mhr_RU
 #usr/share/i18n/locales/mi_NZ
 #usr/share/i18n/locales/mk_MK
 #usr/share/i18n/locales/ml_IN
 #usr/share/i18n/locales/mn_MN
+#usr/share/i18n/locales/mni_IN
 #usr/share/i18n/locales/mr_IN
 #usr/share/i18n/locales/ms_MY
 #usr/share/i18n/locales/mt_MT
 #usr/share/i18n/locales/my_MM
+#usr/share/i18n/locales/nan_TW
 #usr/share/i18n/locales/nan_TW@latin
 #usr/share/i18n/locales/nb_NO
 #usr/share/i18n/locales/nds_DE
 #usr/share/i18n/locales/nds_NL
 #usr/share/i18n/locales/ne_NP
+#usr/share/i18n/locales/nhn_MX
+#usr/share/i18n/locales/niu_NU
+#usr/share/i18n/locales/niu_NZ
 #usr/share/i18n/locales/nl_AW
 #usr/share/i18n/locales/nl_BE
 #usr/share/i18n/locales/nl_BE@euro
 #usr/share/i18n/locales/nl_NL
 #usr/share/i18n/locales/nl_NL@euro
 #usr/share/i18n/locales/nn_NO
-#usr/share/i18n/locales/no_NO
 #usr/share/i18n/locales/nr_ZA
 #usr/share/i18n/locales/nso_ZA
 #usr/share/i18n/locales/oc_FR
 #usr/share/i18n/locales/om_ET
 #usr/share/i18n/locales/om_KE
 #usr/share/i18n/locales/or_IN
+#usr/share/i18n/locales/os_RU
 #usr/share/i18n/locales/pa_IN
 #usr/share/i18n/locales/pa_PK
-#usr/share/i18n/locales/pap_AN
+#usr/share/i18n/locales/pap_AW
+#usr/share/i18n/locales/pap_CW
 #usr/share/i18n/locales/pl_PL
 #usr/share/i18n/locales/ps_AF
 #usr/share/i18n/locales/pt_BR
 #usr/share/i18n/locales/pt_PT
 #usr/share/i18n/locales/pt_PT@euro
+#usr/share/i18n/locales/quz_PE
+#usr/share/i18n/locales/raj_IN
 #usr/share/i18n/locales/ro_RO
 #usr/share/i18n/locales/ru_RU
 #usr/share/i18n/locales/ru_UA
 #usr/share/i18n/locales/rw_RW
 #usr/share/i18n/locales/sa_IN
+#usr/share/i18n/locales/sat_IN
 #usr/share/i18n/locales/sc_IT
 #usr/share/i18n/locales/sd_IN
 #usr/share/i18n/locales/sd_IN@devanagari
 #usr/share/i18n/locales/se_NO
+#usr/share/i18n/locales/sgs_LT
 #usr/share/i18n/locales/shs_CA
 #usr/share/i18n/locales/si_LK
 #usr/share/i18n/locales/sid_ET
@@ -7184,10 +1354,16 @@ usr/lib/locale
 #usr/share/i18n/locales/sv_FI
 #usr/share/i18n/locales/sv_FI@euro
 #usr/share/i18n/locales/sv_SE
+#usr/share/i18n/locales/sw_KE
+#usr/share/i18n/locales/sw_TZ
+#usr/share/i18n/locales/szl_PL
 #usr/share/i18n/locales/ta_IN
+#usr/share/i18n/locales/ta_LK
+#usr/share/i18n/locales/tcy_IN
 #usr/share/i18n/locales/te_IN
 #usr/share/i18n/locales/tg_TJ
 #usr/share/i18n/locales/th_TH
+#usr/share/i18n/locales/the_NP
 #usr/share/i18n/locales/ti_ER
 #usr/share/i18n/locales/ti_ET
 #usr/share/i18n/locales/tig_ER
@@ -7213,6 +1389,7 @@ usr/lib/locale
 #usr/share/i18n/locales/tt_RU@iqtelif
 #usr/share/i18n/locales/ug_CN
 #usr/share/i18n/locales/uk_UA
+#usr/share/i18n/locales/unm_US
 #usr/share/i18n/locales/ur_IN
 #usr/share/i18n/locales/ur_PK
 #usr/share/i18n/locales/uz_UZ
@@ -7221,11 +1398,13 @@ usr/lib/locale
 #usr/share/i18n/locales/vi_VN
 #usr/share/i18n/locales/wa_BE
 #usr/share/i18n/locales/wa_BE@euro
+#usr/share/i18n/locales/wae_CH
 #usr/share/i18n/locales/wal_ET
 #usr/share/i18n/locales/wo_SN
 #usr/share/i18n/locales/xh_ZA
 #usr/share/i18n/locales/yi_US
 #usr/share/i18n/locales/yo_NG
+#usr/share/i18n/locales/yue_HK
 #usr/share/i18n/locales/zh_CN
 #usr/share/i18n/locales/zh_HK
 #usr/share/i18n/locales/zh_SG
@@ -7236,6 +1415,10 @@ usr/lib/locale
 #usr/share/info/libc.info-1
 #usr/share/info/libc.info-10
 #usr/share/info/libc.info-11
+#usr/share/info/libc.info-12
+#usr/share/info/libc.info-13
+#usr/share/info/libc.info-14
+#usr/share/info/libc.info-15
 #usr/share/info/libc.info-2
 #usr/share/info/libc.info-3
 #usr/share/info/libc.info-4
@@ -7268,6 +1451,9 @@ usr/lib/locale
 #usr/share/locale/en_GB
 #usr/share/locale/en_GB/LC_MESSAGES
 #usr/share/locale/en_GB/LC_MESSAGES/libc.mo
+#usr/share/locale/eo
+#usr/share/locale/eo/LC_MESSAGES
+#usr/share/locale/eo/LC_MESSAGES/libc.mo
 #usr/share/locale/es
 #usr/share/locale/es/LC_MESSAGES
 #usr/share/locale/es/LC_MESSAGES/libc.mo
@@ -7286,6 +1472,9 @@ usr/lib/locale
 #usr/share/locale/hu
 #usr/share/locale/hu/LC_MESSAGES
 #usr/share/locale/hu/LC_MESSAGES/libc.mo
+#usr/share/locale/ia
+#usr/share/locale/ia/LC_MESSAGES
+#usr/share/locale/ia/LC_MESSAGES/libc.mo
 #usr/share/locale/id
 #usr/share/locale/id/LC_MESSAGES
 #usr/share/locale/id/LC_MESSAGES/libc.mo
@@ -7323,12 +1512,18 @@ usr/lib/locale
 #usr/share/locale/sk
 #usr/share/locale/sk/LC_MESSAGES
 #usr/share/locale/sk/LC_MESSAGES/libc.mo
+#usr/share/locale/sl
+#usr/share/locale/sl/LC_MESSAGES
+#usr/share/locale/sl/LC_MESSAGES/libc.mo
 #usr/share/locale/sv
 #usr/share/locale/sv/LC_MESSAGES
 #usr/share/locale/sv/LC_MESSAGES/libc.mo
 #usr/share/locale/tr
 #usr/share/locale/tr/LC_MESSAGES
 #usr/share/locale/tr/LC_MESSAGES/libc.mo
+#usr/share/locale/uk
+#usr/share/locale/uk/LC_MESSAGES
+#usr/share/locale/uk/LC_MESSAGES/libc.mo
 #usr/share/locale/vi
 #usr/share/locale/vi/LC_MESSAGES
 #usr/share/locale/vi/LC_MESSAGES/libc.mo
@@ -7340,3 +1535,5 @@ usr/lib/locale
 #usr/share/locale/zh_TW/LC_MESSAGES/libc.mo
 #var/cache/ldconfig
 #var/cache/ldconfig/aux-cache
+#var/db
+#var/db/Makefile
index 0155f244b30dfec427a16fd39ae46cc8a317cc13..9824e19cbd287db8f2432d505377a5aa4ccbaf33 100644 (file)
@@ -1463,8 +1463,8 @@ usr/lib/python2.7/encodings/zlib_codec.pyc
 #usr/lib/python2.7/ensurepip/__main__.pyc
 #usr/lib/python2.7/ensurepip/__main__.pyo
 #usr/lib/python2.7/ensurepip/_bundled
-#usr/lib/python2.7/ensurepip/_bundled/pip-6.1.1-py2.py3-none-any.whl
-#usr/lib/python2.7/ensurepip/_bundled/setuptools-15.2-py2.py3-none-any.whl
+#usr/lib/python2.7/ensurepip/_bundled/pip-9.0.1-py2.py3-none-any.whl
+#usr/lib/python2.7/ensurepip/_bundled/setuptools-28.8.0-py2.py3-none-any.whl
 #usr/lib/python2.7/ensurepip/_uninstall.py
 #usr/lib/python2.7/ensurepip/_uninstall.pyc
 #usr/lib/python2.7/ensurepip/_uninstall.pyo
@@ -1718,6 +1718,10 @@ usr/lib/python2.7/httplib.pyc
 #usr/lib/python2.7/idlelib/dynOptionMenuWidget.pyc
 #usr/lib/python2.7/idlelib/dynOptionMenuWidget.pyo
 #usr/lib/python2.7/idlelib/extend.txt
+#usr/lib/python2.7/idlelib/help.html
+#usr/lib/python2.7/idlelib/help.py
+#usr/lib/python2.7/idlelib/help.pyc
+#usr/lib/python2.7/idlelib/help.pyo
 #usr/lib/python2.7/idlelib/help.txt
 #usr/lib/python2.7/idlelib/idle.bat
 #usr/lib/python2.7/idlelib/idle.py
@@ -1756,12 +1760,18 @@ usr/lib/python2.7/httplib.pyc
 #usr/lib/python2.7/idlelib/idle_test/test_delegator.py
 #usr/lib/python2.7/idlelib/idle_test/test_delegator.pyc
 #usr/lib/python2.7/idlelib/idle_test/test_delegator.pyo
+#usr/lib/python2.7/idlelib/idle_test/test_editmenu.py
+#usr/lib/python2.7/idlelib/idle_test/test_editmenu.pyc
+#usr/lib/python2.7/idlelib/idle_test/test_editmenu.pyo
 #usr/lib/python2.7/idlelib/idle_test/test_formatparagraph.py
 #usr/lib/python2.7/idlelib/idle_test/test_formatparagraph.pyc
 #usr/lib/python2.7/idlelib/idle_test/test_formatparagraph.pyo
 #usr/lib/python2.7/idlelib/idle_test/test_grep.py
 #usr/lib/python2.7/idlelib/idle_test/test_grep.pyc
 #usr/lib/python2.7/idlelib/idle_test/test_grep.pyo
+#usr/lib/python2.7/idlelib/idle_test/test_helpabout.py
+#usr/lib/python2.7/idlelib/idle_test/test_helpabout.pyc
+#usr/lib/python2.7/idlelib/idle_test/test_helpabout.pyo
 #usr/lib/python2.7/idlelib/idle_test/test_hyperparser.py
 #usr/lib/python2.7/idlelib/idle_test/test_hyperparser.pyc
 #usr/lib/python2.7/idlelib/idle_test/test_hyperparser.pyo
@@ -1916,7 +1926,7 @@ usr/lib/python2.7/json/tool.pyc
 usr/lib/python2.7/keyword.pyc
 #usr/lib/python2.7/keyword.pyo
 #usr/lib/python2.7/lib-dynload
-#usr/lib/python2.7/lib-dynload/Python-2.7.10-py2.7.egg-info
+#usr/lib/python2.7/lib-dynload/Python-2.7.13-py2.7.egg-info
 usr/lib/python2.7/lib-dynload/_bisect.so
 usr/lib/python2.7/lib-dynload/_bsddb.so
 usr/lib/python2.7/lib-dynload/_codecs_cn.so
@@ -2090,9 +2100,9 @@ usr/lib/python2.7/lib-dynload/zlib.so
 #usr/lib/python2.7/lib-tk/turtle.pyo
 #usr/lib/python2.7/lib2to3
 #usr/lib/python2.7/lib2to3/Grammar.txt
-#usr/lib/python2.7/lib2to3/Grammar2.7.10.final.0.pickle
+#usr/lib/python2.7/lib2to3/Grammar2.7.13.final.0.pickle
 #usr/lib/python2.7/lib2to3/PatternGrammar.txt
-#usr/lib/python2.7/lib2to3/PatternGrammar2.7.10.final.0.pickle
+#usr/lib/python2.7/lib2to3/PatternGrammar2.7.13.final.0.pickle
 #usr/lib/python2.7/lib2to3/__init__.py
 #usr/lib/python2.7/lib2to3/__init__.pyc
 #usr/lib/python2.7/lib2to3/__init__.pyo
@@ -2127,9 +2137,6 @@ usr/lib/python2.7/lib-dynload/zlib.so
 #usr/lib/python2.7/lib2to3/fixes/fix_buffer.py
 #usr/lib/python2.7/lib2to3/fixes/fix_buffer.pyc
 #usr/lib/python2.7/lib2to3/fixes/fix_buffer.pyo
-#usr/lib/python2.7/lib2to3/fixes/fix_callable.py
-#usr/lib/python2.7/lib2to3/fixes/fix_callable.pyc
-#usr/lib/python2.7/lib2to3/fixes/fix_callable.pyo
 #usr/lib/python2.7/lib2to3/fixes/fix_dict.py
 #usr/lib/python2.7/lib2to3/fixes/fix_dict.pyc
 #usr/lib/python2.7/lib2to3/fixes/fix_dict.pyo
@@ -2748,6 +2755,7 @@ usr/lib/python2.7/tempfile.pyc
 #usr/lib/python2.7/test/_mock_backport.py
 #usr/lib/python2.7/test/_mock_backport.pyc
 #usr/lib/python2.7/test/_mock_backport.pyo
+#usr/lib/python2.7/test/allsans.pem
 #usr/lib/python2.7/test/audiodata
 #usr/lib/python2.7/test/audiodata/pluck-pcm16.aiff
 #usr/lib/python2.7/test/audiodata/pluck-pcm16.au
@@ -2782,16 +2790,14 @@ usr/lib/python2.7/tempfile.pyc
 #usr/lib/python2.7/test/badsyntax_future8.py
 #usr/lib/python2.7/test/badsyntax_future9.py
 #usr/lib/python2.7/test/badsyntax_nocaret.py
-#usr/lib/python2.7/test/buffer_tests.py
-#usr/lib/python2.7/test/buffer_tests.pyc
-#usr/lib/python2.7/test/buffer_tests.pyo
 #usr/lib/python2.7/test/capath
+#usr/lib/python2.7/test/capath/0e4015b9.0
 #usr/lib/python2.7/test/capath/4e1295a3.0
 #usr/lib/python2.7/test/capath/5ed36f99.0
 #usr/lib/python2.7/test/capath/6e88d7b8.0
 #usr/lib/python2.7/test/capath/99d0fa06.0
+#usr/lib/python2.7/test/capath/ce7b8643.0
 #usr/lib/python2.7/test/cfgparser.1
-#usr/lib/python2.7/test/check_soundcard.vbs
 #usr/lib/python2.7/test/cjkencodings
 #usr/lib/python2.7/test/cjkencodings/big5-utf8.txt
 #usr/lib/python2.7/test/cjkencodings/big5.txt
@@ -2991,7 +2997,6 @@ usr/lib/python2.7/tempfile.pyc
 #usr/lib/python2.7/test/gdb_sample.pyc
 #usr/lib/python2.7/test/gdb_sample.pyo
 #usr/lib/python2.7/test/greyrgb.uue
-#usr/lib/python2.7/test/https_svn_python_org_root.pem
 #usr/lib/python2.7/test/ieee754.txt
 #usr/lib/python2.7/test/imghdrdata
 #usr/lib/python2.7/test/imghdrdata/python.bmp
@@ -3103,6 +3108,9 @@ usr/lib/python2.7/tempfile.pyc
 #usr/lib/python2.7/test/ssl_servers.py
 #usr/lib/python2.7/test/ssl_servers.pyc
 #usr/lib/python2.7/test/ssl_servers.pyo
+#usr/lib/python2.7/test/ssltests.py
+#usr/lib/python2.7/test/ssltests.pyc
+#usr/lib/python2.7/test/ssltests.pyo
 #usr/lib/python2.7/test/string_tests.py
 #usr/lib/python2.7/test/string_tests.pyc
 #usr/lib/python2.7/test/string_tests.pyo
@@ -3317,9 +3325,6 @@ usr/lib/python2.7/tempfile.pyc
 #usr/lib/python2.7/test/test_codeop.py
 #usr/lib/python2.7/test/test_codeop.pyc
 #usr/lib/python2.7/test/test_codeop.pyo
-#usr/lib/python2.7/test/test_coding.py
-#usr/lib/python2.7/test/test_coding.pyc
-#usr/lib/python2.7/test/test_coding.pyo
 #usr/lib/python2.7/test/test_coercion.py
 #usr/lib/python2.7/test/test_coercion.pyc
 #usr/lib/python2.7/test/test_coercion.pyo
@@ -3835,6 +3840,9 @@ usr/lib/python2.7/tempfile.pyc
 #usr/lib/python2.7/test/test_optparse.py
 #usr/lib/python2.7/test/test_optparse.pyc
 #usr/lib/python2.7/test/test_optparse.pyo
+#usr/lib/python2.7/test/test_ordered_dict.py
+#usr/lib/python2.7/test/test_ordered_dict.pyc
+#usr/lib/python2.7/test/test_ordered_dict.pyo
 #usr/lib/python2.7/test/test_os.py
 #usr/lib/python2.7/test/test_os.pyc
 #usr/lib/python2.7/test/test_os.pyo
@@ -3853,15 +3861,9 @@ usr/lib/python2.7/tempfile.pyc
 #usr/lib/python2.7/test/test_pep247.py
 #usr/lib/python2.7/test/test_pep247.pyc
 #usr/lib/python2.7/test/test_pep247.pyo
-#usr/lib/python2.7/test/test_pep263.py
-#usr/lib/python2.7/test/test_pep263.pyc
-#usr/lib/python2.7/test/test_pep263.pyo
 #usr/lib/python2.7/test/test_pep277.py
 #usr/lib/python2.7/test/test_pep277.pyc
 #usr/lib/python2.7/test/test_pep277.pyo
-#usr/lib/python2.7/test/test_pep292.py
-#usr/lib/python2.7/test/test_pep292.pyc
-#usr/lib/python2.7/test/test_pep292.pyo
 #usr/lib/python2.7/test/test_pep352.py
 #usr/lib/python2.7/test/test_pep352.pyc
 #usr/lib/python2.7/test/test_pep352.pyo
@@ -4045,6 +4047,9 @@ usr/lib/python2.7/tempfile.pyc
 #usr/lib/python2.7/test/test_sort.py
 #usr/lib/python2.7/test/test_sort.pyc
 #usr/lib/python2.7/test/test_sort.pyo
+#usr/lib/python2.7/test/test_source_encoding.py
+#usr/lib/python2.7/test/test_source_encoding.pyc
+#usr/lib/python2.7/test/test_source_encoding.pyo
 #usr/lib/python2.7/test/test_spwd.py
 #usr/lib/python2.7/test/test_spwd.pyc
 #usr/lib/python2.7/test/test_spwd.pyo
@@ -4192,6 +4197,9 @@ usr/lib/python2.7/tempfile.pyc
 #usr/lib/python2.7/test/test_tuple.py
 #usr/lib/python2.7/test/test_tuple.pyc
 #usr/lib/python2.7/test/test_tuple.pyo
+#usr/lib/python2.7/test/test_turtle.py
+#usr/lib/python2.7/test/test_turtle.pyc
+#usr/lib/python2.7/test/test_turtle.pyo
 #usr/lib/python2.7/test/test_typechecks.py
 #usr/lib/python2.7/test/test_typechecks.pyc
 #usr/lib/python2.7/test/test_typechecks.pyo
index d3a5c38f3e55c7d6c13152b2e96a5eff1523f685..bcf0322d69fab812034bbed5aeb98432661e1091 100644 (file)
-usr/local/bin/7z
-usr/local/lib/p7zip
-#usr/local/lib/p7zip/7z
-#usr/local/lib/p7zip/7z.so
-#usr/local/lib/p7zip/Codecs
-usr/local/lib/p7zip/Codecs/Rar.so
-#usr/local/man/man1/7z.1
-#usr/local/man/man1/7za.1
-#usr/local/man/man1/7zr.1
-#usr/local/share/doc/p7zip
-#usr/local/share/doc/p7zip/ChangeLog
-#usr/local/share/doc/p7zip/DOC
-#usr/local/share/doc/p7zip/DOC/7zC.txt
-#usr/local/share/doc/p7zip/DOC/7zFormat.txt
-#usr/local/share/doc/p7zip/DOC/License.txt
-#usr/local/share/doc/p7zip/DOC/MANUAL
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/commands
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/commands/add.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/commands/bench.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/commands/delete.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/commands/extract.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/commands/extract_full.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/commands/hash.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/commands/index.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/commands/list.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/commands/rename.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/commands/style.css
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/commands/test.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/commands/update.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/exit_codes.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/index.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/style.css
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/ar_exclude.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/ar_include.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/ar_no.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/bb.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/bs.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/charset.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/email.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/exclude.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/include.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/index.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/large_pages.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/list_tech.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/method.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/output_dir.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/overwrite.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/password.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/recurse.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/sa.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/scc.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/scrc.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/sdel.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/sfx.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/shared.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/sni.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/sns.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/spf.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/ssc.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/stdin.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/stdout.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/stl.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/stop_switch.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/stx.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/style.css
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/type.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/update.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/volume.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/working_dir.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/switches/yes.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/cmdline/syntax.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/fm
-#usr/local/share/doc/p7zip/DOC/MANUAL/fm/about.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/fm/benchmark.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/fm/index.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/fm/menu.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/fm/options.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/fm/plugins
-#usr/local/share/doc/p7zip/DOC/MANUAL/fm/plugins/7-zip
-#usr/local/share/doc/p7zip/DOC/MANUAL/fm/plugins/7-zip/add.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/fm/plugins/7-zip/extract.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/fm/plugins/7-zip/index.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/fm/plugins/7-zip/style.css
-#usr/local/share/doc/p7zip/DOC/MANUAL/fm/plugins/index.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/fm/plugins/style.css
-#usr/local/share/doc/p7zip/DOC/MANUAL/fm/style.css
-#usr/local/share/doc/p7zip/DOC/MANUAL/general
-#usr/local/share/doc/p7zip/DOC/MANUAL/general/7z.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/general/faq.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/general/formats.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/general/index.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/general/license.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/general/performance.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/general/style.css
-#usr/local/share/doc/p7zip/DOC/MANUAL/general/thanks.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/start.htm
-#usr/local/share/doc/p7zip/DOC/MANUAL/style.css
-#usr/local/share/doc/p7zip/DOC/Methods.txt
-#usr/local/share/doc/p7zip/DOC/copying.txt
-#usr/local/share/doc/p7zip/DOC/lzma.txt
-#usr/local/share/doc/p7zip/DOC/readme.txt
-#usr/local/share/doc/p7zip/DOC/src-history.txt
-#usr/local/share/doc/p7zip/DOC/unRarLicense.txt
-#usr/local/share/doc/p7zip/README
+usr/bin/7z
+usr/lib/p7zip
+#usr/lib/p7zip/7z
+#usr/lib/p7zip/7z.so
+#usr/lib/p7zip/Codecs
+usr/lib/p7zip/Codecs/Rar.so
+#usr/man/man1/7z.1
+#usr/man/man1/7za.1
+#usr/man/man1/7zr.1
+#usr/share/doc/p7zip
+#usr/share/doc/p7zip/ChangeLog
+#usr/share/doc/p7zip/DOC
+#usr/share/doc/p7zip/DOC/7zC.txt
+#usr/share/doc/p7zip/DOC/7zFormat.txt
+#usr/share/doc/p7zip/DOC/License.txt
+#usr/share/doc/p7zip/DOC/MANUAL
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/commands
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/commands/add.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/commands/bench.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/commands/delete.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/commands/extract.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/commands/extract_full.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/commands/hash.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/commands/index.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/commands/list.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/commands/rename.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/commands/style.css
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/commands/test.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/commands/update.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/exit_codes.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/index.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/style.css
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/ar_exclude.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/ar_include.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/ar_no.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/bb.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/bs.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/charset.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/email.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/exclude.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/include.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/index.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/large_pages.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/list_tech.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/method.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/output_dir.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/overwrite.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/password.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/recurse.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/sa.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/scc.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/scrc.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/sdel.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/sfx.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/shared.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/sni.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/sns.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/spf.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/ssc.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/stdin.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/stdout.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/stl.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/stop_switch.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/stx.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/style.css
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/type.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/update.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/volume.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/working_dir.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/yes.htm
+#usr/share/doc/p7zip/DOC/MANUAL/cmdline/syntax.htm
+#usr/share/doc/p7zip/DOC/MANUAL/fm
+#usr/share/doc/p7zip/DOC/MANUAL/fm/about.htm
+#usr/share/doc/p7zip/DOC/MANUAL/fm/benchmark.htm
+#usr/share/doc/p7zip/DOC/MANUAL/fm/index.htm
+#usr/share/doc/p7zip/DOC/MANUAL/fm/menu.htm
+#usr/share/doc/p7zip/DOC/MANUAL/fm/options.htm
+#usr/share/doc/p7zip/DOC/MANUAL/fm/plugins
+#usr/share/doc/p7zip/DOC/MANUAL/fm/plugins/7-zip
+#usr/share/doc/p7zip/DOC/MANUAL/fm/plugins/7-zip/add.htm
+#usr/share/doc/p7zip/DOC/MANUAL/fm/plugins/7-zip/extract.htm
+#usr/share/doc/p7zip/DOC/MANUAL/fm/plugins/7-zip/index.htm
+#usr/share/doc/p7zip/DOC/MANUAL/fm/plugins/7-zip/style.css
+#usr/share/doc/p7zip/DOC/MANUAL/fm/plugins/index.htm
+#usr/share/doc/p7zip/DOC/MANUAL/fm/plugins/style.css
+#usr/share/doc/p7zip/DOC/MANUAL/fm/style.css
+#usr/share/doc/p7zip/DOC/MANUAL/general
+#usr/share/doc/p7zip/DOC/MANUAL/general/7z.htm
+#usr/share/doc/p7zip/DOC/MANUAL/general/faq.htm
+#usr/share/doc/p7zip/DOC/MANUAL/general/formats.htm
+#usr/share/doc/p7zip/DOC/MANUAL/general/index.htm
+#usr/share/doc/p7zip/DOC/MANUAL/general/license.htm
+#usr/share/doc/p7zip/DOC/MANUAL/general/performance.htm
+#usr/share/doc/p7zip/DOC/MANUAL/general/style.css
+#usr/share/doc/p7zip/DOC/MANUAL/general/thanks.htm
+#usr/share/doc/p7zip/DOC/MANUAL/start.htm
+#usr/share/doc/p7zip/DOC/MANUAL/style.css
+#usr/share/doc/p7zip/DOC/Methods.txt
+#usr/share/doc/p7zip/DOC/copying.txt
+#usr/share/doc/p7zip/DOC/lzma.txt
+#usr/share/doc/p7zip/DOC/readme.txt
+#usr/share/doc/p7zip/DOC/src-history.txt
+#usr/share/doc/p7zip/DOC/unRarLicense.txt
+#usr/share/doc/p7zip/README
index bbaec3ffb05ca2690c2a0d48863a0403f1f8d5ed..a8c156e5cb8c15ee2c382320dfc166564555878e 100644 (file)
@@ -1,3 +1,4 @@
+etc/rc.d/init.d/cyrus-imapd
 usr/bin/cyradm
 usr/bin/imtest
 usr/bin/installsieve
@@ -9,48 +10,70 @@ usr/bin/pop3test
 usr/bin/sieveshell
 usr/bin/sivtest
 usr/bin/smtptest
+usr/bin/synctest
 #usr/include/cyrus
 #usr/include/cyrus/acl.h
+#usr/include/cyrus/arrayu64.h
 #usr/include/cyrus/assert.h
 #usr/include/cyrus/auth.h
+#usr/include/cyrus/auth_pts.h
+#usr/include/cyrus/bitvector.h
 #usr/include/cyrus/bsearch.h
 #usr/include/cyrus/charset.h
+#usr/include/cyrus/chartable.h
+#usr/include/cyrus/command.h
+#usr/include/cyrus/crc32.h
+#usr/include/cyrus/cyr_lock.h
 #usr/include/cyrus/cyrusdb.h
+#usr/include/cyrus/exitcodes.h
 #usr/include/cyrus/glob.h
 #usr/include/cyrus/gmtoff.h
 #usr/include/cyrus/hash.h
+#usr/include/cyrus/hashu64.h
 #usr/include/cyrus/imapopts.h
 #usr/include/cyrus/imapurl.h
 #usr/include/cyrus/imclient.h
 #usr/include/cyrus/imparse.h
+#usr/include/cyrus/iostat.h
 #usr/include/cyrus/iptostring.h
-#usr/include/cyrus/libconfig.h
 #usr/include/cyrus/libcyr_cfg.h
-#usr/include/cyrus/lock.h
 #usr/include/cyrus/lsort.h
 #usr/include/cyrus/map.h
+#usr/include/cyrus/mappedfile.h
 #usr/include/cyrus/mkgmtime.h
 #usr/include/cyrus/mpool.h
 #usr/include/cyrus/nonblock.h
 #usr/include/cyrus/parseaddr.h
-#usr/include/cyrus/prot.h
 #usr/include/cyrus/retry.h
-#usr/include/cyrus/rfc822date.h
+#usr/include/cyrus/rfc822tok.h
+#usr/include/cyrus/sieve
+#usr/include/cyrus/sieve/sieve_err.h
+#usr/include/cyrus/sieve/sieve_interface.h
+#usr/include/cyrus/signals.h
+#usr/include/cyrus/strarray.h
 #usr/include/cyrus/strhash.h
-#usr/include/cyrus/strhash.o
 #usr/include/cyrus/stristr.h
 #usr/include/cyrus/sysexits.h
-#usr/include/cyrus/util.h
+#usr/include/cyrus/times.h
+#usr/include/cyrus/tok.h
+#usr/include/cyrus/vparse.h
+#usr/include/cyrus/wildmat.h
 #usr/include/cyrus/xmalloc.h
 #usr/lib/cyrus
 usr/lib/cyrus/arbitron
 usr/lib/cyrus/chk_cyrus
-usr/lib/cyrus/compile_sieve
 usr/lib/cyrus/ctl_cyrusdb
 usr/lib/cyrus/ctl_deliver
 usr/lib/cyrus/ctl_mboxlist
 usr/lib/cyrus/cvt_cyrusdb
+usr/lib/cyrus/cyr_dbtool
+usr/lib/cyrus/cyr_deny
+usr/lib/cyrus/cyr_df
 usr/lib/cyrus/cyr_expire
+usr/lib/cyrus/cyr_info
+usr/lib/cyrus/cyr_sequence
+usr/lib/cyrus/cyr_synclog
+usr/lib/cyrus/cyr_userseen
 usr/lib/cyrus/cyrdump
 usr/lib/cyrus/deliver
 usr/lib/cyrus/fud
@@ -58,21 +81,44 @@ usr/lib/cyrus/idled
 usr/lib/cyrus/imapd
 usr/lib/cyrus/ipurge
 usr/lib/cyrus/lmtpd
+usr/lib/cyrus/lmtpproxyd
 usr/lib/cyrus/master
 usr/lib/cyrus/mbexamine
 usr/lib/cyrus/mbpath
+usr/lib/cyrus/mbtool
 usr/lib/cyrus/notifyd
 usr/lib/cyrus/pop3d
 usr/lib/cyrus/pop3proxyd
+usr/lib/cyrus/proxyd
 usr/lib/cyrus/quota
 usr/lib/cyrus/reconstruct
 usr/lib/cyrus/sievec
+usr/lib/cyrus/sieved
 usr/lib/cyrus/smmapd
 usr/lib/cyrus/squatter
 usr/lib/cyrus/timsieved
 usr/lib/cyrus/tls_prune
-#usr/lib/libcyrus.a
-#usr/lib/libcyrus_min.a
+usr/lib/cyrus/unexpunge
+#usr/lib/libcyrus.la
+#usr/lib/libcyrus.so
+usr/lib/libcyrus.so.0
+usr/lib/libcyrus.so.0.0.0
+#usr/lib/libcyrus_imap.la
+#usr/lib/libcyrus_imap.so
+usr/lib/libcyrus_imap.so.0
+usr/lib/libcyrus_imap.so.0.0.0
+#usr/lib/libcyrus_min.la
+#usr/lib/libcyrus_min.so
+usr/lib/libcyrus_min.so.0
+usr/lib/libcyrus_min.so.0.0.0
+#usr/lib/libcyrus_sieve.la
+#usr/lib/libcyrus_sieve.so
+usr/lib/libcyrus_sieve.so.0
+usr/lib/libcyrus_sieve.so.0.0.0
+#usr/lib/perl5/site_perl/5.12.3/Cyrus
+#usr/lib/perl5/site_perl/5.12.3/Cyrus/Annotator
+usr/lib/perl5/site_perl/5.12.3/Cyrus/Annotator/Daemon.pm
+usr/lib/perl5/site_perl/5.12.3/Cyrus/Annotator/Message.pm
 #usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/Cyrus
 #usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/Cyrus/IMAP
 usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/Cyrus/IMAP.pm
@@ -82,6 +128,9 @@ usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/Cyrus/IMAP/Shell.pm
 #usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/Cyrus/SIEVE
 usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/Cyrus/SIEVE/managesieve.pm
 #usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Cyrus
+#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Cyrus/Annotator
+#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Cyrus/Annotator/Daemon
+#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Cyrus/Annotator/Daemon/.packlist
 #usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Cyrus/IMAP
 #usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Cyrus/IMAP/.packlist
 #usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Cyrus/IMAP/IMAP.bs
@@ -91,53 +140,63 @@ usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Cyrus/IMAP/IMAP.s
 #usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Cyrus/SIEVE/managesieve/.packlist
 #usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Cyrus/SIEVE/managesieve/managesieve.bs
 usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Cyrus/SIEVE/managesieve/managesieve.so
-#usr/man/man1/imtest.1
-#usr/man/man1/installsieve.1
-#usr/man/man1/lmtptest.1
-#usr/man/man1/mupdatetest.1
-#usr/man/man1/nntptest.1
-#usr/man/man1/pop3test.1
-#usr/man/man1/sieveshell.1
-#usr/man/man1/sivtest.1
-#usr/man/man1/smtptest.1
-#usr/man/man3/imclient.3
-#usr/man/man5/cyrus.conf.5
-#usr/man/man5/imapd.conf.5
-#usr/man/man5/krb.equiv.5
-#usr/man/man8/arbitron.8
-#usr/man/man8/chk_cyrus.8
-#usr/man/man8/ctl_cyrusdb.8
-#usr/man/man8/ctl_deliver.8
-#usr/man/man8/ctl_mboxlist.8
-#usr/man/man8/cvt_cyrusdb.8
-#usr/man/man8/cyr_expire.8
-#usr/man/man8/deliver.8
-#usr/man/man8/fetchnews.8
-#usr/man/man8/fud.8
-#usr/man/man8/idled.8
-#usr/man/man8/imapd.8
-#usr/man/man8/ipurge.8
-#usr/man/man8/lmtpd.8
-#usr/man/man8/master.8
-#usr/man/man8/mbexamine.8
-#usr/man/man8/mbpath.8
-#usr/man/man8/nntpd.8
-#usr/man/man8/notifyd.8
-#usr/man/man8/pop3d.8
-#usr/man/man8/quota.8
-#usr/man/man8/reconstruct.8
-#usr/man/man8/rmnews.8
-#usr/man/man8/smmapd.8
-#usr/man/man8/squatter.8
-#usr/man/man8/syncnews.8
-#usr/man/man8/timsieved.8
-#usr/man/man8/tls_prune.8
+#usr/lib/pkgconfig/libcyrus.pc
+#usr/lib/pkgconfig/libcyrus_min.pc
+#usr/lib/pkgconfig/libcyrus_sieve.pc
 #usr/share/man/man1/cyradm.1
+#usr/share/man/man1/imtest.1
+#usr/share/man/man1/installsieve.1
+#usr/share/man/man1/lmtptest.1
+#usr/share/man/man1/mupdatetest.1
+#usr/share/man/man1/nntptest.1
+#usr/share/man/man1/pop3test.1
+#usr/share/man/man1/sieveshell.1
+#usr/share/man/man1/sivtest.1
+#usr/share/man/man1/smtptest.1
+#usr/share/man/man3/Cyrus::Annotator::Daemon.3
+#usr/share/man/man3/Cyrus::Annotator::Message.3
 #usr/share/man/man3/Cyrus::IMAP.3
 #usr/share/man/man3/Cyrus::IMAP::Admin.3
 #usr/share/man/man3/Cyrus::IMAP::IMSP.3
 #usr/share/man/man3/Cyrus::IMAP::Shell.3
 #usr/share/man/man3/Cyrus::SIEVE::managesieve.3
+#usr/share/man/man3/imclient.3
+#usr/share/man/man5/cyrus.conf.5
+#usr/share/man/man5/imapd.conf.5
+#usr/share/man/man5/krb.equiv.5
+#usr/share/man/man8/arbitron.8
+#usr/share/man/man8/chk_cyrus.8
+#usr/share/man/man8/ctl_cyrusdb.8
+#usr/share/man/man8/ctl_deliver.8
+#usr/share/man/man8/ctl_mboxlist.8
+#usr/share/man/man8/cvt_cyrusdb.8
+#usr/share/man/man8/cyr_dbtool.8
+#usr/share/man/man8/cyr_deny.8
+#usr/share/man/man8/cyr_df.8
+#usr/share/man/man8/cyr_expire.8
+#usr/share/man/man8/cyr_info.8
+#usr/share/man/man8/cyr_synclog.8
+#usr/share/man/man8/deliver.8
+#usr/share/man/man8/fud.8
+#usr/share/man/man8/idled.8
+#usr/share/man/man8/imapd.8
+#usr/share/man/man8/ipurge.8
+#usr/share/man/man8/lmtpd.8
+#usr/share/man/man8/mbexamine.8
+#usr/share/man/man8/mbpath.8
+#usr/share/man/man8/notifyd.8
+#usr/share/man/man8/pop3d.8
+#usr/share/man/man8/quota.8
+#usr/share/man/man8/reconstruct.8
+#usr/share/man/man8/rmnews.8
+#usr/share/man/man8/smmapd.8
+#usr/share/man/man8/squatter.8
+#usr/share/man/man8/sync_client.8
+#usr/share/man/man8/sync_reset.8
+#usr/share/man/man8/sync_server.8
+#usr/share/man/man8/timsieved.8
+#usr/share/man/man8/tls_prune.8
+#usr/share/man/man8/unexpunge.8
 usr/sieve
 var/imap
 var/imap/db
@@ -146,10 +205,11 @@ var/imap/msg
 var/imap/proc
 var/imap/ptclient
 var/imap/socket
+var/imap/sync
 var/ipfire/backup/addons/includes/cyrus-imapd
 var/ipfire/cyrusimap
 var/ipfire/cyrusimap/cyrus.conf
 var/ipfire/cyrusimap/imapd.conf
 var/log/imap
 var/log/imap/stage.
-etc/rc.d/init.d/cyrus-imapd
+var/log/imap/sync.
diff --git a/config/rootfiles/packages/dfb++ b/config/rootfiles/packages/dfb++
deleted file mode 100644 (file)
index 04a323d..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-usr/bin/dfb++-config
-usr/bin/dfbshow
-usr/bin/dfbswitch
-#usr/include/dfb++
-#usr/include/dfb++/dfb++.h
-#usr/include/dfb++/idirectfb.h
-#usr/include/dfb++/idirectfbdatabuffer.h
-#usr/include/dfb++/idirectfbdisplaylayer.h
-#usr/include/dfb++/idirectfbeventbuffer.h
-#usr/include/dfb++/idirectfbfont.h
-#usr/include/dfb++/idirectfbimageprovider.h
-#usr/include/dfb++/idirectfbinputdevice.h
-#usr/include/dfb++/idirectfbpalette.h
-#usr/include/dfb++/idirectfbscreen.h
-#usr/include/dfb++/idirectfbsurface.h
-#usr/include/dfb++/idirectfbvideoprovider.h
-#usr/include/dfb++/idirectfbwindow.h
-usr/lib/libdfb++-1.0.so.0
-usr/lib/libdfb++-1.0.so.0.0.0
-#usr/lib/libdfb++.la
-usr/lib/libdfb++.so
-#usr/lib/pkgconfig/dfb++.pc
index 9bcd3a4ff63a0527c26ff1bc11e5bd8631be4d96..7cf77606466942b0d048ead639c07b7bb120306a 100644 (file)
@@ -46,6 +46,7 @@ etc/raddb
 #etc/raddb/mods-available/logintime
 #etc/raddb/mods-available/mac2ip
 #etc/raddb/mods-available/mac2vlan
+#etc/raddb/mods-available/moonshot-targeted-ids
 #etc/raddb/mods-available/mschap
 #etc/raddb/mods-available/ntlm_auth
 #etc/raddb/mods-available/opendirectory
@@ -163,12 +164,23 @@ etc/raddb
 #etc/raddb/mods-config/sql/main/sqlite
 #etc/raddb/mods-config/sql/main/sqlite/queries.conf
 #etc/raddb/mods-config/sql/main/sqlite/schema.sql
+#etc/raddb/mods-config/sql/moonshot-targeted-ids
+#etc/raddb/mods-config/sql/moonshot-targeted-ids/mysql
+#etc/raddb/mods-config/sql/moonshot-targeted-ids/mysql/queries.conf
+#etc/raddb/mods-config/sql/moonshot-targeted-ids/mysql/schema.sql
+#etc/raddb/mods-config/sql/moonshot-targeted-ids/postgresql
+#etc/raddb/mods-config/sql/moonshot-targeted-ids/postgresql/queries.conf
+#etc/raddb/mods-config/sql/moonshot-targeted-ids/postgresql/schema.sql
+#etc/raddb/mods-config/sql/moonshot-targeted-ids/sqlite
+#etc/raddb/mods-config/sql/moonshot-targeted-ids/sqlite/queries.conf
+#etc/raddb/mods-config/sql/moonshot-targeted-ids/sqlite/schema.sql
 #etc/raddb/mods-config/unbound
 #etc/raddb/mods-enabled
 #etc/raddb/mods-enabled/always
 #etc/raddb/mods-enabled/attr_filter
 #etc/raddb/mods-enabled/cache_eap
 #etc/raddb/mods-enabled/chap
+#etc/raddb/mods-enabled/date
 #etc/raddb/mods-enabled/detail
 #etc/raddb/mods-enabled/detail.log
 #etc/raddb/mods-enabled/dhcp
@@ -205,6 +217,7 @@ etc/raddb
 #etc/raddb/policy.d/dhcp
 #etc/raddb/policy.d/eap
 #etc/raddb/policy.d/filter
+#etc/raddb/policy.d/moonshot-targeted-ids
 #etc/raddb/policy.d/operator-name
 #etc/raddb/proxy.conf
 #etc/raddb/radiusd.conf
@@ -311,6 +324,7 @@ usr/bin/smbencrypt
 #usr/include/freeradius/rfc7155.h
 #usr/include/freeradius/rfc7268.h
 #usr/include/freeradius/rfc7499.h
+#usr/include/freeradius/rfc7930.h
 #usr/include/freeradius/sha1.h
 #usr/include/freeradius/stats.h
 #usr/include/freeradius/sysutmp.h
@@ -376,6 +390,9 @@ usr/lib/freeradius/rlm_dynamic_clients.so
 #usr/lib/freeradius/rlm_eap.a
 #usr/lib/freeradius/rlm_eap.la
 usr/lib/freeradius/rlm_eap.so
+#usr/lib/freeradius/rlm_eap_fast.a
+#usr/lib/freeradius/rlm_eap_fast.la
+usr/lib/freeradius/rlm_eap_fast.so
 #usr/lib/freeradius/rlm_eap_gtc.a
 #usr/lib/freeradius/rlm_eap_gtc.la
 usr/lib/freeradius/rlm_eap_gtc.so
@@ -641,7 +658,6 @@ usr/sbin/radmin
 #usr/share/doc/freeradius/schemas/ldap/openldap/freeradius.schema
 #usr/share/doc/freeradius/schemas/logstash
 #usr/share/doc/freeradius/schemas/logstash/README
-#usr/share/doc/freeradius/schemas/logstash/kibana3-dashboard.json
 #usr/share/doc/freeradius/schemas/logstash/kibana4-dashboard.json
 #usr/share/doc/freeradius/schemas/logstash/log-courier.conf
 #usr/share/doc/freeradius/schemas/logstash/logstash-radius.conf
@@ -660,6 +676,7 @@ usr/share/freeradius
 #usr/share/freeradius/dictionary.acc
 #usr/share/freeradius/dictionary.acme
 #usr/share/freeradius/dictionary.actelis
+#usr/share/freeradius/dictionary.adtran
 #usr/share/freeradius/dictionary.aerohive
 #usr/share/freeradius/dictionary.airespace
 #usr/share/freeradius/dictionary.alcatel
@@ -694,6 +711,7 @@ usr/share/freeradius
 #usr/share/freeradius/dictionary.cablelabs
 #usr/share/freeradius/dictionary.cabletron
 #usr/share/freeradius/dictionary.camiant
+#usr/share/freeradius/dictionary.checkpoint
 #usr/share/freeradius/dictionary.chillispot
 #usr/share/freeradius/dictionary.cisco
 #usr/share/freeradius/dictionary.cisco.asa
@@ -702,12 +720,14 @@ usr/share/freeradius
 #usr/share/freeradius/dictionary.cisco.vpn5000
 #usr/share/freeradius/dictionary.citrix
 #usr/share/freeradius/dictionary.clavister
+#usr/share/freeradius/dictionary.cnergee
 #usr/share/freeradius/dictionary.colubris
 #usr/share/freeradius/dictionary.columbia_university
 #usr/share/freeradius/dictionary.compat
 #usr/share/freeradius/dictionary.compatible
 #usr/share/freeradius/dictionary.cosine
 #usr/share/freeradius/dictionary.dante
+#usr/share/freeradius/dictionary.dellemc
 #usr/share/freeradius/dictionary.dhcp
 #usr/share/freeradius/dictionary.digium
 #usr/share/freeradius/dictionary.dlink
@@ -756,6 +776,7 @@ usr/share/freeradius
 #usr/share/freeradius/dictionary.meraki
 #usr/share/freeradius/dictionary.merit
 #usr/share/freeradius/dictionary.meru
+#usr/share/freeradius/dictionary.microsemi
 #usr/share/freeradius/dictionary.microsoft
 #usr/share/freeradius/dictionary.mikrotik
 #usr/share/freeradius/dictionary.motorola
@@ -813,11 +834,13 @@ usr/share/freeradius
 #usr/share/freeradius/dictionary.rfc7155
 #usr/share/freeradius/dictionary.rfc7268
 #usr/share/freeradius/dictionary.rfc7499
+#usr/share/freeradius/dictionary.rfc7930
 #usr/share/freeradius/dictionary.riverbed
 #usr/share/freeradius/dictionary.riverstone
 #usr/share/freeradius/dictionary.roaringpenguin
 #usr/share/freeradius/dictionary.ruckus
 #usr/share/freeradius/dictionary.ruggedcom
+#usr/share/freeradius/dictionary.sangoma
 #usr/share/freeradius/dictionary.sg
 #usr/share/freeradius/dictionary.shasta
 #usr/share/freeradius/dictionary.shiva
@@ -859,6 +882,8 @@ usr/share/freeradius
 #usr/share/freeradius/dictionary.zeus
 #usr/share/freeradius/dictionary.zte
 #usr/share/freeradius/dictionary.zyxel
+#usr/share/man/man1/dhcpclient.1
+#usr/share/man/man1/rad_counter.1
 #usr/share/man/man1/radclient.1
 #usr/share/man/man1/radeapclient.1
 #usr/share/man/man1/radlast.1
index 1f48350dfdcd38e9cc9649e5f9da07543dc75e51..9e61f8bf87f684facab972e001cf45e3c8315e18 100644 (file)
@@ -1,30 +1,96 @@
 usr/bin/dfbdump
+usr/bin/dfbdumpinput
 usr/bin/dfbfx
 usr/bin/dfbg
 usr/bin/dfbinfo
 usr/bin/dfbinput
+usr/bin/dfbinspector
 usr/bin/dfblayer
+usr/bin/dfbmaster
 usr/bin/dfbpenmount
+usr/bin/dfbplay
 usr/bin/dfbscreen
+usr/bin/dfbshow
+usr/bin/dfbswitch
 usr/bin/directfb-config
 usr/bin/directfb-csource
 usr/bin/mkdfiff
 usr/bin/mkdgiff
+usr/bin/mkdgifft
+usr/bin/pxa3xx_dump
+#usr/include/++dfb
+#usr/include/++dfb/++dfb.h
+#usr/include/++dfb/++dfb_mangle.h
+#usr/include/++dfb/++dfb_unmangle.h
+#usr/include/++dfb/idirectfb.h
+#usr/include/++dfb/idirectfbdatabuffer.h
+#usr/include/++dfb/idirectfbdisplaylayer.h
+#usr/include/++dfb/idirectfbeventbuffer.h
+#usr/include/++dfb/idirectfbfont.h
+#usr/include/++dfb/idirectfbimageprovider.h
+#usr/include/++dfb/idirectfbinputdevice.h
+#usr/include/++dfb/idirectfbpalette.h
+#usr/include/++dfb/idirectfbscreen.h
+#usr/include/++dfb/idirectfbsurface.h
+#usr/include/++dfb/idirectfbvideoprovider.h
+#usr/include/++dfb/idirectfbwindow.h
 #usr/include/directfb
 #usr/include/directfb-internal
 #usr/include/directfb-internal/core
+#usr/include/directfb-internal/core/CoreDFB.h
+#usr/include/directfb-internal/core/CoreDFB_CallMode.h
+#usr/include/directfb-internal/core/CoreDFB_includes.h
+#usr/include/directfb-internal/core/CoreGraphicsState.h
+#usr/include/directfb-internal/core/CoreGraphicsStateClient.h
+#usr/include/directfb-internal/core/CoreGraphicsState_includes.h
+#usr/include/directfb-internal/core/CoreInputDevice.h
+#usr/include/directfb-internal/core/CoreInputDevice_includes.h
+#usr/include/directfb-internal/core/CoreLayer.h
+#usr/include/directfb-internal/core/CoreLayerContext.h
+#usr/include/directfb-internal/core/CoreLayerContext_includes.h
+#usr/include/directfb-internal/core/CoreLayerRegion.h
+#usr/include/directfb-internal/core/CoreLayerRegion_includes.h
+#usr/include/directfb-internal/core/CoreLayer_includes.h
+#usr/include/directfb-internal/core/CorePalette.h
+#usr/include/directfb-internal/core/CorePalette_includes.h
+#usr/include/directfb-internal/core/CoreScreen.h
+#usr/include/directfb-internal/core/CoreScreen_includes.h
+#usr/include/directfb-internal/core/CoreSlave.h
+#usr/include/directfb-internal/core/CoreSlave_includes.h
+#usr/include/directfb-internal/core/CoreSurface.h
+#usr/include/directfb-internal/core/CoreSurfaceClient.h
+#usr/include/directfb-internal/core/CoreSurfaceClient_includes.h
+#usr/include/directfb-internal/core/CoreSurface_includes.h
+#usr/include/directfb-internal/core/CoreWindow.h
+#usr/include/directfb-internal/core/CoreWindowStack.h
+#usr/include/directfb-internal/core/CoreWindowStack_includes.h
+#usr/include/directfb-internal/core/CoreWindow_includes.h
+#usr/include/directfb-internal/core/Debug.h
+#usr/include/directfb-internal/core/DisplayTask.h
+#usr/include/directfb-internal/core/Fifo.h
+#usr/include/directfb-internal/core/Interface.h
+#usr/include/directfb-internal/core/PacketBuffer.h
+#usr/include/directfb-internal/core/Renderer.h
+#usr/include/directfb-internal/core/SurfaceTask.h
+#usr/include/directfb-internal/core/Task.h
+#usr/include/directfb-internal/core/TaskManager.h
+#usr/include/directfb-internal/core/TaskThreadsQ.h
+#usr/include/directfb-internal/core/Util.h
 #usr/include/directfb-internal/core/clipboard.h
 #usr/include/directfb-internal/core/colorhash.h
 #usr/include/directfb-internal/core/core.h
 #usr/include/directfb-internal/core/core_parts.h
+#usr/include/directfb-internal/core/core_strings.h
 #usr/include/directfb-internal/core/core_system.h
 #usr/include/directfb-internal/core/coredefs.h
 #usr/include/directfb-internal/core/coretypes.h
 #usr/include/directfb-internal/core/fonts.h
 #usr/include/directfb-internal/core/gfxcard.h
 #usr/include/directfb-internal/core/graphics_driver.h
+#usr/include/directfb-internal/core/graphics_state.h
 #usr/include/directfb-internal/core/input.h
 #usr/include/directfb-internal/core/input_driver.h
+#usr/include/directfb-internal/core/input_hub.h
 #usr/include/directfb-internal/core/layer_context.h
 #usr/include/directfb-internal/core/layer_control.h
 #usr/include/directfb-internal/core/layer_region.h
@@ -36,8 +102,12 @@ usr/bin/mkdgiff
 #usr/include/directfb-internal/core/screens_internal.h
 #usr/include/directfb-internal/core/state.h
 #usr/include/directfb-internal/core/surface.h
+#usr/include/directfb-internal/core/surface_allocation.h
 #usr/include/directfb-internal/core/surface_buffer.h
+#usr/include/directfb-internal/core/surface_client.h
+#usr/include/directfb-internal/core/surface_core.h
 #usr/include/directfb-internal/core/surface_pool.h
+#usr/include/directfb-internal/core/surface_pool_bridge.h
 #usr/include/directfb-internal/core/system.h
 #usr/include/directfb-internal/core/windows.h
 #usr/include/directfb-internal/core/windows_internal.h
@@ -54,6 +124,8 @@ usr/bin/mkdgiff
 #usr/include/directfb-internal/display/idirectfbsurface.h
 #usr/include/directfb-internal/display/idirectfbsurface_layer.h
 #usr/include/directfb-internal/display/idirectfbsurface_window.h
+#usr/include/directfb-internal/dummy
+#usr/include/directfb-internal/dummy/dummy.h
 #usr/include/directfb-internal/fbdev
 #usr/include/directfb-internal/fbdev/agp.h
 #usr/include/directfb-internal/fbdev/fb.h
@@ -67,13 +139,16 @@ usr/bin/mkdgiff
 #usr/include/directfb-internal/gfx/generic/generic.h
 #usr/include/directfb-internal/gfx/util.h
 #usr/include/directfb-internal/idirectfb.h
+#usr/include/directfb-internal/init.h
 #usr/include/directfb-internal/input
 #usr/include/directfb-internal/input/idirectfbinputbuffer.h
 #usr/include/directfb-internal/input/idirectfbinputdevice.h
 #usr/include/directfb-internal/media
 #usr/include/directfb-internal/media/idirectfbdatabuffer.h
+#usr/include/directfb-internal/media/idirectfbdatabuffer_client.h
 #usr/include/directfb-internal/media/idirectfbfont.h
 #usr/include/directfb-internal/media/idirectfbimageprovider.h
+#usr/include/directfb-internal/media/idirectfbimageprovider_client.h
 #usr/include/directfb-internal/media/idirectfbvideoprovider.h
 #usr/include/directfb-internal/misc
 #usr/include/directfb-internal/misc/conf.h
@@ -85,20 +160,60 @@ usr/bin/mkdgiff
 #usr/include/directfb/dfiff.h
 #usr/include/directfb/dgiff.h
 #usr/include/directfb/direct
+#usr/include/directfb/direct/Lists.h
+#usr/include/directfb/direct/LockWQ.h
+#usr/include/directfb/direct/Magic.h
+#usr/include/directfb/direct/Mutex.h
+#usr/include/directfb/direct/Performer.h
+#usr/include/directfb/direct/String.h
+#usr/include/directfb/direct/TLSObject.h
+#usr/include/directfb/direct/ToString.h
+#usr/include/directfb/direct/Types++.h
+#usr/include/directfb/direct/atomic.h
 #usr/include/directfb/direct/build.h
 #usr/include/directfb/direct/clock.h
+#usr/include/directfb/direct/compiler.h
 #usr/include/directfb/direct/conf.h
 #usr/include/directfb/direct/debug.h
 #usr/include/directfb/direct/direct.h
+#usr/include/directfb/direct/fastlz.h
+#usr/include/directfb/direct/fifo.h
+#usr/include/directfb/direct/filesystem.h
+#usr/include/directfb/direct/flz.h
 #usr/include/directfb/direct/hash.h
+#usr/include/directfb/direct/init.h
 #usr/include/directfb/direct/interface.h
 #usr/include/directfb/direct/interface_implementation.h
 #usr/include/directfb/direct/list.h
 #usr/include/directfb/direct/log.h
+#usr/include/directfb/direct/log_domain.h
+#usr/include/directfb/direct/map.h
 #usr/include/directfb/direct/mem.h
 #usr/include/directfb/direct/memcpy.h
 #usr/include/directfb/direct/messages.h
 #usr/include/directfb/direct/modules.h
+#usr/include/directfb/direct/os
+#usr/include/directfb/direct/os/clock.h
+#usr/include/directfb/direct/os/filesystem.h
+#usr/include/directfb/direct/os/linux
+#usr/include/directfb/direct/os/linux/glibc
+#usr/include/directfb/direct/os/linux/glibc/filesystem.h
+#usr/include/directfb/direct/os/linux/glibc/mutex.h
+#usr/include/directfb/direct/os/linux/glibc/thread.h
+#usr/include/directfb/direct/os/linux/glibc/types.h
+#usr/include/directfb/direct/os/linux/glibc/waitqueue.h
+#usr/include/directfb/direct/os/log.h
+#usr/include/directfb/direct/os/mem.h
+#usr/include/directfb/direct/os/mutex.h
+#usr/include/directfb/direct/os/signals.h
+#usr/include/directfb/direct/os/system.h
+#usr/include/directfb/direct/os/thread.h
+#usr/include/directfb/direct/os/types.h
+#usr/include/directfb/direct/os/waitqueue.h
+#usr/include/directfb/direct/perf.h
+#usr/include/directfb/direct/print.h
+#usr/include/directfb/direct/processor.h
+#usr/include/directfb/direct/result.h
 #usr/include/directfb/direct/serial.h
 #usr/include/directfb/direct/signals.h
 #usr/include/directfb/direct/stream.h
@@ -109,14 +224,23 @@ usr/bin/mkdgiff
 #usr/include/directfb/direct/types.h
 #usr/include/directfb/direct/utf8.h
 #usr/include/directfb/direct/util.h
+#usr/include/directfb/direct/uuid.h
+#usr/include/directfb/directfb++.h
 #usr/include/directfb/directfb.h
+#usr/include/directfb/directfb_build.h
+#usr/include/directfb/directfb_graphics.h
 #usr/include/directfb/directfb_keyboard.h
 #usr/include/directfb/directfb_keynames.h
 #usr/include/directfb/directfb_strings.h
 #usr/include/directfb/directfb_util.h
 #usr/include/directfb/directfb_version.h
+#usr/include/directfb/directfb_water.h
+#usr/include/directfb/directfb_water_strings.h
+#usr/include/directfb/directfb_windows.h
 #usr/include/directfb/directfbgl.h
+#usr/include/directfb/directfbgl2.h
 #usr/include/directfb/fusion
+#usr/include/directfb/fusion/Debug.h
 #usr/include/directfb/fusion/arena.h
 #usr/include/directfb/fusion/build.h
 #usr/include/directfb/fusion/call.h
@@ -124,6 +248,7 @@ usr/bin/mkdgiff
 #usr/include/directfb/fusion/fusion.h
 #usr/include/directfb/fusion/fusion_internal.h
 #usr/include/directfb/fusion/hash.h
+#usr/include/directfb/fusion/init.h
 #usr/include/directfb/fusion/lock.h
 #usr/include/directfb/fusion/object.h
 #usr/include/directfb/fusion/property.h
@@ -137,113 +262,136 @@ usr/bin/mkdgiff
 #usr/include/directfb/fusion/shmalloc.h
 #usr/include/directfb/fusion/types.h
 #usr/include/directfb/fusion/vector.h
-#usr/lib/directfb-1.1-0
-#usr/lib/directfb-1.1-0/gfxdrivers
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_ati128.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_ati128.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_cle266.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_cle266.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_cyber5k.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_cyber5k.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_i810.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_i810.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_i830.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_i830.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_mach64.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_mach64.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_neomagic.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_neomagic.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_nsc.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_nsc.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_nvidia.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_nvidia.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_radeon.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_radeon.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_savage.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_savage.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_sdlgraphics.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_sdlgraphics.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_sh7722.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_sh7722.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_sis315.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_sis315.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_tdfx.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_tdfx.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_unichrome.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_unichrome.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_vmware.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_vmware.so
-#usr/lib/directfb-1.1-0/inputdrivers
-#usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_joystick.la
-usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_joystick.so
-#usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_keyboard.la
-usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_keyboard.so
-#usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_linux_input.la
-usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_linux_input.so
-#usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_lirc.la
-usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_lirc.so
-#usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_mutouch.la
-usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_mutouch.so
-#usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_penmount.la
-usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_penmount.so
-#usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_ps2mouse.la
-usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_ps2mouse.so
-#usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_sdlinput.la
-usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_sdlinput.so
-#usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_serialmouse.la
-usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_serialmouse.so
-#usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_sonypi.la
-usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_sonypi.so
-#usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_wm97xx_ts.la
-usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_wm97xx_ts.so
-#usr/lib/directfb-1.1-0/interfaces
-#usr/lib/directfb-1.1-0/interfaces/IDirectFBFont
-#usr/lib/directfb-1.1-0/interfaces/IDirectFBFont/libidirectfbfont_default.la
-usr/lib/directfb-1.1-0/interfaces/IDirectFBFont/libidirectfbfont_default.so
-#usr/lib/directfb-1.1-0/interfaces/IDirectFBFont/libidirectfbfont_ft2.la
-usr/lib/directfb-1.1-0/interfaces/IDirectFBFont/libidirectfbfont_ft2.so
-#usr/lib/directfb-1.1-0/interfaces/IDirectFBImageProvider
-#usr/lib/directfb-1.1-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_dfiff.la
-usr/lib/directfb-1.1-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_dfiff.so
-#usr/lib/directfb-1.1-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_gif.la
-usr/lib/directfb-1.1-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_gif.so
-#usr/lib/directfb-1.1-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_jpeg.la
-usr/lib/directfb-1.1-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_jpeg.so
-#usr/lib/directfb-1.1-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_mpeg2.la
-usr/lib/directfb-1.1-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_mpeg2.so
-#usr/lib/directfb-1.1-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_png.la
-usr/lib/directfb-1.1-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_png.so
-#usr/lib/directfb-1.1-0/interfaces/IDirectFBVideoProvider
-#usr/lib/directfb-1.1-0/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_gif.la
-usr/lib/directfb-1.1-0/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_gif.so
-#usr/lib/directfb-1.1-0/systems
-#usr/lib/directfb-1.1-0/systems/libdirectfb_devmem.la
-usr/lib/directfb-1.1-0/systems/libdirectfb_devmem.so
-#usr/lib/directfb-1.1-0/systems/libdirectfb_fbdev.la
-usr/lib/directfb-1.1-0/systems/libdirectfb_fbdev.so
-#usr/lib/directfb-1.1-0/systems/libdirectfb_sdl.la
-usr/lib/directfb-1.1-0/systems/libdirectfb_sdl.so
-#usr/lib/directfb-1.1-0/wm
-#usr/lib/directfb-1.1-0/wm/libdirectfbwm_default.la
-usr/lib/directfb-1.1-0/wm/libdirectfbwm_default.so
-usr/lib/libdirect-1.1.so.0
-usr/lib/libdirect-1.1.so.0.1.0
+#usr/lib/directfb-1.7-7
+#usr/lib/directfb-1.7-7/gfxdrivers
+#usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_ati128.la
+usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_ati128.so
+#usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_ep9x.la
+usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_ep9x.so
+#usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_i810.la
+usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_i810.so
+#usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_i830.la
+usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_i830.so
+#usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_mach64.la
+usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_mach64.so
+#usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_matrox.la
+usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_matrox.so
+#usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_neomagic.la
+usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_neomagic.so
+#usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_nsc.la
+usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_nsc.so
+#usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_nvidia.la
+usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_nvidia.so
+#usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_pxa3xx.la
+usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_pxa3xx.so
+#usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_sdlgraphics.la
+usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_sdlgraphics.so
+#usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_sis315.la
+usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_sis315.so
+#usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_tdfx.la
+usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_tdfx.so
+#usr/lib/directfb-1.7-7/inputdrivers
+#usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_input_hub.la
+usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_input_hub.so
+#usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_joystick.la
+usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_joystick.so
+#usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_keyboard.la
+usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_keyboard.so
+#usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_linux_input.la
+usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_linux_input.so
+#usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_lirc.la
+usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_lirc.so
+#usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_mutouch.la
+usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_mutouch.so
+#usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_penmount.la
+usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_penmount.so
+#usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_ps2mouse.la
+usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_ps2mouse.so
+#usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_sdlinput.la
+usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_sdlinput.so
+#usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_serialmouse.la
+usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_serialmouse.so
+#usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_sonypi.la
+usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_sonypi.so
+#usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_wm97xx_ts.la
+usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_wm97xx_ts.so
+#usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_zytronic.la
+usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_zytronic.so
+#usr/lib/directfb-1.7-7/interfaces
+#usr/lib/directfb-1.7-7/interfaces/ICoreResourceManager
+#usr/lib/directfb-1.7-7/interfaces/ICoreResourceManager/libicoreresourcemanager_test.la
+usr/lib/directfb-1.7-7/interfaces/ICoreResourceManager/libicoreresourcemanager_test.so
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBFont
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBFont/libidirectfbfont_dgiff.la
+usr/lib/directfb-1.7-7/interfaces/IDirectFBFont/libidirectfbfont_dgiff.so
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBFont/libidirectfbfont_ft2.la
+usr/lib/directfb-1.7-7/interfaces/IDirectFBFont/libidirectfbfont_ft2.so
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_bmp.la
+usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_bmp.so
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_dfiff.la
+usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_dfiff.so
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_gif.la
+usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_gif.so
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_jpeg.la
+usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_jpeg.so
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_mpeg2.la
+usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_mpeg2.so
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_png.la
+usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_png.so
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_pnm.la
+usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_pnm.so
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_tiff.la
+usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_tiff.so
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBVideoProvider
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_gif.la
+usr/lib/directfb-1.7-7/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_gif.so
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_v4l.la
+usr/lib/directfb-1.7-7/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_v4l.so
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBWindows
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBWindows/libidirectfbwindows_default.la
+usr/lib/directfb-1.7-7/interfaces/IDirectFBWindows/libidirectfbwindows_default.so
+#usr/lib/directfb-1.7-7/interfaces/IWater
+#usr/lib/directfb-1.7-7/interfaces/IWater/libiwater_default.la
+usr/lib/directfb-1.7-7/interfaces/IWater/libiwater_default.so
+#usr/lib/directfb-1.7-7/systems
+#usr/lib/directfb-1.7-7/systems/libdirectfb_devmem.la
+usr/lib/directfb-1.7-7/systems/libdirectfb_devmem.so
+#usr/lib/directfb-1.7-7/systems/libdirectfb_dummy.la
+usr/lib/directfb-1.7-7/systems/libdirectfb_dummy.so
+#usr/lib/directfb-1.7-7/systems/libdirectfb_fbdev.la
+usr/lib/directfb-1.7-7/systems/libdirectfb_fbdev.so
+#usr/lib/directfb-1.7-7/systems/libdirectfb_sdl.la
+usr/lib/directfb-1.7-7/systems/libdirectfb_sdl.so
+#usr/lib/directfb-1.7-7/wm
+#usr/lib/directfb-1.7-7/wm/libdirectfbwm_default.la
+usr/lib/directfb-1.7-7/wm/libdirectfbwm_default.so
+usr/lib/lib++dfb-1.7.so.7
+usr/lib/lib++dfb-1.7.so.7.0.0
+#usr/lib/lib++dfb.la
+#usr/lib/lib++dfb.so
+usr/lib/libdirect-1.7.so.7
+usr/lib/libdirect-1.7.so.7.0.0
 #usr/lib/libdirect.la
-usr/lib/libdirect.so
-usr/lib/libdirectfb-1.1.so.0
-usr/lib/libdirectfb-1.1.so.0.1.0
+#usr/lib/libdirect.so
+usr/lib/libdirectfb-1.7.so.7
+usr/lib/libdirectfb-1.7.so.7.0.0
 #usr/lib/libdirectfb.la
 usr/lib/libdirectfb.so
-usr/lib/libfusion-1.1.so.0
-usr/lib/libfusion-1.1.so.0.1.0
+usr/lib/libfusion-1.7.so.7
+usr/lib/libfusion-1.7.so.7.0.0
 #usr/lib/libfusion.la
-usr/lib/libfusion.so
+#usr/lib/libfusion.so
+#usr/lib/pkgconfig/++dfb.pc
 #usr/lib/pkgconfig/direct.pc
 #usr/lib/pkgconfig/directfb-internal.pc
 #usr/lib/pkgconfig/directfb.pc
 #usr/lib/pkgconfig/fusion.pc
-#usr/share/directfb-1.1.1
-usr/share/directfb-1.1.1/cursor.dat
+#usr/share/directfb-1.7.7
+usr/share/directfb-1.7.7/cursor.dat
+usr/share/directfb-1.7.7/cursor.png
+usr/share/directfb-1.7.7/decker.dgiff
+usr/share/directfb-1.7.7/decker.ttf
 #usr/share/man/man1/dfbg.1
 #usr/share/man/man1/directfb-csource.1
 #usr/share/man/man5/directfbrc.5
diff --git a/config/rootfiles/packages/iftop b/config/rootfiles/packages/iftop
deleted file mode 100644 (file)
index 03b1118..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-#usr/man/man8/iftop.8
-usr/sbin/iftop
diff --git a/config/rootfiles/packages/imspector b/config/rootfiles/packages/imspector
deleted file mode 100644 (file)
index 945c377..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-etc/imspector
-etc/imspector.conf
-#etc/imspector/acl.txt
-#etc/imspector/badwords.txt
-#etc/imspector/imspector.conf
-usr/lib/imspector
-usr/lib/imspector/aclfilterplugin.so
-usr/lib/imspector/badwordsfilterplugin.so
-usr/lib/imspector/catsloggingplugin.so
-usr/lib/imspector/censordfilterplugin.so
-usr/lib/imspector/debugloggingplugin.so
-usr/lib/imspector/fileloggingplugin.so
-usr/lib/imspector/ggprotocolplugin.so
-usr/lib/imspector/httpsprotocolplugin.so
-usr/lib/imspector/icqprotocolplugin.so
-usr/lib/imspector/ircprotocolplugin.so
-usr/lib/imspector/jabberprotocolplugin.so
-usr/lib/imspector/miscfilterplugin.so
-usr/lib/imspector/msnprotocolplugin.so
-usr/lib/imspector/yahooprotocolplugin.so
-usr/lib/libimspector.so
-usr/sbin/imspector
-var/ipfire/backup/addons/includes/imspector
-var/lib/imspector
-var/log/imspector
-etc/rc.d/init.d/imspector
-srv/web/ipfire/cgi-bin/imspector.cgi
-var/ipfire/menu.d/EX-imspector.menu
index 8f1414ae138e5ffa337396e5395b625d52037764..2923246624fafb751caf55da2cc09d60f31ca18b 100644 (file)
@@ -53,7 +53,6 @@ srv/mysql
 #srv/mysql/mysql/user.MYD
 #srv/mysql/mysql/user.MYI
 #srv/mysql/mysql/user.frm
-srv/mysql/test
 usr/bin/comp_err
 usr/bin/innochecksum
 usr/bin/msql2mysql
index fdf4cafd9d3779ba6b891cf347c3ff6a83eee69b..5aefece3dc422b35c5208b00b174f6549985513d 100644 (file)
@@ -6,14 +6,6 @@
 #usr/include/SDL/SDL_byteorder.h
 #usr/include/SDL/SDL_cdrom.h
 #usr/include/SDL/SDL_config.h
-#usr/include/SDL/SDL_config_amiga.h
-#usr/include/SDL/SDL_config_dreamcast.h
-#usr/include/SDL/SDL_config_macos.h
-#usr/include/SDL/SDL_config_macosx.h
-#usr/include/SDL/SDL_config_minimal.h
-#usr/include/SDL/SDL_config_os2.h
-#usr/include/SDL/SDL_config_win32.h
-#usr/include/SDL/SDL_copying.h
 #usr/include/SDL/SDL_cpuinfo.h
 #usr/include/SDL/SDL_endian.h
 #usr/include/SDL/SDL_error.h
 #usr/include/SDL/begin_code.h
 #usr/include/SDL/close_code.h
 usr/lib/libSDL-1.2.so.0
-usr/lib/libSDL-1.2.so.0.11.0
+usr/lib/libSDL-1.2.so.0.11.4
 #usr/lib/libSDL.a
 #usr/lib/libSDL.la
 usr/lib/libSDL.so
 #usr/lib/libSDLmain.a
+#usr/lib/libSDLmain.la
 #usr/lib/pkgconfig/sdl.pc
-#usr/man/man3/SDLKey.3
-#usr/man/man3/SDL_ActiveEvent.3
-#usr/man/man3/SDL_AddTimer.3
-#usr/man/man3/SDL_AudioCVT.3
-#usr/man/man3/SDL_AudioSpec.3
-#usr/man/man3/SDL_BlitSurface.3
-#usr/man/man3/SDL_BuildAudioCVT.3
-#usr/man/man3/SDL_CD.3
-#usr/man/man3/SDL_CDClose.3
-#usr/man/man3/SDL_CDEject.3
-#usr/man/man3/SDL_CDName.3
-#usr/man/man3/SDL_CDNumDrives.3
-#usr/man/man3/SDL_CDOpen.3
-#usr/man/man3/SDL_CDPause.3
-#usr/man/man3/SDL_CDPlay.3
-#usr/man/man3/SDL_CDPlayTracks.3
-#usr/man/man3/SDL_CDResume.3
-#usr/man/man3/SDL_CDStatus.3
-#usr/man/man3/SDL_CDStop.3
-#usr/man/man3/SDL_CDtrack.3
-#usr/man/man3/SDL_CloseAudio.3
-#usr/man/man3/SDL_Color.3
-#usr/man/man3/SDL_CondBroadcast.3
-#usr/man/man3/SDL_CondSignal.3
-#usr/man/man3/SDL_CondWait.3
-#usr/man/man3/SDL_CondWaitTimeout.3
-#usr/man/man3/SDL_ConvertAudio.3
-#usr/man/man3/SDL_ConvertSurface.3
-#usr/man/man3/SDL_CreateCond.3
-#usr/man/man3/SDL_CreateCursor.3
-#usr/man/man3/SDL_CreateMutex.3
-#usr/man/man3/SDL_CreateRGBSurface.3
-#usr/man/man3/SDL_CreateRGBSurfaceFrom.3
-#usr/man/man3/SDL_CreateSemaphore.3
-#usr/man/man3/SDL_CreateThread.3
-#usr/man/man3/SDL_CreateYUVOverlay.3
-#usr/man/man3/SDL_Delay.3
-#usr/man/man3/SDL_DestroyCond.3
-#usr/man/man3/SDL_DestroyMutex.3
-#usr/man/man3/SDL_DestroySemaphore.3
-#usr/man/man3/SDL_DisplayFormat.3
-#usr/man/man3/SDL_DisplayFormatAlpha.3
-#usr/man/man3/SDL_DisplayYUVOverlay.3
-#usr/man/man3/SDL_EnableKeyRepeat.3
-#usr/man/man3/SDL_EnableUNICODE.3
-#usr/man/man3/SDL_Event.3
-#usr/man/man3/SDL_EventState.3
-#usr/man/man3/SDL_ExposeEvent.3
-#usr/man/man3/SDL_FillRect.3
-#usr/man/man3/SDL_Flip.3
-#usr/man/man3/SDL_FreeCursor.3
-#usr/man/man3/SDL_FreeSurface.3
-#usr/man/man3/SDL_FreeWAV.3
-#usr/man/man3/SDL_FreeYUVOverlay.3
-#usr/man/man3/SDL_GL_GetAttribute.3
-#usr/man/man3/SDL_GL_GetProcAddress.3
-#usr/man/man3/SDL_GL_LoadLibrary.3
-#usr/man/man3/SDL_GL_SetAttribute.3
-#usr/man/man3/SDL_GL_SwapBuffers.3
-#usr/man/man3/SDL_GLattr.3
-#usr/man/man3/SDL_GetAppState.3
-#usr/man/man3/SDL_GetAudioStatus.3
-#usr/man/man3/SDL_GetClipRect.3
-#usr/man/man3/SDL_GetCursor.3
-#usr/man/man3/SDL_GetError.3
-#usr/man/man3/SDL_GetEventFilter.3
-#usr/man/man3/SDL_GetGamma.3
-#usr/man/man3/SDL_GetGammaRamp.3
-#usr/man/man3/SDL_GetKeyName.3
-#usr/man/man3/SDL_GetKeyState.3
-#usr/man/man3/SDL_GetModState.3
-#usr/man/man3/SDL_GetMouseState.3
-#usr/man/man3/SDL_GetRGB.3
-#usr/man/man3/SDL_GetRGBA.3
-#usr/man/man3/SDL_GetRelativeMouseState.3
-#usr/man/man3/SDL_GetThreadID.3
-#usr/man/man3/SDL_GetTicks.3
-#usr/man/man3/SDL_GetVideoInfo.3
-#usr/man/man3/SDL_GetVideoSurface.3
-#usr/man/man3/SDL_Init.3
-#usr/man/man3/SDL_InitSubSystem.3
-#usr/man/man3/SDL_JoyAxisEvent.3
-#usr/man/man3/SDL_JoyBallEvent.3
-#usr/man/man3/SDL_JoyButtonEvent.3
-#usr/man/man3/SDL_JoyHatEvent.3
-#usr/man/man3/SDL_JoystickClose.3
-#usr/man/man3/SDL_JoystickEventState.3
-#usr/man/man3/SDL_JoystickGetAxis.3
-#usr/man/man3/SDL_JoystickGetBall.3
-#usr/man/man3/SDL_JoystickGetButton.3
-#usr/man/man3/SDL_JoystickGetHat.3
-#usr/man/man3/SDL_JoystickIndex.3
-#usr/man/man3/SDL_JoystickName.3
-#usr/man/man3/SDL_JoystickNumAxes.3
-#usr/man/man3/SDL_JoystickNumBalls.3
-#usr/man/man3/SDL_JoystickNumButtons.3
-#usr/man/man3/SDL_JoystickNumHats.3
-#usr/man/man3/SDL_JoystickOpen.3
-#usr/man/man3/SDL_JoystickOpened.3
-#usr/man/man3/SDL_JoystickUpdate.3
-#usr/man/man3/SDL_KeyboardEvent.3
-#usr/man/man3/SDL_KillThread.3
-#usr/man/man3/SDL_ListModes.3
-#usr/man/man3/SDL_LoadBMP.3
-#usr/man/man3/SDL_LoadWAV.3
-#usr/man/man3/SDL_LockAudio.3
-#usr/man/man3/SDL_LockSurface.3
-#usr/man/man3/SDL_LockYUVOverlay.3
-#usr/man/man3/SDL_MapRGB.3
-#usr/man/man3/SDL_MapRGBA.3
-#usr/man/man3/SDL_MixAudio.3
-#usr/man/man3/SDL_MouseButtonEvent.3
-#usr/man/man3/SDL_MouseMotionEvent.3
-#usr/man/man3/SDL_NumJoysticks.3
-#usr/man/man3/SDL_OpenAudio.3
-#usr/man/man3/SDL_Overlay.3
-#usr/man/man3/SDL_Palette.3
-#usr/man/man3/SDL_PauseAudio.3
-#usr/man/man3/SDL_PeepEvents.3
-#usr/man/man3/SDL_PixelFormat.3
-#usr/man/man3/SDL_PollEvent.3
-#usr/man/man3/SDL_PumpEvents.3
-#usr/man/man3/SDL_PushEvent.3
-#usr/man/man3/SDL_Quit.3
-#usr/man/man3/SDL_QuitEvent.3
-#usr/man/man3/SDL_QuitSubSystem.3
-#usr/man/man3/SDL_RWFromFile.3
-#usr/man/man3/SDL_Rect.3
-#usr/man/man3/SDL_RemoveTimer.3
-#usr/man/man3/SDL_ResizeEvent.3
-#usr/man/man3/SDL_SaveBMP.3
-#usr/man/man3/SDL_SemPost.3
-#usr/man/man3/SDL_SemTryWait.3
-#usr/man/man3/SDL_SemValue.3
-#usr/man/man3/SDL_SemWait.3
-#usr/man/man3/SDL_SemWaitTimeout.3
-#usr/man/man3/SDL_SetAlpha.3
-#usr/man/man3/SDL_SetClipRect.3
-#usr/man/man3/SDL_SetColorKey.3
-#usr/man/man3/SDL_SetColors.3
-#usr/man/man3/SDL_SetCursor.3
-#usr/man/man3/SDL_SetEventFilter.3
-#usr/man/man3/SDL_SetGamma.3
-#usr/man/man3/SDL_SetGammaRamp.3
-#usr/man/man3/SDL_SetModState.3
-#usr/man/man3/SDL_SetPalette.3
-#usr/man/man3/SDL_SetTimer.3
-#usr/man/man3/SDL_SetVideoMode.3
-#usr/man/man3/SDL_ShowCursor.3
-#usr/man/man3/SDL_Surface.3
-#usr/man/man3/SDL_SysWMEvent.3
-#usr/man/man3/SDL_ThreadID.3
-#usr/man/man3/SDL_UnlockAudio.3
-#usr/man/man3/SDL_UnlockSurface.3
-#usr/man/man3/SDL_UnlockYUVOverlay.3
-#usr/man/man3/SDL_UpdateRect.3
-#usr/man/man3/SDL_UpdateRects.3
-#usr/man/man3/SDL_UserEvent.3
-#usr/man/man3/SDL_VideoDriverName.3
-#usr/man/man3/SDL_VideoInfo.3
-#usr/man/man3/SDL_VideoModeOK.3
-#usr/man/man3/SDL_WM_GetCaption.3
-#usr/man/man3/SDL_WM_GrabInput.3
-#usr/man/man3/SDL_WM_IconifyWindow.3
-#usr/man/man3/SDL_WM_SetCaption.3
-#usr/man/man3/SDL_WM_SetIcon.3
-#usr/man/man3/SDL_WM_ToggleFullScreen.3
-#usr/man/man3/SDL_WaitEvent.3
-#usr/man/man3/SDL_WaitThread.3
-#usr/man/man3/SDL_WarpMouse.3
-#usr/man/man3/SDL_WasInit.3
-#usr/man/man3/SDL_keysym.3
-#usr/man/man3/SDL_mutexP.3
-#usr/man/man3/SDL_mutexV.3
 #usr/share/aclocal/sdl.m4
+#usr/share/man/man3/SDLKey.3
+#usr/share/man/man3/SDL_ActiveEvent.3
+#usr/share/man/man3/SDL_AddTimer.3
+#usr/share/man/man3/SDL_AudioCVT.3
+#usr/share/man/man3/SDL_AudioSpec.3
+#usr/share/man/man3/SDL_BlitSurface.3
+#usr/share/man/man3/SDL_BuildAudioCVT.3
+#usr/share/man/man3/SDL_CD.3
+#usr/share/man/man3/SDL_CDClose.3
+#usr/share/man/man3/SDL_CDEject.3
+#usr/share/man/man3/SDL_CDName.3
+#usr/share/man/man3/SDL_CDNumDrives.3
+#usr/share/man/man3/SDL_CDOpen.3
+#usr/share/man/man3/SDL_CDPause.3
+#usr/share/man/man3/SDL_CDPlay.3
+#usr/share/man/man3/SDL_CDPlayTracks.3
+#usr/share/man/man3/SDL_CDResume.3
+#usr/share/man/man3/SDL_CDStatus.3
+#usr/share/man/man3/SDL_CDStop.3
+#usr/share/man/man3/SDL_CDtrack.3
+#usr/share/man/man3/SDL_CloseAudio.3
+#usr/share/man/man3/SDL_Color.3
+#usr/share/man/man3/SDL_CondBroadcast.3
+#usr/share/man/man3/SDL_CondSignal.3
+#usr/share/man/man3/SDL_CondWait.3
+#usr/share/man/man3/SDL_CondWaitTimeout.3
+#usr/share/man/man3/SDL_ConvertAudio.3
+#usr/share/man/man3/SDL_ConvertSurface.3
+#usr/share/man/man3/SDL_CreateCond.3
+#usr/share/man/man3/SDL_CreateCursor.3
+#usr/share/man/man3/SDL_CreateMutex.3
+#usr/share/man/man3/SDL_CreateRGBSurface.3
+#usr/share/man/man3/SDL_CreateRGBSurfaceFrom.3
+#usr/share/man/man3/SDL_CreateSemaphore.3
+#usr/share/man/man3/SDL_CreateThread.3
+#usr/share/man/man3/SDL_CreateYUVOverlay.3
+#usr/share/man/man3/SDL_Delay.3
+#usr/share/man/man3/SDL_DestroyCond.3
+#usr/share/man/man3/SDL_DestroyMutex.3
+#usr/share/man/man3/SDL_DestroySemaphore.3
+#usr/share/man/man3/SDL_DisplayFormat.3
+#usr/share/man/man3/SDL_DisplayFormatAlpha.3
+#usr/share/man/man3/SDL_DisplayYUVOverlay.3
+#usr/share/man/man3/SDL_EnableKeyRepeat.3
+#usr/share/man/man3/SDL_EnableUNICODE.3
+#usr/share/man/man3/SDL_Event.3
+#usr/share/man/man3/SDL_EventState.3
+#usr/share/man/man3/SDL_ExposeEvent.3
+#usr/share/man/man3/SDL_FillRect.3
+#usr/share/man/man3/SDL_Flip.3
+#usr/share/man/man3/SDL_FreeCursor.3
+#usr/share/man/man3/SDL_FreeSurface.3
+#usr/share/man/man3/SDL_FreeWAV.3
+#usr/share/man/man3/SDL_FreeYUVOverlay.3
+#usr/share/man/man3/SDL_GL_GetAttribute.3
+#usr/share/man/man3/SDL_GL_GetProcAddress.3
+#usr/share/man/man3/SDL_GL_LoadLibrary.3
+#usr/share/man/man3/SDL_GL_SetAttribute.3
+#usr/share/man/man3/SDL_GL_SwapBuffers.3
+#usr/share/man/man3/SDL_GLattr.3
+#usr/share/man/man3/SDL_GetAppState.3
+#usr/share/man/man3/SDL_GetAudioStatus.3
+#usr/share/man/man3/SDL_GetClipRect.3
+#usr/share/man/man3/SDL_GetCursor.3
+#usr/share/man/man3/SDL_GetError.3
+#usr/share/man/man3/SDL_GetEventFilter.3
+#usr/share/man/man3/SDL_GetGamma.3
+#usr/share/man/man3/SDL_GetGammaRamp.3
+#usr/share/man/man3/SDL_GetKeyName.3
+#usr/share/man/man3/SDL_GetKeyState.3
+#usr/share/man/man3/SDL_GetModState.3
+#usr/share/man/man3/SDL_GetMouseState.3
+#usr/share/man/man3/SDL_GetRGB.3
+#usr/share/man/man3/SDL_GetRGBA.3
+#usr/share/man/man3/SDL_GetRelativeMouseState.3
+#usr/share/man/man3/SDL_GetThreadID.3
+#usr/share/man/man3/SDL_GetTicks.3
+#usr/share/man/man3/SDL_GetVideoInfo.3
+#usr/share/man/man3/SDL_GetVideoSurface.3
+#usr/share/man/man3/SDL_Init.3
+#usr/share/man/man3/SDL_InitSubSystem.3
+#usr/share/man/man3/SDL_JoyAxisEvent.3
+#usr/share/man/man3/SDL_JoyBallEvent.3
+#usr/share/man/man3/SDL_JoyButtonEvent.3
+#usr/share/man/man3/SDL_JoyHatEvent.3
+#usr/share/man/man3/SDL_JoystickClose.3
+#usr/share/man/man3/SDL_JoystickEventState.3
+#usr/share/man/man3/SDL_JoystickGetAxis.3
+#usr/share/man/man3/SDL_JoystickGetBall.3
+#usr/share/man/man3/SDL_JoystickGetButton.3
+#usr/share/man/man3/SDL_JoystickGetHat.3
+#usr/share/man/man3/SDL_JoystickIndex.3
+#usr/share/man/man3/SDL_JoystickName.3
+#usr/share/man/man3/SDL_JoystickNumAxes.3
+#usr/share/man/man3/SDL_JoystickNumBalls.3
+#usr/share/man/man3/SDL_JoystickNumButtons.3
+#usr/share/man/man3/SDL_JoystickNumHats.3
+#usr/share/man/man3/SDL_JoystickOpen.3
+#usr/share/man/man3/SDL_JoystickOpened.3
+#usr/share/man/man3/SDL_JoystickUpdate.3
+#usr/share/man/man3/SDL_KeyboardEvent.3
+#usr/share/man/man3/SDL_KillThread.3
+#usr/share/man/man3/SDL_ListModes.3
+#usr/share/man/man3/SDL_LoadBMP.3
+#usr/share/man/man3/SDL_LoadWAV.3
+#usr/share/man/man3/SDL_LockAudio.3
+#usr/share/man/man3/SDL_LockSurface.3
+#usr/share/man/man3/SDL_LockYUVOverlay.3
+#usr/share/man/man3/SDL_MapRGB.3
+#usr/share/man/man3/SDL_MapRGBA.3
+#usr/share/man/man3/SDL_MixAudio.3
+#usr/share/man/man3/SDL_MouseButtonEvent.3
+#usr/share/man/man3/SDL_MouseMotionEvent.3
+#usr/share/man/man3/SDL_NumJoysticks.3
+#usr/share/man/man3/SDL_OpenAudio.3
+#usr/share/man/man3/SDL_Overlay.3
+#usr/share/man/man3/SDL_Palette.3
+#usr/share/man/man3/SDL_PauseAudio.3
+#usr/share/man/man3/SDL_PeepEvents.3
+#usr/share/man/man3/SDL_PixelFormat.3
+#usr/share/man/man3/SDL_PollEvent.3
+#usr/share/man/man3/SDL_PumpEvents.3
+#usr/share/man/man3/SDL_PushEvent.3
+#usr/share/man/man3/SDL_Quit.3
+#usr/share/man/man3/SDL_QuitEvent.3
+#usr/share/man/man3/SDL_QuitSubSystem.3
+#usr/share/man/man3/SDL_RWFromFile.3
+#usr/share/man/man3/SDL_Rect.3
+#usr/share/man/man3/SDL_RemoveTimer.3
+#usr/share/man/man3/SDL_ResizeEvent.3
+#usr/share/man/man3/SDL_SaveBMP.3
+#usr/share/man/man3/SDL_SemPost.3
+#usr/share/man/man3/SDL_SemTryWait.3
+#usr/share/man/man3/SDL_SemValue.3
+#usr/share/man/man3/SDL_SemWait.3
+#usr/share/man/man3/SDL_SemWaitTimeout.3
+#usr/share/man/man3/SDL_SetAlpha.3
+#usr/share/man/man3/SDL_SetClipRect.3
+#usr/share/man/man3/SDL_SetColorKey.3
+#usr/share/man/man3/SDL_SetColors.3
+#usr/share/man/man3/SDL_SetCursor.3
+#usr/share/man/man3/SDL_SetEventFilter.3
+#usr/share/man/man3/SDL_SetGamma.3
+#usr/share/man/man3/SDL_SetGammaRamp.3
+#usr/share/man/man3/SDL_SetModState.3
+#usr/share/man/man3/SDL_SetPalette.3
+#usr/share/man/man3/SDL_SetTimer.3
+#usr/share/man/man3/SDL_SetVideoMode.3
+#usr/share/man/man3/SDL_ShowCursor.3
+#usr/share/man/man3/SDL_Surface.3
+#usr/share/man/man3/SDL_SysWMEvent.3
+#usr/share/man/man3/SDL_ThreadID.3
+#usr/share/man/man3/SDL_UnlockAudio.3
+#usr/share/man/man3/SDL_UnlockSurface.3
+#usr/share/man/man3/SDL_UnlockYUVOverlay.3
+#usr/share/man/man3/SDL_UpdateRect.3
+#usr/share/man/man3/SDL_UpdateRects.3
+#usr/share/man/man3/SDL_UserEvent.3
+#usr/share/man/man3/SDL_VideoDriverName.3
+#usr/share/man/man3/SDL_VideoInfo.3
+#usr/share/man/man3/SDL_VideoModeOK.3
+#usr/share/man/man3/SDL_WM_GetCaption.3
+#usr/share/man/man3/SDL_WM_GrabInput.3
+#usr/share/man/man3/SDL_WM_IconifyWindow.3
+#usr/share/man/man3/SDL_WM_SetCaption.3
+#usr/share/man/man3/SDL_WM_SetIcon.3
+#usr/share/man/man3/SDL_WM_ToggleFullScreen.3
+#usr/share/man/man3/SDL_WaitEvent.3
+#usr/share/man/man3/SDL_WaitThread.3
+#usr/share/man/man3/SDL_WarpMouse.3
+#usr/share/man/man3/SDL_WasInit.3
+#usr/share/man/man3/SDL_keysym.3
+#usr/share/man/man3/SDL_mutexP.3
+#usr/share/man/man3/SDL_mutexV.3
diff --git a/config/rootfiles/packages/tcpick b/config/rootfiles/packages/tcpick
deleted file mode 100644 (file)
index f447d21..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-usr/bin/tcpick
-#usr/man/man8/tcpick.8
-#usr/man/man8/tcpick_italian.8
diff --git a/config/rootfiles/packages/vdr_vnsiserver5 b/config/rootfiles/packages/vdr_vnsiserver5
deleted file mode 100644 (file)
index 9b27e97..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-etc/sysconfig/vdr-plugins.d/vnsiserver5.conf
-etc/vdr/plugins/vnsiserver5
-etc/vdr/plugins/vnsiserver5/allowed_hosts.conf
-usr/lib/vdr/libvdr-vnsiserver5.so.2.0.0
index 1f48350dfdcd38e9cc9649e5f9da07543dc75e51..dc291bf12a7c5d2bbc28f214d55fd48bfa5d9d86 100644 (file)
@@ -1,30 +1,96 @@
 usr/bin/dfbdump
+usr/bin/dfbdumpinput
 usr/bin/dfbfx
 usr/bin/dfbg
 usr/bin/dfbinfo
 usr/bin/dfbinput
+usr/bin/dfbinspector
 usr/bin/dfblayer
+usr/bin/dfbmaster
 usr/bin/dfbpenmount
+usr/bin/dfbplay
 usr/bin/dfbscreen
+usr/bin/dfbshow
+usr/bin/dfbswitch
 usr/bin/directfb-config
 usr/bin/directfb-csource
 usr/bin/mkdfiff
 usr/bin/mkdgiff
+usr/bin/mkdgifft
+usr/bin/pxa3xx_dump
+#usr/include/++dfb
+#usr/include/++dfb/++dfb.h
+#usr/include/++dfb/++dfb_mangle.h
+#usr/include/++dfb/++dfb_unmangle.h
+#usr/include/++dfb/idirectfb.h
+#usr/include/++dfb/idirectfbdatabuffer.h
+#usr/include/++dfb/idirectfbdisplaylayer.h
+#usr/include/++dfb/idirectfbeventbuffer.h
+#usr/include/++dfb/idirectfbfont.h
+#usr/include/++dfb/idirectfbimageprovider.h
+#usr/include/++dfb/idirectfbinputdevice.h
+#usr/include/++dfb/idirectfbpalette.h
+#usr/include/++dfb/idirectfbscreen.h
+#usr/include/++dfb/idirectfbsurface.h
+#usr/include/++dfb/idirectfbvideoprovider.h
+#usr/include/++dfb/idirectfbwindow.h
 #usr/include/directfb
 #usr/include/directfb-internal
 #usr/include/directfb-internal/core
+#usr/include/directfb-internal/core/CoreDFB.h
+#usr/include/directfb-internal/core/CoreDFB_CallMode.h
+#usr/include/directfb-internal/core/CoreDFB_includes.h
+#usr/include/directfb-internal/core/CoreGraphicsState.h
+#usr/include/directfb-internal/core/CoreGraphicsStateClient.h
+#usr/include/directfb-internal/core/CoreGraphicsState_includes.h
+#usr/include/directfb-internal/core/CoreInputDevice.h
+#usr/include/directfb-internal/core/CoreInputDevice_includes.h
+#usr/include/directfb-internal/core/CoreLayer.h
+#usr/include/directfb-internal/core/CoreLayerContext.h
+#usr/include/directfb-internal/core/CoreLayerContext_includes.h
+#usr/include/directfb-internal/core/CoreLayerRegion.h
+#usr/include/directfb-internal/core/CoreLayerRegion_includes.h
+#usr/include/directfb-internal/core/CoreLayer_includes.h
+#usr/include/directfb-internal/core/CorePalette.h
+#usr/include/directfb-internal/core/CorePalette_includes.h
+#usr/include/directfb-internal/core/CoreScreen.h
+#usr/include/directfb-internal/core/CoreScreen_includes.h
+#usr/include/directfb-internal/core/CoreSlave.h
+#usr/include/directfb-internal/core/CoreSlave_includes.h
+#usr/include/directfb-internal/core/CoreSurface.h
+#usr/include/directfb-internal/core/CoreSurfaceClient.h
+#usr/include/directfb-internal/core/CoreSurfaceClient_includes.h
+#usr/include/directfb-internal/core/CoreSurface_includes.h
+#usr/include/directfb-internal/core/CoreWindow.h
+#usr/include/directfb-internal/core/CoreWindowStack.h
+#usr/include/directfb-internal/core/CoreWindowStack_includes.h
+#usr/include/directfb-internal/core/CoreWindow_includes.h
+#usr/include/directfb-internal/core/Debug.h
+#usr/include/directfb-internal/core/DisplayTask.h
+#usr/include/directfb-internal/core/Fifo.h
+#usr/include/directfb-internal/core/Interface.h
+#usr/include/directfb-internal/core/PacketBuffer.h
+#usr/include/directfb-internal/core/Renderer.h
+#usr/include/directfb-internal/core/SurfaceTask.h
+#usr/include/directfb-internal/core/Task.h
+#usr/include/directfb-internal/core/TaskManager.h
+#usr/include/directfb-internal/core/TaskThreadsQ.h
+#usr/include/directfb-internal/core/Util.h
 #usr/include/directfb-internal/core/clipboard.h
 #usr/include/directfb-internal/core/colorhash.h
 #usr/include/directfb-internal/core/core.h
 #usr/include/directfb-internal/core/core_parts.h
+#usr/include/directfb-internal/core/core_strings.h
 #usr/include/directfb-internal/core/core_system.h
 #usr/include/directfb-internal/core/coredefs.h
 #usr/include/directfb-internal/core/coretypes.h
 #usr/include/directfb-internal/core/fonts.h
 #usr/include/directfb-internal/core/gfxcard.h
 #usr/include/directfb-internal/core/graphics_driver.h
+#usr/include/directfb-internal/core/graphics_state.h
 #usr/include/directfb-internal/core/input.h
 #usr/include/directfb-internal/core/input_driver.h
+#usr/include/directfb-internal/core/input_hub.h
 #usr/include/directfb-internal/core/layer_context.h
 #usr/include/directfb-internal/core/layer_control.h
 #usr/include/directfb-internal/core/layer_region.h
@@ -36,8 +102,12 @@ usr/bin/mkdgiff
 #usr/include/directfb-internal/core/screens_internal.h
 #usr/include/directfb-internal/core/state.h
 #usr/include/directfb-internal/core/surface.h
+#usr/include/directfb-internal/core/surface_allocation.h
 #usr/include/directfb-internal/core/surface_buffer.h
+#usr/include/directfb-internal/core/surface_client.h
+#usr/include/directfb-internal/core/surface_core.h
 #usr/include/directfb-internal/core/surface_pool.h
+#usr/include/directfb-internal/core/surface_pool_bridge.h
 #usr/include/directfb-internal/core/system.h
 #usr/include/directfb-internal/core/windows.h
 #usr/include/directfb-internal/core/windows_internal.h
@@ -54,6 +124,8 @@ usr/bin/mkdgiff
 #usr/include/directfb-internal/display/idirectfbsurface.h
 #usr/include/directfb-internal/display/idirectfbsurface_layer.h
 #usr/include/directfb-internal/display/idirectfbsurface_window.h
+#usr/include/directfb-internal/dummy
+#usr/include/directfb-internal/dummy/dummy.h
 #usr/include/directfb-internal/fbdev
 #usr/include/directfb-internal/fbdev/agp.h
 #usr/include/directfb-internal/fbdev/fb.h
@@ -67,13 +139,16 @@ usr/bin/mkdgiff
 #usr/include/directfb-internal/gfx/generic/generic.h
 #usr/include/directfb-internal/gfx/util.h
 #usr/include/directfb-internal/idirectfb.h
+#usr/include/directfb-internal/init.h
 #usr/include/directfb-internal/input
 #usr/include/directfb-internal/input/idirectfbinputbuffer.h
 #usr/include/directfb-internal/input/idirectfbinputdevice.h
 #usr/include/directfb-internal/media
 #usr/include/directfb-internal/media/idirectfbdatabuffer.h
+#usr/include/directfb-internal/media/idirectfbdatabuffer_client.h
 #usr/include/directfb-internal/media/idirectfbfont.h
 #usr/include/directfb-internal/media/idirectfbimageprovider.h
+#usr/include/directfb-internal/media/idirectfbimageprovider_client.h
 #usr/include/directfb-internal/media/idirectfbvideoprovider.h
 #usr/include/directfb-internal/misc
 #usr/include/directfb-internal/misc/conf.h
@@ -85,20 +160,60 @@ usr/bin/mkdgiff
 #usr/include/directfb/dfiff.h
 #usr/include/directfb/dgiff.h
 #usr/include/directfb/direct
+#usr/include/directfb/direct/Lists.h
+#usr/include/directfb/direct/LockWQ.h
+#usr/include/directfb/direct/Magic.h
+#usr/include/directfb/direct/Mutex.h
+#usr/include/directfb/direct/Performer.h
+#usr/include/directfb/direct/String.h
+#usr/include/directfb/direct/TLSObject.h
+#usr/include/directfb/direct/ToString.h
+#usr/include/directfb/direct/Types++.h
+#usr/include/directfb/direct/atomic.h
 #usr/include/directfb/direct/build.h
 #usr/include/directfb/direct/clock.h
+#usr/include/directfb/direct/compiler.h
 #usr/include/directfb/direct/conf.h
 #usr/include/directfb/direct/debug.h
 #usr/include/directfb/direct/direct.h
+#usr/include/directfb/direct/fastlz.h
+#usr/include/directfb/direct/fifo.h
+#usr/include/directfb/direct/filesystem.h
+#usr/include/directfb/direct/flz.h
 #usr/include/directfb/direct/hash.h
+#usr/include/directfb/direct/init.h
 #usr/include/directfb/direct/interface.h
 #usr/include/directfb/direct/interface_implementation.h
 #usr/include/directfb/direct/list.h
 #usr/include/directfb/direct/log.h
+#usr/include/directfb/direct/log_domain.h
+#usr/include/directfb/direct/map.h
 #usr/include/directfb/direct/mem.h
 #usr/include/directfb/direct/memcpy.h
 #usr/include/directfb/direct/messages.h
 #usr/include/directfb/direct/modules.h
+#usr/include/directfb/direct/os
+#usr/include/directfb/direct/os/clock.h
+#usr/include/directfb/direct/os/filesystem.h
+#usr/include/directfb/direct/os/linux
+#usr/include/directfb/direct/os/linux/glibc
+#usr/include/directfb/direct/os/linux/glibc/filesystem.h
+#usr/include/directfb/direct/os/linux/glibc/mutex.h
+#usr/include/directfb/direct/os/linux/glibc/thread.h
+#usr/include/directfb/direct/os/linux/glibc/types.h
+#usr/include/directfb/direct/os/linux/glibc/waitqueue.h
+#usr/include/directfb/direct/os/log.h
+#usr/include/directfb/direct/os/mem.h
+#usr/include/directfb/direct/os/mutex.h
+#usr/include/directfb/direct/os/signals.h
+#usr/include/directfb/direct/os/system.h
+#usr/include/directfb/direct/os/thread.h
+#usr/include/directfb/direct/os/types.h
+#usr/include/directfb/direct/os/waitqueue.h
+#usr/include/directfb/direct/perf.h
+#usr/include/directfb/direct/print.h
+#usr/include/directfb/direct/processor.h
+#usr/include/directfb/direct/result.h
 #usr/include/directfb/direct/serial.h
 #usr/include/directfb/direct/signals.h
 #usr/include/directfb/direct/stream.h
@@ -109,14 +224,23 @@ usr/bin/mkdgiff
 #usr/include/directfb/direct/types.h
 #usr/include/directfb/direct/utf8.h
 #usr/include/directfb/direct/util.h
+#usr/include/directfb/direct/uuid.h
+#usr/include/directfb/directfb++.h
 #usr/include/directfb/directfb.h
+#usr/include/directfb/directfb_build.h
+#usr/include/directfb/directfb_graphics.h
 #usr/include/directfb/directfb_keyboard.h
 #usr/include/directfb/directfb_keynames.h
 #usr/include/directfb/directfb_strings.h
 #usr/include/directfb/directfb_util.h
 #usr/include/directfb/directfb_version.h
+#usr/include/directfb/directfb_water.h
+#usr/include/directfb/directfb_water_strings.h
+#usr/include/directfb/directfb_windows.h
 #usr/include/directfb/directfbgl.h
+#usr/include/directfb/directfbgl2.h
 #usr/include/directfb/fusion
+#usr/include/directfb/fusion/Debug.h
 #usr/include/directfb/fusion/arena.h
 #usr/include/directfb/fusion/build.h
 #usr/include/directfb/fusion/call.h
@@ -124,6 +248,7 @@ usr/bin/mkdgiff
 #usr/include/directfb/fusion/fusion.h
 #usr/include/directfb/fusion/fusion_internal.h
 #usr/include/directfb/fusion/hash.h
+#usr/include/directfb/fusion/init.h
 #usr/include/directfb/fusion/lock.h
 #usr/include/directfb/fusion/object.h
 #usr/include/directfb/fusion/property.h
@@ -137,113 +262,136 @@ usr/bin/mkdgiff
 #usr/include/directfb/fusion/shmalloc.h
 #usr/include/directfb/fusion/types.h
 #usr/include/directfb/fusion/vector.h
-#usr/lib/directfb-1.1-0
-#usr/lib/directfb-1.1-0/gfxdrivers
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_ati128.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_ati128.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_cle266.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_cle266.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_cyber5k.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_cyber5k.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_i810.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_i810.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_i830.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_i830.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_mach64.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_mach64.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_neomagic.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_neomagic.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_nsc.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_nsc.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_nvidia.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_nvidia.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_radeon.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_radeon.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_savage.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_savage.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_sdlgraphics.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_sdlgraphics.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_sh7722.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_sh7722.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_sis315.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_sis315.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_tdfx.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_tdfx.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_unichrome.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_unichrome.so
-#usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_vmware.la
-usr/lib/directfb-1.1-0/gfxdrivers/libdirectfb_vmware.so
-#usr/lib/directfb-1.1-0/inputdrivers
-#usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_joystick.la
-usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_joystick.so
-#usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_keyboard.la
-usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_keyboard.so
-#usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_linux_input.la
-usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_linux_input.so
-#usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_lirc.la
-usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_lirc.so
-#usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_mutouch.la
-usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_mutouch.so
-#usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_penmount.la
-usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_penmount.so
-#usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_ps2mouse.la
-usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_ps2mouse.so
-#usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_sdlinput.la
-usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_sdlinput.so
-#usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_serialmouse.la
-usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_serialmouse.so
-#usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_sonypi.la
-usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_sonypi.so
-#usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_wm97xx_ts.la
-usr/lib/directfb-1.1-0/inputdrivers/libdirectfb_wm97xx_ts.so
-#usr/lib/directfb-1.1-0/interfaces
-#usr/lib/directfb-1.1-0/interfaces/IDirectFBFont
-#usr/lib/directfb-1.1-0/interfaces/IDirectFBFont/libidirectfbfont_default.la
-usr/lib/directfb-1.1-0/interfaces/IDirectFBFont/libidirectfbfont_default.so
-#usr/lib/directfb-1.1-0/interfaces/IDirectFBFont/libidirectfbfont_ft2.la
-usr/lib/directfb-1.1-0/interfaces/IDirectFBFont/libidirectfbfont_ft2.so
-#usr/lib/directfb-1.1-0/interfaces/IDirectFBImageProvider
-#usr/lib/directfb-1.1-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_dfiff.la
-usr/lib/directfb-1.1-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_dfiff.so
-#usr/lib/directfb-1.1-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_gif.la
-usr/lib/directfb-1.1-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_gif.so
-#usr/lib/directfb-1.1-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_jpeg.la
-usr/lib/directfb-1.1-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_jpeg.so
-#usr/lib/directfb-1.1-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_mpeg2.la
-usr/lib/directfb-1.1-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_mpeg2.so
-#usr/lib/directfb-1.1-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_png.la
-usr/lib/directfb-1.1-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_png.so
-#usr/lib/directfb-1.1-0/interfaces/IDirectFBVideoProvider
-#usr/lib/directfb-1.1-0/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_gif.la
-usr/lib/directfb-1.1-0/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_gif.so
-#usr/lib/directfb-1.1-0/systems
-#usr/lib/directfb-1.1-0/systems/libdirectfb_devmem.la
-usr/lib/directfb-1.1-0/systems/libdirectfb_devmem.so
-#usr/lib/directfb-1.1-0/systems/libdirectfb_fbdev.la
-usr/lib/directfb-1.1-0/systems/libdirectfb_fbdev.so
-#usr/lib/directfb-1.1-0/systems/libdirectfb_sdl.la
-usr/lib/directfb-1.1-0/systems/libdirectfb_sdl.so
-#usr/lib/directfb-1.1-0/wm
-#usr/lib/directfb-1.1-0/wm/libdirectfbwm_default.la
-usr/lib/directfb-1.1-0/wm/libdirectfbwm_default.so
-usr/lib/libdirect-1.1.so.0
-usr/lib/libdirect-1.1.so.0.1.0
+#usr/lib/directfb-1.7-7
+#usr/lib/directfb-1.7-7/gfxdrivers
+#usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_ati128.la
+usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_ati128.so
+#usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_ep9x.la
+usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_ep9x.so
+#usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_i810.la
+usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_i810.so
+#usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_i830.la
+usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_i830.so
+#usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_mach64.la
+usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_mach64.so
+#usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_matrox.la
+usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_matrox.so
+#usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_neomagic.la
+usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_neomagic.so
+#usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_nsc.la
+usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_nsc.so
+#usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_nvidia.la
+usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_nvidia.so
+#usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_pxa3xx.la
+usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_pxa3xx.so
+#usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_sdlgraphics.la
+usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_sdlgraphics.so
+#usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_sis315.la
+usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_sis315.so
+#usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_tdfx.la
+usr/lib/directfb-1.7-7/gfxdrivers/libdirectfb_tdfx.so
+#usr/lib/directfb-1.7-7/inputdrivers
+#usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_input_hub.la
+usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_input_hub.so
+#usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_joystick.la
+usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_joystick.so
+#usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_keyboard.la
+usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_keyboard.so
+#usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_linux_input.la
+usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_linux_input.so
+#usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_lirc.la
+usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_lirc.so
+#usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_mutouch.la
+usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_mutouch.so
+#usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_penmount.la
+usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_penmount.so
+#usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_ps2mouse.la
+usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_ps2mouse.so
+#usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_sdlinput.la
+usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_sdlinput.so
+#usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_serialmouse.la
+usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_serialmouse.so
+#usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_sonypi.la
+usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_sonypi.so
+#usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_wm97xx_ts.la
+usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_wm97xx_ts.so
+#usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_zytronic.la
+usr/lib/directfb-1.7-7/inputdrivers/libdirectfb_zytronic.so
+#usr/lib/directfb-1.7-7/interfaces
+#usr/lib/directfb-1.7-7/interfaces/ICoreResourceManager
+#usr/lib/directfb-1.7-7/interfaces/ICoreResourceManager/libicoreresourcemanager_test.la
+usr/lib/directfb-1.7-7/interfaces/ICoreResourceManager/libicoreresourcemanager_test.so
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBFont
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBFont/libidirectfbfont_dgiff.la
+usr/lib/directfb-1.7-7/interfaces/IDirectFBFont/libidirectfbfont_dgiff.so
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBFont/libidirectfbfont_ft2.la
+usr/lib/directfb-1.7-7/interfaces/IDirectFBFont/libidirectfbfont_ft2.so
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_bmp.la
+usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_bmp.so
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_dfiff.la
+usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_dfiff.so
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_gif.la
+usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_gif.so
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_jpeg.la
+usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_jpeg.so
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_mpeg2.la
+usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_mpeg2.so
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_png.la
+usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_png.so
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_pnm.la
+usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_pnm.so
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_tiff.la
+usr/lib/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_tiff.so
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBVideoProvider
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_gif.la
+usr/lib/directfb-1.7-7/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_gif.so
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_v4l.la
+usr/lib/directfb-1.7-7/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_v4l.so
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBWindows
+#usr/lib/directfb-1.7-7/interfaces/IDirectFBWindows/libidirectfbwindows_default.la
+usr/lib/directfb-1.7-7/interfaces/IDirectFBWindows/libidirectfbwindows_default.so
+#usr/lib/directfb-1.7-7/interfaces/IWater
+#usr/lib/directfb-1.7-7/interfaces/IWater/libiwater_default.la
+usr/lib/directfb-1.7-7/interfaces/IWater/libiwater_default.so
+#usr/lib/directfb-1.7-7/systems
+#usr/lib/directfb-1.7-7/systems/libdirectfb_devmem.la
+usr/lib/directfb-1.7-7/systems/libdirectfb_devmem.so
+#usr/lib/directfb-1.7-7/systems/libdirectfb_dummy.la
+usr/lib/directfb-1.7-7/systems/libdirectfb_dummy.so
+#usr/lib/directfb-1.7-7/systems/libdirectfb_fbdev.la
+usr/lib/directfb-1.7-7/systems/libdirectfb_fbdev.so
+#usr/lib/directfb-1.7-7/systems/libdirectfb_sdl.la
+usr/lib/directfb-1.7-7/systems/libdirectfb_sdl.so
+#usr/lib/directfb-1.7-7/wm
+#usr/lib/directfb-1.7-7/wm/libdirectfbwm_default.la
+usr/lib/directfb-1.7-7/wm/libdirectfbwm_default.so
+usr/lib/lib++dfb-1.7.so.7
+usr/lib/lib++dfb-1.7.so.7.0.0
+#usr/lib/lib++dfb.la
+#usr/lib/lib++dfb.so
+usr/lib/libdirect-1.7.so.7
+usr/lib/libdirect-1.7.so.7.0.0
 #usr/lib/libdirect.la
 usr/lib/libdirect.so
-usr/lib/libdirectfb-1.1.so.0
-usr/lib/libdirectfb-1.1.so.0.1.0
+usr/lib/libdirectfb-1.7.so.7
+usr/lib/libdirectfb-1.7.so.7.0.0
 #usr/lib/libdirectfb.la
 usr/lib/libdirectfb.so
-usr/lib/libfusion-1.1.so.0
-usr/lib/libfusion-1.1.so.0.1.0
+usr/lib/libfusion-1.7.so.7
+usr/lib/libfusion-1.7.so.7.0.0
 #usr/lib/libfusion.la
 usr/lib/libfusion.so
+#usr/lib/pkgconfig/++dfb.pc
 #usr/lib/pkgconfig/direct.pc
 #usr/lib/pkgconfig/directfb-internal.pc
 #usr/lib/pkgconfig/directfb.pc
 #usr/lib/pkgconfig/fusion.pc
-#usr/share/directfb-1.1.1
-usr/share/directfb-1.1.1/cursor.dat
+#usr/share/directfb-1.7.7
+#usr/share/directfb-1.7.7/cursor.dat
+#usr/share/directfb-1.7.7/cursor.png
+#usr/share/directfb-1.7.7/decker.dgiff
+#usr/share/directfb-1.7.7/decker.ttf
 #usr/share/man/man1/dfbg.1
 #usr/share/man/man1/directfb-csource.1
 #usr/share/man/man5/directfbrc.5
diff --git a/config/vdr/plugins.d/vnsiserver3.conf b/config/vdr/plugins.d/vnsiserver3.conf
deleted file mode 100644 (file)
index 7c9706d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-# Configuration snippet for vdr-vnsiserver3                         -*- sh -*-
-#
-# Add command line options to pass to the vnsiserver3 plugin to PLUGIN_OPTIONS.
-
-PLUGIN_OPTIONS=""
diff --git a/config/vdr/plugins.d/vnsiserver5.conf b/config/vdr/plugins.d/vnsiserver5.conf
deleted file mode 100644 (file)
index 561552d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-# Configuration snippet for vdr-vnsiserver5                         -*- sh -*-
-#
-# Add command line options to pass to the vnsiserver5 plugin to PLUGIN_OPTIONS.
-
-PLUGIN_OPTIONS=""
index 1b0fe075178a765e8b107ad7c60e8615cc1e3fb3..25ab489ea9f656106046e8bb5e004a689d3eb83c 100644 (file)
@@ -301,7 +301,7 @@ if ($fwhostsettings{'ACTION'} eq 'savenet' )
                }
                if($fwhostsettings{'error'} ne 'on'){
                                my $fullip="$fwhostsettings{'IP'}/".&General::iporsubtocidr($fwhostsettings{'SUBNET'});
-                               $errormessage=$errormessage.&General::checksubnets($fwhostsettings{'HOSTNAME'},$fullip,"");
+                               $errormessage=$errormessage.&General::checksubnets($fwhostsettings{'HOSTNAME'},$fullip,"","exact");
                }
                #only check plausi when no error till now
                if (!$errormessage){
diff --git a/html/cgi-bin/imspector.cgi b/html/cgi-bin/imspector.cgi
deleted file mode 100644 (file)
index fff4329..0000000
+++ /dev/null
@@ -1,607 +0,0 @@
-#!/usr/bin/perl
-#
-# IMSpector real-time log viewer
-# (c) SmoothWall Ltd 2008
-#
-# Released under the GPL v2.
-
-use POSIX qw(strftime);
-
-# Common configuration parameters.
-
-my $logbase = "/var/log/imspector/";
-my $oururl = '/cgi-bin/imspector.cgi';
-
-# Colours
-
-my $protocol_colour     = '#06264d';
-my $local_colour        = '#1d398b';
-my $remote_colour       = '#2149c1';
-my $conversation_colour = '#335ebe';
-
-my $local_user_colour   = 'blue';
-my $remote_user_colour  = 'green';
-
-# No need to change anything from this point
-
-# Page declaration, The following code should parse the CGI headers, and render the page
-# accordingly... How you do this depends what environment you're in.
-
-my %cgiparams;
-
-print "Content-type: text/html\n";
-print "\n";
-
-if ($ENV{'QUERY_STRING'})
-{
-       my @vars = split('\&', $ENV{'QUERY_STRING'});
-       foreach $_ (@vars)
-       {
-               my ($var, $val) = split(/\=/);
-               $cgiparams{$var} = $val;
-       }
-}
-
-# Act in Tail mode (as in just generate the raw logs and pass back to the other CGI
-
-if ( defined $cgiparams{'mode'} and $cgiparams{'mode'} eq "render" ){
-       &parser( $cgiparams{'section'}, $cgiparams{'offset'}, $cgiparams{'conversation'}, $cgiparams{'skimhtml'} );
-       exit;
-}
-
-# Start rendering the Page using Express' rendering functions
-
-my $script = &scriptheader();
-
-# Print Some header information 
-
-print qq|
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
-       <title>IMSpector real-time log viewer</title>
-       $script
-</head>
-<body>
-|;
-
-print &pagebody();
-
-# and now finish off the HTML page.
-
-print qq|
-</body>
-</html>
-|;
-
-exit;
-
-# -----------------------------------------------------------------------------
-# ---------------------- IMSPector Log Viewer Code ----------------------------
-# -----------------------------------------------------------------------------
-#           ^"^                                                 ^"^
-
-# Scriptheader
-# ------------
-# Return the bulk of the page, which should reside in the pages <head> field
-
-sub scriptheader
-{
-       my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday ) = localtime( time() );
-       $year += 1900; $mon++;
-       my $conversation = sprintf( "%.4d-%.2d-%.2d", $year, $mon, $mday );
-
-       my $script = qq {
-<script type="text/javascript">
-var section         ='none';
-var moveit          = 1;
-var skimhtml        = 1;
-var the_timeout;
-var offset          = 0;
-var fragment        = "";
-var conversationdate = "$conversation";
-
-function xmlhttpPost()
-{
-       var self = this;
-       
-       if (window.XMLHttpRequest) {
-               // Mozilla/Safari
-               self.xmlHttpReq = new XMLHttpRequest();
-       } else if (window.ActiveXObject) {
-               // IE
-               self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
-       }
-
-       var url = "$url" + "?mode=render&section=" + section + "&skimhtml=" + skimhtml + "&offset=" + offset + "&conversation=" + conversationdate;
-       self.xmlHttpReq.open('POST', url, true);
-       self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
-
-       self.xmlHttpReq.onreadystatechange = function() {
-               if ( self.xmlHttpReq && self.xmlHttpReq.readyState == 4) {
-                       updatepage(self.xmlHttpReq.responseText);
-               }
-       }
-
-       document.getElementById('status').style.display = "inline";
-
-       self.xmlHttpReq.send( url );
-       delete self;
-}
-
-function updatepage(str){
-       /* update the list of conversations ( if we need to ) */
-
-       var parts = str.split( "--END--\\n" );
-
-       var lines = parts[0].split( "\\n" );
-
-       for ( var line = 0 ; line < lines.length ; line ++ ){
-               var a = lines[line].split("|");
-
-               if ( !a[1] || !a[2] || !a[3] ){
-                       continue;
-               }
-
-               /* convert the modification stamp into something sensible */
-               a[5] = parseInt( a[5] * 24 * 60 * 60 );
-
-               /* create titling information if needed */
-               if ( !document.getElementById( a[1] ) ){
-                       document.getElementById('conversations').innerHTML += "<div id='" + a[1] + "_t' style='width: 100%; background-color: #d9d9f3; color: $protocol_colour;'>" + a[1] + "</div><div id='" + a[1] + "' style='width: 100%; background-color: #e5e5f3;'></div>";
-               }
-
-               if ( !document.getElementById( a[1] + "_" + a[2] ) ){
-                       document.getElementById( a[1] ).innerHTML += "<div id='" + a[1] + "_" + a[2] + "_t' style='width: 100%; color: $local_colour; padding-left: 5px;'>" + a[2] + "</div><div id='" + a[1] + "_" + a[2] + "' style='width: 100%; background-color: #efeffa; border-bottom: solid 1px #d9d9f3;'></div>";
-               }
-
-               if ( !document.getElementById( a[1] + "_" + a[2] + "_" + a[3] ) ){
-                       document.getElementById( a[1] + "_" + a[2] ).innerHTML += "<div id='" + a[1] + "_" + a[2] + "_" + a[3] + "_t' style='width: 100%; color: $remote_colour; padding-left: 10px; cursor: pointer;' onClick=" + '"' + "setsection('" + a[1] + "|" + a[2] + "|" + a[3] + "|" + a[4] + "');" + '"' + "' + >&raquo;&nbsp;" + a[3] + "</div><div id='" + a[1] + "_" + a[2] + "_" + a[3] + "' style='width: 1%; display: none;'></div>";
-               }
-
-               if ( document.getElementById( a[1] + "_" + a[2] + "_" + a[3] ) && a[5] <= 60 ){
-                       /* modified within the last minute! */
-                       document.getElementById( a[1] + "_" + a[2] + "_" + a[3] + "_t" ).style.fontWeight = "bold";
-               } else {
-                       document.getElementById( a[1] + "_" + a[2] + "_" + a[3] + "_t" ).style.fontWeight = "normal";
-               }
-               delete a;
-       }
-
-       delete lines;
-
-       /* rework the list of active conversation dates ... */
-
-       var lines = parts[1].split( "\\n" );
-
-       var the_select = document.getElementById('conversationdates');
-       the_select.options.length = 0;
-               
-       for ( var line = 0 ; line < lines.length ; line ++ ){
-               if ( lines[ line ] != "" ){
-                       the_select.options.length ++;
-                       the_select.options[ line ].text  = lines[line];
-                       the_select.options[ line ].value = lines[line];
-                       if ( lines[line] == conversationdate ){
-                               the_select.selectedIndex = line;
-                       }
-               }
-       }
-
-       delete the_select;
-       delete lines;
-
-       /* determine the title of this conversation */
-       if ( parts[2] ){
-               var details = parts[2].split(",");
-               var title = details[0] + " conversation between <span style='color: $local_user_colour;'>" + details[ 1 ] + "</span> and <span style='color: $remote_user_colour;'>" + details[2] + "</span>";
-               if ( !details[1] ){
-                       title = "&nbsp;";
-               }
-
-               document.getElementById('status').style.display = "none";
-       
-               var bottom  = parseInt( document.getElementById('content').scrollTop );
-               var bottom2 = parseInt( document.getElementById('content').style.height );
-               var absheight = parseInt( bottom + bottom2 );
-
-               if ( absheight == document.getElementById('content').scrollHeight ){    
-                       moveit = 1;
-               }
-
-               fragment += parts[4];
-               document.getElementById('content').innerHTML = "<table style='width: 100%'>" + fragment + "</table>";
-               if (moveit == 1 ){
-                       document.getElementById('content').scrollTop = 0;
-                       document.getElementById('content').scrollTop = document.getElementById('content').scrollHeight;
-               }
-
-               document.getElementById('content_title').innerHTML = title;
-               delete details;
-               delete title;
-               delete bottom;
-               delete bottom2;
-               delete absheight;
-       }
-
-       /* set the file offset */
-       offset = parts[3];
-
-       if ( moveit == 1 ){
-               document.getElementById('scrlck').style.color = 'green';
-       } else {
-               document.getElementById('scrlck').style.color = '#202020';
-       }
-
-       if ( skimhtml == 1 ){
-               document.getElementById('skimhtml').style.color = 'green';
-       } else {
-               document.getElementById('skimhtml').style.color = '#202020';
-       }
-
-       delete parts;
-
-       the_timeout = setTimeout( "xmlhttpPost();", 5000 );
-}
-
-function setsection( value )
-{
-       section = value;
-       offset = 0;
-       fragment = "";
-       moveit = 1;
-       clearTimeout(the_timeout);
-       xmlhttpPost();
-       document.getElementById('content').scrollTop = 0;
-       document.getElementById('content').scrollTop = document.getElementById('content').scrollHeight;
-}
-
-function togglescrlck()
-{
-       if ( moveit == 1 ){
-               moveit = 0;
-               document.getElementById('scrlck').style.color = '#202020';
-       } else {
-               moveit = 1;
-               document.getElementById('scrlck').style.color = 'green';
-       }
-}
-
-function toggleskimhtml()
-{
-       if ( skimhtml == 1 ){
-               skimhtml = 0;
-               document.getElementById('skimhtml').style.color = '#202020';
-       } else {
-               skimhtml = 1;
-               document.getElementById('skimhtml').style.color = 'green';
-       }
-       clearTimeout(the_timeout);
-       xmlhttpPost();
-}
-
-function setDate()
-{
-       var the_select = document.getElementById('conversationdates');
-       conversationdate = the_select.options[ the_select.selectedIndex ].value;
-       document.getElementById('conversations').innerHTML = "";
-       fragment = "";
-       offset = 0;
-       section = "";
-       clearTimeout(the_timeout);
-       xmlhttpPost();
-}
-
-</script>
-       };
-
-       return $script;
-}
-
-# pagebody function 
-# -----------------
-# Return the HTML fragment which includes the page body.
-
-sub pagebody
-{
-       my $body = qq {
-       <div style='width: 100%; text-align: right;'><span id='status' style='background-color: #fef1b5; display: none;'>Updating</span>&nbsp;</div>
-       <style>
-       
-.powerbutton {
-       color:  #202020;
-       font-size: 9pt;
-       cursor: pointer;
-}
-
-.remoteuser {
-       color: $remote_user_colour;
-       font-size: 9pt;
-}
-
-.localuser {
-       color: $local_user_colour;
-       font-size: 9pt;
-}
-
-       </style>
-       <table style='width: 100%;'>
-               <tr>
-                       <td style='width: 170px; text-align: left; vertical-align: top; overflow: auto; font-size: 8pt; border: solid 1px #c0c0c0;'><div id='conversations' style='height: 400px; overflow: auto; font-size: 10px; overflow-x: hidden;'></div></td>
-                       <td style='border: solid 1px #c0c0c0;'>
-                               <div id='content_title' style='height: 20px; overflow: auto; vertical-align: top; background-color: #E6E8FA; border-bottom: solid 1px #c0c0c0;'></div>
-                               <div id='content' style='height: 376px; overflow: auto; vertical-align: bottom; border-bottom: solid 1px #c0c0c0; overflow-x: hidden;'></div>
-                               <div id='content_subtitle' style='height: 24px; overflow: auto; vertical-align: top; background-color: #E6E8FA; width: 100%; padding: 2px;'>
-                                       <div style='width: 60%; float: left;' id='statuswindow'>
-                                               For conversations on:&nbsp;
-                                               <select id='conversationdates' onChange='setDate()';>
-                                               </select>
-                                       </div>
-                                       <div style='width: 40%; text-align: right; float: right;'>
-                                               <span class='powerbutton' id='skimhtml' onClick='toggleskimhtml();'>[HTML]</span>
-                                               <span class='powerbutton' id='scrlck' onClick='togglescrlck();'>[SCROLL LOCK]</span>
-                                       </div>
-                               </div>
-                       </td>
-               </tr>
-       </table>
-       <script>xmlhttpPost();</script>
-       };
-       return $body;
-}
-
-# Parser function ...
-# ---------------
-# Retrieves the IMspector logs from their nestling place and displays them accordingly.
-
-sub parser
-{
-       my ( $section, $offset, $conversationdate, $skimhtml ) = @_;
-       # render the user list ...
-
-       chomp $offset;  
-
-       unless ( $offset =~ /^([\d]*)$/ ){
-               print STDERR "Illegal offset ($offset $1) resetting...\n";
-               $offset = 0;
-       }
-
-       # browse for the available protocols
-       unless ( opendir DIR, $logbase ){
-               exit;
-       }
-
-       my %conversationaldates;
-       my @protocols = grep {!/^\./} readdir(DIR);             
-
-       foreach my $protocol ( @protocols ){
-               unless ( opendir LUSER, "$logbase$protocol" ){
-                       next;
-               }
-       
-               my @localusers = grep {!/^\./} readdir(LUSER);          
-               foreach my $localuser ( @localusers ){
-                       unless ( opendir RUSER, "$logbase$protocol/$localuser/" ){
-                               next;
-                       }
-                       my @remoteusers = grep {!/^\./} readdir( RUSER );
-                       foreach my $remoteuser ( @remoteusers ){
-                               unless ( opendir CONVERSATIONS, "$logbase$protocol/$localuser/$remoteuser/" ){
-                                       next;
-                               }
-                               my @conversations = grep {!/^\./} readdir( CONVERSATIONS );
-                               foreach my $conversation ( @conversations ){
-                                       $conversationaldates{ $conversation } = $localuser;
-                               }
-
-                               closedir CONVERSATIONS;
-
-                               my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday ) = localtime( time() );
-                               $year += 1900; $mon++;
-                               my $conversation = sprintf( "%.4d-%.2d-%.2d", $year, $mon, $mday );
-
-                               $conversation = $conversationdate if ( defined $conversationdate and $conversationdate ne "" );
-
-                               if ( -e "$logbase$protocol/$localuser/$remoteuser/$conversation" ){
-                                       my $modi = -M "$logbase$protocol/$localuser/$remoteuser/$conversation";
-                                       print "|$protocol|$localuser|$remoteuser|$conversation|$modi\n";
-                               }
-                       }
-                       closedir RUSER;
-               }
-               closedir LUSER;
-       }
-       closedir DIR;
-
-       print "--END--\n";
-
-       # display a list of conversational dates .. i.e. the dates which we have conversations on.
-       foreach my $key ( sort keys %conversationaldates ){
-               print "$key\n";
-       }
-       
-       print "--END--\n";
-
-
-       # now check the log file ...
-       
-       if ( $section ne "none" ){
-               my ( $protocol, $localuser, $remoteuser, $conversation ) = split /\|/, $section;
-               
-               print "$protocol, $localuser, $remoteuser, $conversation\n";
-               print "--END--\n";
-               
-               my $filename = "$logbase$protocol/$localuser/$remoteuser/$conversation";
-               
-               unless ( open(FD, "$filename" ) ){
-                       exit;
-               };
-
-               # perform some *reasonably* complicated file hopping and stuff of that ilk.
-               # it's not beyond reason that logs *could* be extremely large, so what we
-               # should do to speed up their processing is to jump to the end of the file,
-               # then backtrack a little (say a meg, which is a reasonably amount of logs)
-               # and parse from that point onwards.  This, *post* filtering might of course
-               # not leave us with the desired resolution for the tail.  If this is the case,
-               # we keep that array and jump back another meg and have another go, concatinating
-               # the logs as we go.... <wheh>
-
-               my $jumpback = 100000; # not quite a meg, but hey ho    
-               my $goneback = 0;
-               my $gonebacklimit = 1000000000;  # don't go back more than 100MB
-
-               # firstly jump to the end of the file.
-               seek( FD, 0, 2 );
-
-               my $log_position = tell( FD );
-               my $end = $log_position;
-               my $end_position = $log_position;
-
-               my $lines;
-               my @content;
-
-               my $TAILSIZE = 100;
-
-               do {
-                       $end_position = $log_position;
-
-                       if ( $offset != 0 ){
-                               # we were given a hint as to where we should have been anyhow ..
-                               # so we might as well use that to go back to.
-                               $log_position = $offset;
-                               $goneback = $end_position - $log_position;
-                       } else {
-                               $log_position -= $jumpback;
-                               $goneback += $jumpback;
-                       }
-
-                       last if ( $goneback > $gonebacklimit );
-
-                       if ( $log_position > 0 ){
-                               seek( FD, $log_position, 0 );
-                       } else {
-                               seek( FD, 0, 0 );
-                       }
-       
-                       my @newcontent;
-
-                       while ( my $line = <FD> and ( tell( FD ) <= $end_position ) ){
-                               chomp $line;
-                               push @content, $line;
-                       }
-                       shift @content if $#content >= $TAILSIZE;
-               } while ( $#content < $TAILSIZE and $log_position > 0 and $offset == 0 );
-
-               # trim the content down as we may have more entries than we should.
-       
-               while ( $#content > $TAILSIZE ){ shift @content; };
-               close FD;
-
-               print "$end_position\n--END--\n";
-
-               foreach my $line ( @content ){
-                       my ( $address, $timestamp, $direction, $type, $filtered, $cat, $data );
-
-                       ( $address, $timestamp, $direction, $type, $filtered, $cat, $data ) = ( $line =~ /([^,]*),(\d+),(\d+),(\d+),(\d+),([^,]*),(.*)/ );
-
-                       # are we using the oldstyle or new style logs ?
-                       if ( not defined $address and not defined $timestamp ){
-                               ( $address, $timestamp, $type, $data ) = ( $line =~ /([^,]*),([^,]*),([^,]*),(.*)/ );
-                               if ( $type eq "1" ){
-                                       $direction = 0;
-                                       $type      = 1;
-                               } elsif ( $type eq "2" ){
-                                       $direction = 1;
-                                       $type      = 1;
-                               } elsif ( $type eq "3" ){
-                                       $direction = 0;
-                                       $type      = 2;
-                               } elsif ( $type eq "4" ){
-                                       $direction = 1;
-                                       $type      = 4;
-                               }
-                       }
-                       
-                       my ( $severity, $classification ) = '0', 'None';
-                       if ($cat) {
-                               ( $severity, $classification) = split(/ /, $cat, 2); }
-                       else {
-                               $cat = 'N/A'; }
-
-                       my $red = 255;
-                       my $green = 255;
-                       my $blue = 255;
-
-                       if ($severity < 0 && $severity >= -5) {
-                               $red = 0; $green = abs($severity) * (255 / 5); $blue = 0; }
-                       elsif ($severity > 0 && $severity <= 5) {
-                               $red = $severity * (255 / 5); $green = 0; $blue = 0; }
-                       else {
-                               $red = 0; $green = 0; $blue = 0; }
-                       
-                       my $severitycolour = '';
-                       if ($cat ne 'N/A') {
-                               $severitycolour = sprintf("background-color: #%02x%02x%02x;", $red, $green, $blue); }
-
-                       # some protocols (ICQ, I'm looking in your direction) have a habit of starting 
-                       # and ending each sentence with HTML (evil program)             
-
-                       if ( defined $skimhtml and $skimhtml eq "1" ){  
-                               $data =~ s/^<HTML><BODY[^>]*><FONT[^>]*>//ig;   
-                               $data =~ s/<\/FONT><\/BODY><\/HTML>//ig;        
-                       }
-
-                       $data = &htmlescape($data);
-                       $data =~ s/\r\\n/<br>\n/g;
-                       my $user = "";
-
-                       my $bstyle = "";
-                       $bstyle = "style='background-color: #FFE4E1;'" if ( $filtered eq "1" );
-
-                       if ( $type eq "1" ){
-                               # a message message (from remote user)
-                               if ( $direction eq "0" ){
-                                       # incoming
-                                       my $u = $remoteuser;
-                                       $u =~ s/\@.*//g;
-                                       $user = "&lt;<span class='remoteuser'>$u</span>&gt;";
-                               } else { 
-                                       # outgoing message
-                                       my $u = $localuser;
-                                       $u =~ s/\@.*//g;
-                                       $user = "&lt;<span class='localuser'>$u</span>&gt;";
-                               }
-                       } elsif ($type eq "2") {
-                               if ( $direction eq "0" ){
-                                       # incoming file
-                                       my $u = $remoteuser;
-                                       $u =~ s/\@.*//g;
-                                       $user = "&lt;<span class='remoteuser'><b><i>$u</i></b></span>&gt;";
-                               } else {
-                                       # outgoing file
-                                       my $u = $localuser;
-                                       $u =~ s/\@.*//g;
-                                       $user = "&lt;<span class='localuser'><b><i>$u</i></b></span>&gt;";
-                               }
-                       }
-
-                       my $t = strftime "%H:%M:%S", localtime($timestamp);
-                       if ($type eq "3" or $type eq "4") {
-                               $data = "<b><i>$data</i></b>";
-                       }
-                       print "<tr $bstyle><td style='width: 30px; vertical-align: top;'>[$t]</td><td style='width: 10px; $severitycolour' title='$cat'><td style=' width: 60px; vertical-align: top;'>$user</td><td style='vertical-align: top;'>$data</td></tr>";
-               }
-       }
-       return;
-}
-
-sub htmlescape
-{
-       my ($value) = @_;
-       $value =~ s/&/\&amp;/g;
-       $value =~ s/</\&lt;/g;
-       $value =~ s/>/\&gt;/g;
-       $value =~ s/"/\&quot;/g;
-       $value =~ s/'/\&#39;/g;
-       return $value;
-}
index 847f89f8607713c7559a8167bb711dbcc00c6d92..fbf63b353bf9d2febc611faad6561acffee2cd69 100644 (file)
--- a/lfs/7zip
+++ b/lfs/7zip
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2016  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2016 IPFire Team  <info@ipfire.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        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 15.14.1
+VER        = 16.02
 
 THISAPP    = p7zip_$(VER)
 DL_FILE    = $(THISAPP)_src_all.tar.bz2
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = 7zip
-PAK_VER    = 6
+PAK_VER    = 7
 
 DEPS       = ""
 
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 92cca093312b5a71a7be7dc7d1d32509
+$(DL_FILE)_MD5 = a0128d661cfe7cc8c121e73519c54fbf
 
 install : $(TARGET)
 
@@ -77,8 +77,7 @@ dist:
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) patch -Np1 < $(DIR_SRC)/src/patches/p7zip/CVE-2016-2334.patch
-       cd $(DIR_APP) patch -Np1 < $(DIR_SRC)/src/patches/p7zip/CVE-2016-2335.patch
+       cd $(DIR_APP) && cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/p7zip_change_install_folder.patch
        cd $(DIR_APP) && make 7z $(MAKETUNING)
        cd $(DIR_APP) && make install
        @rm -rf $(DIR_APP)
index 3101d8b5a67dc79d73f19e2b207c6f5426d508f4..d7d2a24a18a82f10ee5fde802ef4b6a69b130ea7 100644 (file)
 #                                                                             #
 ###############################################################################
 
+# Cleanup environment from any variables
+unexport BUILD_ARCH BUILD_PLATFORM BUILDTARGET CROSSTARGET TOOLCHAIN
+
+ifeq "$(BUILD_ARCH)" "aarch64"
+       IS_64BIT = 1
+endif
+
+ifeq "$(BUILD_ARCH)" "x86_64"
+       IS_64BIT = 1
+endif
+
 # URLs that are common sources of downloads.  If you're having trouble with
 # a site you should change its URL to that of a suitable mirror site.
 #
@@ -117,13 +128,13 @@ define POSTBUILD
        if [ -s "$(TARGET)_diff" ]; then \
                LFS_SCRIPT=$(firstword $(MAKEFILE_LIST))$(KCFG); \
                echo $(LFS_SCRIPT); \
-               ROOTFILE=$$(find $(DIR_SRC)/config/rootfiles/{common,packages}/{$(MACHINE),} -maxdepth 1 -type f -name $$LFS_SCRIPT 2>/dev/null | head -1); \
+               ROOTFILE=$$(find $(DIR_SRC)/config/rootfiles/{common,packages}/{$(BUILD_ARCH),} -maxdepth 1 -type f -name $$LFS_SCRIPT 2>/dev/null | head -1); \
                if [ "$$ROOTFILE" = "" ]; then \
                        touch $(TARGET)_missing_rootfile; \
                        ROOTFILE=$(TARGET)_missing_rootfile ; \
                        echo "error $$LFS_SCRIPT not found in config/rootfiles"; \
                fi; \
-               sed -e "s/BUILDTARGET/$(BUILDTARGET)/g" -e "s/KVER/$(KVER)/g" -e "s/MACHINE/$(MACHINE)/g" $$ROOTFILE > $(TARGET)_rootfile; \
+               sed -e "s/BUILDTARGET/$(BUILDTARGET)/g" -e "s/KVER/$(KVER)/g" -e "s/MACHINE/$(BUILD_ARCH)/g" $$ROOTFILE > $(TARGET)_rootfile; \
                for line in `cat $(TARGET)_diff`; do \
                        if grep -qG "^#$$line$$" $(TARGET)_rootfile; then echo "#$$line" >> $(TARGET); \
                        elif grep -qG "^$$line$$" $(TARGET)_rootfile ; then echo "$$line" >> $(TARGET); \
@@ -178,13 +189,13 @@ define PAK
                cp -f /usr/src/src/paks/default/{,un}install.sh /usr/src/src/paks/default/update.sh \
                /install/packages/package; \
        fi
-       for i in $(DIR_SRC)/config/rootfiles/packages/{$(MACHINE),}/$(PROG); do \
+       for i in $(DIR_SRC)/config/rootfiles/packages/{$(BUILD_ARCH),}/$(PROG); do \
                if [ -e "$${i}" ]; then \
                        cp -v $${i} /install/packages/package/ROOTFILES; \
                        break; \
                fi; \
        done
-       sed -e 's/BUILDTARGET/$(BUILDTARGET)/g' -e 's/KVER/$(KVER)/g' -e 's/MACHINE/$(MACHINE)/g' -i /install/packages/package/ROOTFILES
+       sed -e 's/BUILDTARGET/$(BUILDTARGET)/g' -e 's/KVER/$(KVER)/g' -e 's/MACHINE/$(BUILD_ARCH)/g' -i /install/packages/package/ROOTFILES
        sed -e 's/xxxKVERxxx/$(KVER)/g' -i /install/packages/package/install.sh
        chmod 755 /install/packages/package/{{,un}install,update}.sh
        cd / && tar cf /install/packages/package/files.tmp --files-from=/install/packages/package/ROOTFILES --exclude='#*' \
index 5706b753c0238b81a2cb0c1fb16cc85949668e67..5f43ff4d6f01c2ff340a888932aa9123c79c0b67 100644 (file)
@@ -34,7 +34,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)-kmod-$(KVER)-$(VERSUFIX)
 
-#ifeq "$(MACHINE_TYPE)" "arm"
+#ifeq "$(BUILD_PLATFORM)" "arm"
 CFLAGS   += -fno-PIC
 #endif
 
@@ -87,7 +87,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/backports-3.18.1-1-ipfire-build.patch
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/backports-4.2.6-1-grsecurity.patch
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/backports-4.2.6-1-add_usbnet_modules.patch
-ifeq "$(MACHINE)" "x86_64"
+ifeq "$(BUILD_ARCH)" "x86_64"
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/backports-3.18.1-1_no_dma_sgtable_on_x86_64.patch
 endif
 
@@ -126,7 +126,7 @@ endif
        cd $(DIR_APP) && sed -i -e "s/CPTCFG_CFG80211_DEFAULT_PS=y/# CPTCFG_CFG80211_DEFAULT_PS is not set/g" .config
        cd $(DIR_APP) && sed -i -e "s/CPTCFG_NFC=m/# CPTCFG_NFC is not set/g" .config
 
-ifeq "$(MACHINE)" "x86_64"
+ifeq "$(BUILD_ARCH)" "x86_64"
        cd $(DIR_APP) && sed -i -e "s/CPTCFG_LIBERTAS_UAP=m/# CPTCFG_LIBERTAS_UAP is not set/g" .config
 endif
 
index c215b5a32c71e2cabb1a0bf77656c4f18384de5a..e98b6fdba8a1bc3ce02cabecfc8bac065dc45a6d 100644 (file)
--- a/lfs/bash
+++ b/lfs/bash
@@ -99,13 +99,13 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
 
-       ln -sf bash /bin/sh
+ifeq "$(TOOLCHAIN)" "1"
+       ln -svf bash /tools/bin/sh
 
-ifneq "$(ROOT)" ""
-       -mkdir -p $(ROOT)/bin
-       -mkdir -p $(ROOT)/usr/bin
-       ln -sf bash /tools/bin/sh
-       -ln -sf /tools/bin/bash $(ROOT)/bin/sh
+       mkdir -pv $(ROOT)/bin
+       ln -svf ../tools/bin/bash $(ROOT)/bin/sh
+else
+       ln -svf bash /bin/sh
 endif
 
        @rm -rf $(DIR_APP)
diff --git a/lfs/bc b/lfs/bc
index 28b27cb16254443ff3f4e0f8c6639b48a316b822..51dd084194b6ac8f3ec877972b6296530530ce3e 100644 (file)
--- a/lfs/bc
+++ b/lfs/bc
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+# Copyright (C) 2007-2017 IPFire Team <info@ipfire.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        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 1.06
+VER        = 1.07.1
 
 THISAPP    = bc-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = d44b5dddebd8a7a7309aea6c36fda117
+$(DL_FILE)_MD5 = cda93857418655ea43590736fc3ca9fc
 
 install : $(TARGET)
 
@@ -69,12 +69,8 @@ $(subst %,%_MD5,$(objects)) :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && sed -i '/PROTO.*readline/d' bc/scan.l
-       cd $(DIR_APP) && sed -i '/flex -I8/s/8//' configure
-       cd $(DIR_APP) && sed -i '/stdlib/a #include <string.h>' lib/number.c
-       cd $(DIR_APP) && sed -i 's/program.*save/static &/' bc/load.c
-       cd $(DIR_APP) && ./configure --prefix=/usr --with-readline
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && ./configure --prefix=/usr --with-readline --mandir=/usr/share/man --infodir=/usr/share/info
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
        @rm -rf $(DIR_APP)
index 5afaeec2fbceae60413ee1a622599f52eeef6ce9..8bf6decd94ffff73f4865af6619905757a65fefe 100644 (file)
 
 include Config
 
-VER        = 2.24
+VER        = 2.28
 
 THISAPP    = binutils-$(VER)
-DL_FILE    = $(THISAPP).tar.bz2
+DL_FILE    = $(THISAPP).tar.gz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 
@@ -38,50 +38,49 @@ ifeq "$(ROOT)" ""
   EXTRA_CONFIG = \
        --prefix=/usr \
        --enable-shared \
-       --disable-nls \
-       --disable-werror
+       --with-system-zlib \
+       --enable-plugins \
+       --enable-ld=default \
+       --disable-gold
   EXTRA_MAKE = tooldir=/usr
   EXTRA_INSTALL = tooldir=/usr
 else
 ifeq "$(PASS)" "1"
   CFLAGS := $(patsubst -march=%,,$(CFLAGS))
   CFLAGS := $(patsubst -mfloat-abi=%,,$(CFLAGS))
-  CFLAGS := $(patsubst -fstack-protector-strong,-fstack-protector-all,$(CFLAGS))
+
   TARGET = $(DIR_INFO)/$(THISAPP)-tools1
   EXTRA_CONFIG = \
        --target=$(CROSSTARGET) \
        --prefix=/tools \
        --with-sysroot=$(ROOT) \
-       --with-lib-path=/tools/lib \
-       --disable-nls \
-       --disable-werror
+       --with-lib-path=/tools/lib
   EXTRA_MAKE =
   EXTRA_INSTALL = 
 else
   TARGET = $(DIR_INFO)/$(THISAPP)-tools2
   EXTRA_ENV = \
-       CC="$(CROSSTARGET)-gcc -B/tools/lib/" \
+       CC="$(CROSSTARGET)-gcc" \
        AR="$(CROSSTARGET)-ar" \
        RANLIB="$(CROSSTARGET)-ranlib"
   EXTRA_CONFIG = \
        --host=$(BUILDTARGET) \
        --build=$(BUILDTARGET) \
        --prefix=/tools \
-       --with-lib-path=/tools/lib \
-       --disable-nls \
-       --disable-werror
+       --with-lib-path=/tools/lib
   EXTRA_MAKE = 
   EXTRA_INSTALL = 
 endif
 endif
 
-ifeq "$(MACHINE_TYPE)" "arm"
+ifeq "$(BUILD_ARCH)" "armv5tel"
        EXTRA_CONFIG += \
                --with-abi=aapcs-linux \
                --with-float=soft
 endif
 
 EXTRA_CONFIG += \
+       --disable-werror \
        --enable-64-bit-bfd
 
 ###############################################################################
@@ -92,7 +91,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = e0f71a7b2ddab0f8612336ac81d9636b
+$(DL_FILE)_MD5 = d5d270fd0b698ed59ca5ade8e1b5059c
 
 install : $(TARGET)
 
@@ -121,25 +120,26 @@ $(subst %,%_MD5,$(objects)) :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
-       @rm -rf $(DIR_APP) $(DIR_SRC)/binutils-build && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/binutils-2.24-pt-pax-flags-20131231.patch
-
+       @rm -rf $(DIR_APP) $(DIR_SRC)/binutils-build && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
        @mkdir $(DIR_SRC)/binutils-build
 
        # Prevent installing libiberty to lib64.
        cd $(DIR_APP) && sed -i 's%\(^MULTIOSDIR = \).*%\1 ../lib%' libiberty/Makefile.in
 
-       cd $(DIR_SRC)/binutils-build && $(EXTRA_ENV) MACHINE= $(DIR_APP)/configure $(EXTRA_CONFIG)
-       cd $(DIR_SRC)/binutils-build && make $(EXTRA_MAKE) $(MAKETUNING) MACHINE= 
-       cd $(DIR_SRC)/binutils-build && make $(EXTRA_INSTALL) install MACHINE= 
+       cd $(DIR_SRC)/binutils-build && $(EXTRA_ENV) $(DIR_APP)/configure $(EXTRA_CONFIG)
+       cd $(DIR_SRC)/binutils-build && make $(EXTRA_MAKE) $(MAKETUNING)
+       cd $(DIR_SRC)/binutils-build && make $(EXTRA_INSTALL) install
 ifeq "$(ROOT)" ""
        cp -v $(DIR_APP)/include/libiberty.h /usr/include
-else
-ifeq "$(PASS)" "2"
-       cd $(DIR_SRC)/binutils-build && make -C ld clean MACHINE=
-       cd $(DIR_SRC)/binutils-build && make -C ld LIB_PATH=/usr/lib:/lib MACHINE=
-       cd $(DIR_SRC)/binutils-build && cp -v ld/ld-new /tools/bin
 endif
+
+ifeq "$(TOOLCHAIN)" "1"
+ ifeq "$(PASS)" "2"
+       cd $(DIR_SRC)/binutils-build && make -C ld clean
+       cd $(DIR_SRC)/binutils-build && make -C ld LIB_PATH=/usr/lib:/lib
+       cd $(DIR_SRC)/binutils-build && cp -v ld/ld-new /tools/bin
+ endif
 endif
+
        @rm -rf $(DIR_APP) $(DIR_SRC)/binutils-build
        @$(POSTBUILD)
index 12c0a5bf327c5b840405bcac2070f94034f620ec..6c47f582b2427a14abbdf1752bb27a7f75a1f8bf 100644 (file)
--- a/lfs/boost
+++ b/lfs/boost
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 1_55_0
+VER        = 1_64_0
 
 THISAPP    = boost_$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -58,7 +58,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 93780777cfbf999a600f62883bd54b17
+$(DL_FILE)_MD5 = 319c6ffbbeccc366f14bb68767a6db79
 
 install : $(TARGET)
 
index c35c6705dcead15477ab0bd1eb45be4f8c18f108..43f4df70ece918500a92076036f760559fac3ca7 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2016  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2017  IPFire Team  <info@ipfire.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        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 3.2.3
+VER        = 3.3.4
 
 THISAPP    = ccache-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -35,7 +35,6 @@ TARGET     = $(DIR_INFO)/$(THISAPP)-pass$(PASS)
 ifeq "$(PASS)" "1"
        CFLAGS := $(patsubst -march=%,,$(CFLAGS))
        CFLAGS := $(patsubst -mfloat-abi=%,,$(CFLAGS))
-       CFLAGS := $(patsubst -fstack-protector-strong,-fstack-protector-all,$(CFLAGS))
 endif
 
 # Set max cache size to 5GB
@@ -49,7 +48,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 608c78632086a4a051514722d6067a7b
+$(DL_FILE)_MD5 = 95ab3c56284129cc2a32460c23069516
 
 install : $(TARGET)
 
index 79920b8ddbb787ad555ad4392e5822d09a08c12e..58e754f87b9db39c828994f100fcea7bb7dd1684 100644 (file)
--- a/lfs/cdrom
+++ b/lfs/cdrom
@@ -29,7 +29,7 @@ VER = ipfire
 THISAPP    = cdrom
 TARGET     = $(DIR_INFO)/$(THISAPP)
 
-ifeq "$(MACHINE_TYPE)" "arm"
+ifeq "$(BUILD_PLATFORM)" "arm"
        TAR_OPTIONS =
 else
        TAR_OPTIONS = --lzma
@@ -64,7 +64,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        echo > /etc/mtab
 
        # Create filelist for packaging.
-       BUILDTARGET="$(BUILDTARGET)" MACHINE="$(MACHINE)" KVER="$(KVER)" \
+       BUILDTARGET="$(BUILDTARGET)" BUILD_ARCH="$(BUILD_ARCH)" KVER="$(KVER)" \
                $(DIR_SRC)/src/scripts/archive.files \
                $(DIR_SRC)/config/rootfiles/common \
                > /tmp/ROOTFILES
@@ -89,7 +89,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        # Make the ISO
        mkdir -p /install/cdrom/boot/isolinux
        dd if=/dev/zero  bs=1k count=2            > /install/cdrom/boot/isolinux/boot.catalog
-ifneq "$(MACHINE_TYPE)" "arm"
+ifneq "$(BUILD_PLATFORM)" "arm"
        cp /boot/vmlinuz-$(KVER)-ipfire             /install/cdrom/boot/isolinux/vmlinuz
        dracut --force -a "installer" --strip --xz /install/cdrom/boot/isolinux/instroot $(KVER)-ipfire
        cp $(DIR_SRC)/config/syslinux/boot.png      /install/cdrom/boot/isolinux/boot.png
@@ -106,12 +106,12 @@ endif
                                                xargs md5sum > md5sum.txt
 
        mkdir -p /install/images
-ifeq "$(MACHINE_TYPE)" "arm"
+ifeq "$(BUILD_PLATFORM)" "arm"
        cd /install/cdrom && mkisofs -J -r -V "$(NAME)_$(VERSION)" \
-               . > /install/images/$(SNAME)-$(VERSION).$(MACHINE)-full-core$(CORE).iso
+               . > /install/images/$(SNAME)-$(VERSION).$(BUILD_ARCH)-full-core$(CORE).iso
 else
        cd /install/cdrom && mkisofs -J -r -V "$(NAME)_$(VERSION)" \
            -b boot/isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table \
-           -c boot/isolinux/boot.catalog . > /install/images/$(SNAME)-$(VERSION).$(MACHINE)-full-core$(CORE).iso
-       isohybrid /install/images/$(SNAME)-$(VERSION).$(MACHINE)-full-core$(CORE).iso
+           -c boot/isolinux/boot.catalog . > /install/images/$(SNAME)-$(VERSION).$(BUILD_ARCH)-full-core$(CORE).iso
+       isohybrid /install/images/$(SNAME)-$(VERSION).$(BUILD_ARCH)-full-core$(CORE).iso
 endif
index 650faecbebcf7c21983f17523feeb656e93f32f7..06ba0fcc4df2160f0c2430e4c5eeb3b5b6e12494 100644 (file)
@@ -36,7 +36,7 @@ PAK_VER    = 34
 
 DEPS       = ""
 
-ifeq "$(MACHINE_TYPE)" "arm"
+ifeq "$(BUILD_PLATFORM)" "arm"
 CONFIGURE_FLAGS = --disable-fanotify
 endif
 
@@ -82,6 +82,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/clamav/llvm-glibc.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/clamav-0.99.2-gcc-6.patch
        cd $(DIR_APP) && ./configure \
                --prefix=/usr \
                --disable-zlib-vcheck \
@@ -97,10 +98,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        chown clamav:clamav /var/run/clamav
        #install initscripts
        $(call INSTALL_INITSCRIPT,clamav)
-       # Disable PaX mprotect for clamd, clamscan and freshclam
-       paxctl -cm /usr/sbin/clamd
-       paxctl -cm /usr/bin/clamscan
-       paxctl -cm /usr/bin/freshclam
 
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index 90369889d95e1539172c2fab9c09fc35423ddf7a..91e056ed8348aafac07054824d988913204c47f5 100644 (file)
@@ -27,7 +27,12 @@ include Config
 VER        = ipfire
 
 THISAPP    = cleanup-toolchain
-TARGET     = $(DIR_INFO)/$(THISAPP)-$(PASS)-tools
+
+ifeq "$(TOOLCHAIN)" "1"
+       TARGET = $(DIR_INFO)/$(THISAPP)-tools
+else
+       TARGET = $(DIR_INFO)/$(THISAPP)
+endif
 
 GCC_VER    = 4.1.2
 
@@ -51,13 +56,8 @@ md5 :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
-ifeq "$(PASS)" "1"
-       SPECS=$$(dirname $$(/tools/bin/$(CROSSTARGET)-gcc -print-libgcc-file-name))/specs; \
-       /tools/bin/$(CROSSTARGET)-gcc -dumpspecs | sed \
-               -e "/^\*cpp:$$/{n;s,$$, -isystem /tools/include,}" > $$SPECS
-endif
 
-ifeq "$(PASS)" "2"
+ifeq "$(TOOLCHAIN)" "1"
        # Remove the first cross compiler which is not needed anymore.
        find /tools/ -name "$(CROSSTARGET)*" | xargs rm -rfv
 
@@ -72,9 +72,10 @@ ifeq "$(PASS)" "2"
 
        # Update/create linker cache.
        /tools/sbin/ldconfig
-endif
 
-ifeq "$(PASS)" "3"
+       # Set a marker when the toolchain was successfully built
+       touch /tools/.toolchain-successful
+else
        mv -v /tools/bin/{ld,ld-old}
        mv -v /tools/$(BUILDTARGET)/bin/{ld,ld-old}
        mv -v /tools/bin/{ld-new,ld}
@@ -86,4 +87,5 @@ ifeq "$(PASS)" "3"
                -e '/\*cpp:/{n;s@$$@ -isystem /usr/include@}' > \
                $$(dirname $$(gcc -print-libgcc-file-name))/specs
 endif
+
        @$(POSTBUILD)
index 1573e3874d718918914567e6de04b10b8473a3a8..2ef712ce3bcf129ef245e0d482dcace18fdf4b5a 100644 (file)
@@ -79,6 +79,8 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
+       $(UPDATE_AUTOMAKE)
+       cd $(DIR_APP) && find . -name "Makefile.*" | xargs sed -e "s/-Werror//g" -i
        cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0001-src-utils_mount.h-Add-stdio.h.patch
        cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0002-Don-t-notify-continuously-when-MySQL-slave-SQL-threa.patch
        cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0003-curl_xml.c-avoid-using-uninitalized-variable-in-erro.patch
index b40de13e06efffb68c984fc34e74c6d9c5132116..3c847daf2831f55632169eafff3f080a50970a11 100644 (file)
@@ -56,10 +56,11 @@ core/%:
        eval $$(cat /usr/src/config/rootfiles/$@/meta)
 
        #Generate ROOTFILES from filelists
-       $(DIR_SRC)/src/scripts/archive.files \
+       BUILD_ARCH=$(BUILD_ARCH) BUILDTARGET=$(BUILDTARGET) KVER=$(KVER) \
+               $(DIR_SRC)/src/scripts/archive.files \
                $(DIR_SRC)/config/rootfiles/$@/filelists \
                $(DIR_SRC)/config/rootfiles/$@/files \
-               $(DIR_SRC)/config/rootfiles/$@/files.$(MACHINE) \
+               $(DIR_SRC)/config/rootfiles/$@/files.$(BUILD_ARCH) \
                > /tmp/ROOTFILES.tmp
 
        #remove excluded files from ROOTFILES
index 8bee2584ba496dfdc79a6d00773882232365badf..621a6b549a31b28bc675a3629de9b80c5997c589 100644 (file)
--- a/lfs/crda
+++ b/lfs/crda
@@ -71,6 +71,7 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && sed -e "s/-Werror//g" -i Makefile
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
        @rm -rf $(DIR_APP)
index e6452aef9bcd3ad48df94e5f566eac66808fbeac..4ae56a92591e26d75221b0a0212907abf98f29ec 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 2.2.12
+VER        = 2.5.11
 
 THISAPP    = cyrus-imapd-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -33,12 +33,10 @@ DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 SUP_ARCH   = armv5tel i586
 PROG       = cyrus-imapd
-PAK_VER    = 5
+PAK_VER    = 6
 
 DEPS       = ""
 
-CFLAGS    += -I/usr/include/et
-
 ###############################################################################
 # Top-level Rules
 ###############################################################################
@@ -47,7 +45,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 70b3bba526a8d36d3bb23a87d37e9188
+$(DL_FILE)_MD5 = 674083444c36a786d9431b6612969224
 
 install : $(TARGET)
 
@@ -80,13 +78,11 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/cyrus-imapd-2.2.12-autocreate-0.9.4.diff
-       cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/cyrus-imapd-2.2.12-gcc4.patch
        cd $(DIR_APP) && ./configure --prefix=/usr --with-service-path=/usr/lib/cyrus \
                                --with-cyrus-prefix=/usr/lib/cyrus --sysconfdir=/var/ipfire/cyrusimap \
                                --with-auth=unix --with-perl --with-sasl --with-idle=idled \
-                               --with-syslogfacility=MAIL --enable-listext --without-snmp
-       cd $(DIR_APP) && make depend
+                               --with-syslogfacility=MAIL --enable-listext --without-snmp \
+                               --enable-autocreate --enable-idled
        cd $(DIR_APP) && make $(EXTRA_MAKE)
        cd $(DIR_APP) && make install
        -mkdir /var/imap
diff --git a/lfs/dfb++ b/lfs/dfb++
deleted file mode 100644 (file)
index 56c01d1..0000000
--- a/lfs/dfb++
+++ /dev/null
@@ -1,86 +0,0 @@
-###############################################################################
-#                                                                             #
-# IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
-#                                                                             #
-# This program is free software: you can redistribute it and/or modify        #
-# it under the terms of the GNU General Public License as published by        #
-# the Free Software Foundation, either version 3 of the License, or           #
-# (at your option) any later version.                                         #
-#                                                                             #
-# This program is distributed in the hope that it will be useful,             #
-# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
-# GNU General Public License for more details.                                #
-#                                                                             #
-# You should have received a copy of the GNU General Public License           #
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
-#                                                                             #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER        = 1.0.0
-
-THISAPP    = DFB++-$(VER)
-DL_FILE    = $(THISAPP).tar.gz
-DL_FROM    = $(URL_IPFIRE)
-DIR_APP    = $(DIR_SRC)/$(THISAPP)
-TARGET     = $(DIR_INFO)/$(THISAPP)
-PROG       = dfb++
-PAK_VER    = 1
-
-DEPS       = "directfb"
-
-
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = c7d0b98bcc648a25ff11bfc74635f4ca
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-dist: 
-       @$(PAK)
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
-       @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
-       @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
-       @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
-       @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && ./configure --prefix=/usr 
-       cd $(DIR_APP) && make $(MAKETUNING)
-       cd $(DIR_APP) && make install
-       @rm -rf $(DIR_APP)
-       @$(POSTBUILD)
index 1b5d3a9258695de7e257e9bc9362b85f35df8dce..436fd92c66b7e34cbb1fa0f27b4170d041b74926 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 1.1.1
+VER        = 1.7.7
 
 THISAPP    = DirectFB-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = directfb
-PAK_VER    = 2
+PAK_VER    = 3
 
 DEPS       = ""
 
@@ -46,7 +46,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = c75255049ca8d5c69afe4db58f603028
+$(DL_FILE)_MD5 = 152cf1863b1a3a28aa1370e9053440bf
 
 install : $(TARGET)
 
@@ -79,14 +79,12 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/directfb-1.1.1-fix-mknod.patch
-       cd $(DIR_APP) && sed -i "s/checkfor_matrox=yes/checkfor_matrox=no/g" configure
-       cd $(DIR_APP) && sed -i "s/checkfor_cle266=no/checkfor_cle266=yes/g" configure
-       cd $(DIR_APP) && sed -i "s/checkfor_omap=.*/checkfor_omap=no/g" configure
-       cd $(DIR_APP) && ./configure --prefix=/usr --disable-x11 --enable-sdl \
-                                    --enable-video4linux2 
+       cd $(DIR_APP) && ./configure \
+               --prefix=/usr \
+               --disable-x11 \
+               --enable-sdl \
+               --enable-video4linux2
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
-       ln -s $(THISAPP) /usr/src/directfb
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index 07547966c0fbe6544b0d6131d39914d660623dc3..3d586c0eae2439ff738eba97da1f01ff4012c3a6 100644 (file)
@@ -34,9 +34,9 @@ PART_BOOT  = /dev/mapper/$(patsubst /dev/%,%,$(DEVICE))p1
 PART_ROOT  = /dev/mapper/$(patsubst /dev/%,%,$(DEVICE))p3
 
 ifeq "$(SCON)" "1"
-       IMAGE_FILE = /install/images/$(SNAME)-$(VERSION).1gb-ext4-scon.$(MACHINE)-full-core$(CORE).img.gz
+       IMAGE_FILE = /install/images/$(SNAME)-$(VERSION).1gb-ext4-scon.$(BUILD_ARCH)-full-core$(CORE).img.gz
 else
-       IMAGE_FILE = /install/images/$(SNAME)-$(VERSION).1gb-ext4.$(MACHINE)-full-core$(CORE).img.gz
+       IMAGE_FILE = /install/images/$(SNAME)-$(VERSION).1gb-ext4.$(BUILD_ARCH)-full-core$(CORE).img.gz
 endif
 
 FSTAB_FMT = UUID=%s %-8s %-4s %-10s %d %d\n
@@ -60,7 +60,7 @@ MNThdd   := /install/harddisk
 IMG      := /install/images/image.img
 
 # All sizes in blocks
-ifeq "$(MACHINE_TYPE)" "arm"
+ifeq "$(BUILD_PLATFORM)" "arm"
  BOOTLOADER =
  S_OFFSET = 8192
 
@@ -117,7 +117,7 @@ endif
        mount $(PART_BOOT) $(MNThdd)/boot
 
        # Install Pandaboard MLO and uboot first
-ifeq "$(MACHINE_TYPE)" "arm"
+ifeq "$(BUILD_PLATFORM)" "arm"
        cp -v /boot/MLO $(MNThdd)/boot/
        cp -v /boot/u-boot.img $(MNThdd)/boot/
        cp -v /boot/zImage-ipfire-multi $(MNThdd)/boot/
@@ -135,7 +135,7 @@ ifeq "$(MACHINE_TYPE)" "arm"
 endif
 
        # Install IPFire
-ifneq "$(MACHINE_TYPE)" "arm"
+ifneq "$(BUILD_PLATFORM)" "arm"
        tar -x --lzma -C $(MNThdd)/ -f /install/cdrom/distro.img
 else
        tar -x -C $(MNThdd)/ -f /install/cdrom/distro.img
@@ -154,7 +154,7 @@ ifeq "$(SCON)" "1"
        sed -i -e "s|6:2345:respawn:|#6:2345:respawn:|g" $(MNThdd)/etc/inittab
        sed -i -e "s|#7:2345:respawn:|7:2345:respawn:|g" $(MNThdd)/etc/inittab
 
-ifeq "$(MACHINE_TYPE)" "arm"
+ifeq "$(BUILD_PLATFORM)" "arm"
        sed -i -e "s| console=tty1 | console=ttyAMA0,115200n8 |g" $(MNThdd)/boot/cmdline.txt
        sed -i -e "s| console=tty1 | console=ttyO2,115200n8 |g" $(MNThdd)/boot/uEnv.txt
 endif
@@ -228,7 +228,7 @@ endif
        # not copied to a block device)
        dd if=/dev/zero bs=1M count=$(PADDING) >> $(IMG)
 
-ifeq "$(MACHINE_TYPE)" "arm"
+ifeq "$(BUILD_PLATFORM)" "arm"
        # Install u-boot for LeMaker Banana Pi into image 8KB
        dd if=/usr/share/u-boot/banana_pi/u-boot-sunxi-with-spl.bin of=$(IMG) bs=1K seek=8 conv=notrunc
 endif
index 3101c86a169f21d6f7698fdf4d0bd5fa31ff58bf..4b1a75b098c5b890d95eec73e9d801ef9ca91931 100644 (file)
--- a/lfs/flex
+++ b/lfs/flex
 
 include Config
 
-VER        = 2.6.1
+VER        = 2.6.4
 
 THISAPP    = flex-$(VER)
-DL_FILE    = $(THISAPP).tar.xz
+DL_FILE    = $(THISAPP).tar.gz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = cd3c86290fc2676a641aefafeb10848a
+$(DL_FILE)_MD5 = 2882e3179748cc9f9c23ec593d6adc8d
 
 install : $(TARGET)
 
@@ -70,7 +70,8 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && ./configure --prefix=/usr --disable-nls
+       cd $(DIR_APP) && HELP2MAN=/tools/bin/true \
+               ./configure --prefix=/usr --disable-nls
        cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
        cd $(DIR_APP) && make $(EXTRA_INSTALL) install
 ifeq "$(ROOT)" ""
index 7867022487638fd877835ca7fa4bb12caece0e10..fbf7b44f681d08a13c1f6bfc08644c7114ab2d9b 100644 (file)
@@ -70,6 +70,7 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fontconfig-avoid-conflicts-with-integer-width-macros-from-TS.patch
        cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/etc \
                --localstatedir=/var
        cd $(DIR_APP) && make $(MAKETUNING)
index a07a535ab066c4af88cfaeb2858bc6cc14d550db..90928e91d7acf4d8a7a560ccae7bd6aa55b0f93e 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2016  IPFire Team  <info@ipfire.org>                          #
+# Copyright (C) 2017  IPFire Team  <info@ipfire.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        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 3.0.11
+VER        = 3.0.14
 
 THISAPP    = freeradius-server-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = freeradius
-PAK_VER    = 1
+PAK_VER    = 2
 
 DEPS       = "samba"
 
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 9428ba0d25293a2b5acd3b85f3dd46d0
+$(DL_FILE)_MD5 = 71f0593f68e6d4dd2efc47a61219643d
 
 install : $(TARGET)
 
index a875fb3cd1c6156f79c849d9193f7055fdf80748..2639156b2196ed11bd87a1528e2677a36d845cfe 100644 (file)
--- a/lfs/fuse
+++ b/lfs/fuse
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 2.9.3
+VER        = 2.9.7
 
 THISAPP    = fuse-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 33cae22ca50311446400daf8a6255c6a
+$(DL_FILE)_MD5 = 9bd4ce8184745fd3d000ca2692adacdb
 
 install : $(TARGET)
 
@@ -73,6 +73,7 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fuse-2.9.2-namespace-conflict-fix.patch
        cd $(DIR_APP) && ./configure --prefix=/usr --disable-kernel-module
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
index c8cb89231f7642129811afad4c52e056cee36329..62bad0164e84facad0201458f1629159a9c17731 100644 (file)
--- a/lfs/gawk
+++ b/lfs/gawk
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2016   IPFire Team  <info@ipfire.org>                    #
+# Copyright (C) 2007-2015   IPFire Team  <info@ipfire.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        #
 #                                                                             #
 ###############################################################################
 
+
 ###############################################################################
 # Definitions
 ###############################################################################
 
 include Config
 
-VER        = 3.1.5
+VER        = 4.1.4
 
 THISAPP    = gawk-$(VER)
-DL_FILE    = $(THISAPP).tar.bz2
+DL_FILE    = $(THISAPP).tar.xz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 
 # Normal build or /tools build.
-#
 ifeq "$(ROOT)" ""
-  TARGET = $(DIR_INFO)/$(THISAPP)
-  EXTRA_CONFIG = --prefix=/usr --libexecdir=/usr/lib --disable-nls
-  EXTRA_MAKE =
-  EXTRA_INSTALL =
+       TARGET = $(DIR_INFO)/$(THISAPP)
+       EXTRA_CONFIG = --prefix=/usr --libexecdir=/usr/lib --disable-nls
 else
-  TARGET = $(DIR_INFO)/$(THISAPP)-tools
-  EXTRA_CONFIG = --prefix=/tools --disable-nls --build=$(BUILDTARGET)
-  EXTRA_MAKE = 
-  EXTRA_INSTALL = 
+       TARGET = $(DIR_INFO)/$(THISAPP)-tools
+       EXTRA_CONFIG = --prefix=/tools --disable-nls
 endif
 
-EXTRA_CONFIG += ac_cv_func_working_mktime=yes
-
 ###############################################################################
 # Top-level Rules
 ###############################################################################
@@ -55,7 +49,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 5703f72d0eea1d463f735aad8222655f
+$(DL_FILE)_MD5 = 4e7dbc81163e60fd4f0b52496e7542c9
 
 install : $(TARGET)
 
@@ -84,14 +78,9 @@ $(subst %,%_MD5,$(objects)) :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
-ifeq "$(ROOT)" ""
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)-segfault_fix-1.patch
-endif
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && ./configure $(EXTRA_CONFIG)
-       cd $(DIR_APP) && echo "#define HAVE_LANGINFO_CODESET 1" >> config.h
-       cd $(DIR_APP) && echo "#define HAVE_LC_MESSAGES 1"              >> config.h
-       cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
-       cd $(DIR_APP) && make $(EXTRA_INSTALL) install
+       cd $(DIR_APP) && make $(MAKETUNING)
+       cd $(DIR_APP) && make install
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
diff --git a/lfs/gcc b/lfs/gcc
index 86524165b066f5c86d7f285d71c37662b812bdd3..f04e2df8c071efc3fd1df6ac4a06673ec928e70f 100644 (file)
--- a/lfs/gcc
+++ b/lfs/gcc
 
 include Config
 
-VER        = 4.9.4
+VER        = 6.3.0
 
 GMP_VER    = 5.0.5
 MPFR_VER   = 2.4.2
 MPC_VER    = 1.0.3
 
 THISAPP    = gcc-$(VER)
-DL_FILE    = $(THISAPP).tar.bz2
+DL_FILE    = $(THISAPP).tar.gz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 
@@ -41,6 +41,14 @@ CFLAGS    := $(patsubst -mfloat-abi=%,,$(CFLAGS))
 CFLAGS    := $(filter-out -fexceptions,$(CFLAGS))
 CXXFLAGS  := $(CFLAGS)
 
+ifeq "$(BUILD_ARCH)" "armv7hl"
+       FULL_BOOTSTRAP = 1
+endif
+
+ifeq "$(BUILD_ARCH)" "armv5tel"
+       FULL_BOOTSTRAP = 1
+endif
+
 # Normal build or /tools build.
 #
 ifeq "$(ROOT)" ""
@@ -59,15 +67,13 @@ ifeq "$(ROOT)" ""
   EXTRA_INSTALL =
 else
 ifeq "$(PASS)" "1"
-  CFLAGS    := $(patsubst -fstack-protector-strong,-fstack-protector-all,$(CFLAGS))
-  CXXFLAGS  := $(patsubst -fstack-protector-strong,-fstack-protector-all,$(CXXFLAGS))
-  CXXFLAGS  += -std=gnu++98
-
   TARGET = $(DIR_INFO)/$(THISAPP)-tools1
   EXTRA_CONFIG = \
        --target=$(CROSSTARGET) \
        --prefix=/tools \
        --with-sysroot=$(ROOT) \
+       --with-local-prefix=/tools \
+       --with-native-system-header-dir=/tools/include \
        --disable-nls \
        --disable-shared \
        --disable-decimal-float \
@@ -75,6 +81,7 @@ ifeq "$(PASS)" "1"
        --disable-libatomic \
        --disable-libmudflap \
        --disable-libssp \
+       --disable-libmpx \
        --disable-libgomp \
        --disable-libquadmath \
        --disable-libstdc++-v3 \
@@ -93,31 +100,31 @@ else
 ifeq "$(PASS)" "2"
   TARGET = $(DIR_INFO)/$(THISAPP)-tools2
   EXTRA_ENV = \
-       CC="$(CROSSTARGET)-gcc -B/tools/lib/" \
+       CC="$(CROSSTARGET)-gcc" \
        CXX="$(CROSSTARGET)-g++" \
        AR="$(CROSSTARGET)-ar" \
        RANLIB="$(CROSSTARGET)-ranlib"
   EXTRA_CONFIG = \
-       --host=$(BUILDTARGET) \
        --build=$(BUILDTARGET) \
-       --target=$(BUILDTARGET) \
        --prefix=/tools \
        --with-local-prefix=/tools \
        --with-native-system-header-dir=/tools/include \
-       --enable-clocale=gnu \
-       --enable-shared \
-       --enable-threads=posix \
-       --enable-__cxa_atexit \
        --enable-languages=c,c++ \
        --disable-libstdcxx-pch \
-       --enable-bootstrap
+       --disable-libgomp
   EXTRA_MAKE = 
   EXTRA_INSTALL = 
+
+  ifeq "$(FULL_BOOTSTRAP)" "1"
+       EXTRA_CONFIG += --enable-bootstrap
+  else
+       EXTRA_CONFIG += --disable-bootstrap
+  endif
 else
   # PASS=L # libstdc++-v3
   TARGET = $(DIR_INFO)/$(THISAPP)-libstdc++
   EXTRA_ENV = \
-       CC="$(CROSSTARGET)-gcc -B/tools/lib/" \
+       CC="$(CROSSTARGET)-gcc" \
        AR="$(CROSSTARGET)-ar" \
        RANLIB="$(CROSSTARGET)-ranlib"
   EXTRA_CONFIG = \
@@ -133,29 +140,27 @@ else
   EXTRA_INSTALL = 
 endif
 endif
+endif
 
-  # Disable stack protection in toolchain.
-  CFLAGS += -fno-stack-protector
+ifeq "$(BUILD_ARCH)" "armv7hl"
+       EXTRA_CONFIG += \
+               --with-float=hard
 endif
 
-ifeq "$(MACHINE_TYPE)" "arm"
+ifeq "$(BUILD_ARCH)" "armv5tel"
        EXTRA_CONFIG += \
                --with-float=soft \
                --disable-sjlj-exceptions
 endif
 
-ifeq "$(MACHINE)" "i586"
+ifeq "$(BUILD_ARCH)" "i586"
        EXTRA_CONFIG += \
                --with-arch=i586 \
                --with-tune=generic
 endif
 
-ifeq "$(MACHINE)" "x86_64"
-       EXTRA_CONFIG += \
-               --disable-multilib
-endif
-
 EXTRA_CONFIG += \
+       --disable-multilib \
        --with-bugurl=http://bugtracker.ipfire.org \
        --disable-libunwind-exceptions \
        --enable-gnu-unique-object
@@ -177,7 +182,7 @@ gmp-$(GMP_VER).tar.bz2 = $(DL_FROM)/gmp-$(GMP_VER).tar.bz2
 mpfr-$(MPFR_VER).tar.bz2 = $(DL_FROM)/mpfr-$(MPFR_VER).tar.bz2
 mpc-$(MPC_VER).tar.gz = $(DL_FROM)/mpc-$(MPC_VER).tar.gz
 
-$(DL_FILE)_MD5                 = 87c24a4090c1577ba817ec6882602491
+$(DL_FILE)_MD5                 = 6e5ea04789678f1250c1b30c4d9ec417
 gmp-$(GMP_VER).tar.bz2_MD5     = 041487d25e9c230b0c42b106361055fe
 mpfr-$(MPFR_VER).tar.bz2_MD5   = 89e59fe665e2b3ad44a6789f40b059a0
 mpc-$(MPC_VER).tar.gz_MD5      = d6a1d5f8ddea3abd2cc3e98f58352d26
@@ -212,15 +217,12 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @rm -rf $(DIR_APP) $(DIR_SRC)/gcc-build && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
        @mkdir $(DIR_SRC)/gcc-build
 
-       # Apply patches.
-       cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/gcc/gcc49-i386-libgomp.patch
-       cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/gcc/gcc49-libtool-no-rpath.patch
-       cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/gcc/gcc49-no-add-needed.patch
-       cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/gcc/gcc49-pr38757.patch
-       cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/gcc/gcc49-pr64336.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/gcc/gcc-fix-inlining-issues.patch
+       cd $(DIR_APP) && sed -i 's/install_to_$$(INSTALL_DEST) //' libiberty/Makefile.in
+       cd $(DIR_APP) && sed -i gcc/Makefile.in \
+               -e 's@\./fixinc\.sh@-c true@' \
+               -e 's/^T_CFLAGS =$$/& -fomit-frame-pointer/'
 
-ifneq "$(ROOT)" ""
+ifeq "$(TOOLCHAIN)" "1"
        # Build gmp and mpfr internally in toolchain.
        cd $(DIR_APP) && tar xfa $(DIR_DL)/gmp-$(GMP_VER).tar.bz2
        cd $(DIR_APP) && mv -v gmp-$(GMP_VER) gmp
@@ -229,29 +231,13 @@ ifneq "$(ROOT)" ""
        cd $(DIR_APP) && tar xfa $(DIR_DL)/mpc-$(MPC_VER).tar.gz
        cd $(DIR_APP) && mv -v mpc-$(MPC_VER) mpc
 
-ifeq    "$(PASS)" "1"
-       # GCC does not detect stack protection correctly, which causes problems
-       # for the build of libresolv_pic.a.
-       cd $(DIR_APP) && sed -i '/k prot/agcc_cv_libc_provides_ssp=yes' gcc/configure
-
-       for file in $$(find $(DIR_APP)/gcc/config -name linux64.h -o -name linux.h \
-                       -o -name sysv4.h -o -name linux-eabi.h -o -name linux-elf.h); do \
-               echo "Processing $${file}..."; \
-               sed -i $${file} \
-                       -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&@g' \
-                       -e 's@/usr@/tools@g'; \
-               echo '#undef STANDARD_STARTFILE_PREFIX_1' >> $${file}; \
-               echo '#undef STANDARD_STARTFILE_PREFIX_2' >> $${file}; \
-               echo '#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"' >> $${file}; \
-               echo '#define STANDARD_STARTFILE_PREFIX_2 ""' >> $${file}; \
-       done
-endif
-
-ifeq    "$(PASS)" "2"
+ifeq "$(PASS)" "2"
        cd $(DIR_APP) && cat gcc/limitx.h gcc/glimits.h gcc/limity.h > \
                        `dirname $$(/tools/bin/$(CROSSTARGET)-gcc -print-libgcc-file-name)`/include-fixed/limits.h
+endif
+
        for file in $$(find $(DIR_APP)/gcc/config -name linux64.h -o -name linux.h \
-                       -o -name sysv4.h -o -name linux-eabi.h -o -name linux-elf.h); do \
+                       -o -name sysv4.h -o -name linux-eabi.h -o -name linux-elf.h -o -name aarch64-linux.h); do \
                echo "Processing $${file}..."; \
                sed -i $${file} \
                        -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&@g' \
@@ -261,45 +247,49 @@ ifeq    "$(PASS)" "2"
                echo '#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"' >> $${file}; \
                echo '#define STANDARD_STARTFILE_PREFIX_2 ""' >> $${file}; \
        done
-endif
 endif
 
-       cd $(DIR_APP) && sed -i 's/install_to_$$(INSTALL_DEST) //' libiberty/Makefile.in
-       cd $(DIR_APP) && sed -i gcc/Makefile.in \
-               -e 's@\./fixinc\.sh@-c true@' \
-               -e 's/^T_CFLAGS =$$/& -fomit-frame-pointer/'
-
-ifeq    "$(PASS)" "L"
+ifeq "$(PASS)" "L"
        # libstdc++ pass
        cd $(DIR_SRC)/gcc-build && \
                $(EXTRA_ENV) \
                $(DIR_APP)/libstdc++-v3/configure \
                        $(EXTRA_CONFIG)
-       cd $(DIR_SRC)/gcc-build && make $(MAKETUNING) $(EXTRA_MAKE)
+       cd $(DIR_SRC)/gcc-build && make $(EXTRA_MAKE)
        cd $(DIR_SRC)/gcc-build && make $(EXTRA_INSTALL) install
+
 else
        # The actual build.
        cd $(DIR_SRC)/gcc-build && \
                $(EXTRA_ENV) \
                $(DIR_APP)/configure \
                        $(EXTRA_CONFIG)
-       cd $(DIR_SRC)/gcc-build && make $(MAKETUNING) $(EXTRA_MAKE)
+       cd $(DIR_SRC)/gcc-build && make $(EXTRA_MAKE)
        cd $(DIR_SRC)/gcc-build && make $(EXTRA_INSTALL) install
 endif
 
-ifeq "$(ROOT)" ""
-       ln -svf ../usr/bin/cpp /lib
-       ln -svf gcc /usr/bin/cc
-       # remove gdb python files from libdir
-       rm -rf /usr/lib/*-gdb.py
-else
-ifeq    "$(PASS)" "1"
+ifeq "$(TOOLCHAIN)" "1"
+ ifeq "$(PASS)" "1"
        ln -svf libgcc.a $$(/tools/bin/$(CROSSTARGET)-gcc -print-libgcc-file-name | sed 's/libgcc/&_eh/')
-else
+ endif
+
+ ifeq "$(PASS)" "2"
        ln -svf gcc /tools/bin/cc
        # remove gdb python files from libdir
        rm -rf /tools/lib/*-gdb.py
+ endif
+
+ ifeq "$(PASS)" "L"
+       # Workaround for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70936
+       sed -e "s/^#include_next/#include/" -i /tools/$(CROSSTARGET)/include/c++/$(VER)/cstdlib
+ endif
+
+else # NON-TOOLCHAIN
+       ln -svf ../usr/bin/cpp /lib
+       ln -svf gcc /usr/bin/cc
+       # remove gdb python files from libdir
+       rm -rf /usr/lib/*-gdb.py
 endif
-endif
+
        @rm -rf $(DIR_APP) $(DIR_SRC)/gcc-build
        @$(POSTBUILD)
index 4d82eb7507979ef7d3c1321250a8dd1e8505d2c7..7ee1ce4e4a9648090b0a00706725cfa2a8b25f85 100644 (file)
@@ -32,9 +32,9 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = ghostscript
-PAK_VER    = 2
+PAK_VER    = 3
 
-DEPS       = "dbus libtiff"
+DEPS       = "cups dbus libtiff"
 
 ###############################################################################
 # Top-level Rules
@@ -83,6 +83,8 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && rm -rf expat freetype icclib jasper jpeg jpegxr \
+               lcms lcms2 libpng openjpeg zlib cups/libs
        cd $(DIR_APP) && \
                ./configure \
                        --prefix=/usr \
index c0af6fc06cfd7c5b09121208ec21a4dbc7ea1aaf..5f15ecf8ceca2a33876bf5b36edb23dda387fc30 100644 (file)
--- a/lfs/glibc
+++ b/lfs/glibc
 
 include Config
 
-VER        = 2.12-2-gc4ccff1
-PORTS_VER  = 2.12.1
+VER        = 2.25
 
 THISAPP    = glibc-$(VER)
-DL_FILE    = $(THISAPP).tar.bz2
+DL_FILE    = $(THISAPP).tar.gz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 
@@ -39,9 +38,8 @@ ifeq "$(ROOT)" ""
   EXTRA_CONFIG = \
        --build=$(BUILDTARGET) \
        --prefix=/usr \
-       --libexecdir=/usr/lib/glibc
-  EXTRA_MAKE =
-  EXTRA_INSTALL =
+       --libexecdir=/usr/lib/glibc \
+       --enable-stack-protector=strong
 else
   TARGET = $(DIR_INFO)/$(THISAPP)-tools
   EXTRA_CONFIG = \
@@ -50,31 +48,31 @@ else
        --prefix=/tools \
        --with-headers=/tools/include \
        libc_cv_forced_unwind=yes \
-       libc_cv_ctors_header=yes \
-       libc_cv_c_cleanup=yes \
-       CC=/tools/bin/$(CROSSTARGET)-gcc
-  EXTRA_MAKE =
-  EXTRA_INSTALL =
+       libc_cv_c_cleanup=yes
 endif
 
-# Enable some extra optimization for the glibc code.
-CFLAGS = -O3 -DNDEBUG -fasynchronous-unwind-tables -fPIC -DPIC \
-       -DNO_CTORS_DTORS_SECTIONS
+# Enable some extra optimization for the glibc code
+CFLAGS = -O3 -DNDEBUG -fasynchronous-unwind-tables -fPIC -DPIC
 
-ifeq "$(MACHINE)" "i586"
+ifeq "$(BUILD_ARCH)" "armv7hl"
+       CFLAGS += -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard
+endif
+
+ifeq "$(BUILD_ARCH)" "i586"
        CFLAGS += -march=i586 -mtune=generic -mno-tls-direct-seg-refs
 endif
 
-ifeq "$(MACHINE_TYPE)" "arm"
-       # Disable hardware FP for ARM.
+# Disable hardware FP for armv5tel
+ifeq "$(BUILD_ARCH)" "armv5tel"
        EXTRA_CONFIG += \
                --without-fp
 endif
 
 # Add some general configuration flags
 EXTRA_CONFIG += \
+       --enable-obsolete-rpc \
        --disable-profile \
-       --enable-kernel=2.6.0 \
+       --enable-kernel=3.2 \
        --enable-add-ons \
        --without-selinux \
        --enable-experimental-malloc \
@@ -88,14 +86,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 450958ad3d3b5a432b356376904c96b0
-
-# ARM needs glibc-ports
-ifeq "$(MACHINE_TYPE)" "arm"
-       objects += glibc-ports-$(PORTS_VER).tar.bz2
-       glibc-ports-$(PORTS_VER).tar.bz2 = $(DL_FROM)/glibc-ports-$(PORTS_VER).tar.bz2
-       glibc-ports-$(PORTS_VER).tar.bz2_MD5 = cb01ab976180e98287cef5079e35359e
-endif
+$(DL_FILE)_MD5 = 0c9f827298841dbf3bff3060f3d7f19c
 
 install : $(TARGET)
 
@@ -124,296 +115,53 @@ $(subst %,%_MD5,$(objects)) :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
-       @rm -rf $(DIR_APP) $(DIR_SRC)/glibc-build && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
+       @rm -rf $(DIR_APP) $(DIR_SRC)/glibc-build && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
        @mkdir $(DIR_SRC)/glibc-build
 
-ifeq "$(MACHINE_TYPE)" "arm"
-       cd $(DIR_APP) && tar jxf $(DIR_DL)/glibc-ports-$(PORTS_VER).tar.bz2
-       cd $(DIR_APP) && mv -v glibc-ports-$(PORTS_VER) ports
-
-       # http://sourceware.org/bugzilla/show_bug.cgi?id=12354
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc-cfi-entry-not-closed.patch
-endif
-
-       # Apply all patches.
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-aliasing.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-fedora.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-getlogin-r.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-localedata.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-recvmmsg.patch
-
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh587360.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh582738.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh593396.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh593686.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh607461.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh621959.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh607010.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh630801.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh631011.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh641128.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh642584.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh643822.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh645672.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh580498.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh615090.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh623187.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh646954.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh647448.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh615701.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh652661.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh656530.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh656014.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh661982.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh601686.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh676076.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh667974.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh625893.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh681054.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh689471.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh692177.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh692838.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh703480.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh705465.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh703481.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh694386.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh676591.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh711987.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh695595.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh695963.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh713134.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh714823.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh718057.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh688980.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh712248.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh731042.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh730379.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh700507.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh699724.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh736346.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh737778.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh738665.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh738763.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh739184.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh711927.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh688720.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh726517.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh752122.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh739971.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh751750.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh740506.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh757888.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh750531.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh749188.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh767746.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh767693.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh740506-2.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh696472.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh771342.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh657572.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh767693-2.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh782585.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh784402.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh697421.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh785984.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh767146.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh766513.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh789209.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh788959.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh789189.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh789238.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh794817.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh797094-1.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh797094-2.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh789238-2.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh795498.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh794817-2.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh804689.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh809602.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh808337.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh788959-2.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh808545.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh833717.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh823909.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh826149.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh841787.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh809726.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh806404.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh832516.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh830127.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh832694.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh843673.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh847932.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh837918.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh849203.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh849651.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh827362.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh837695.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh804686.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh848082.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh846342.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh852445.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh861167.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh863453.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh864322.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh929388.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh919562.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh886968.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh966775.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh834386.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh834386-2.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh862094.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh851470.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh868808.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh552960.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh663641.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh663641-2.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh848748.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh952422.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh663641-3.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh916986.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh970776.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh966778.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh863384.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh629823.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh629823-2.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh947882.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh905874.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh929302.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh928318.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh905575.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh988931.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh970090.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1008310.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1022022.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1043557.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1039988.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh995972.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh981942.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1032628.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1027101.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1025933.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh845218.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1044628.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1085273.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1074342.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1085289.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1082379.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1074353.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1019916.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1028285.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1099025.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1087833.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1027261.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh905941.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1054846.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1111460.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1099025-2.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1133810-1.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1133810-2.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1138769.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1171296.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1172044.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1154563.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1125307.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1176907.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1183534.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1159167.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1023306.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1085312.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1091915.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh859965.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1124204.patch
-ifneq "$(MACHINE_TYPE)" "arm"
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh978098.patch
-endif
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1144019.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1053178.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1144132.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1116050.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1116050-1.patch
-ifneq "$(MACHINE_TYPE)" "arm"
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh867679.patch
-endif
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1088301.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1195453-avx512.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1066724.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1209376.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1207236.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1217186.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1256812.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1256812-2.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1256812-3.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1256812-4.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1256890.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1256891.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1291270.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1296031.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1296031-0.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1299319-0.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1299319-1.patch
-
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc-resolv-stack_chk_fail.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc-remove-ctors-dtors-output-sections.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc-test-installation.pl-nss_test1.patch
-
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc-test-installation.pl-libgcc_s.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc-2.12-accept-make-versions-4.0-and-greater.patch
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-mq_open.patch
-
-       # Fixes:
-       #   Makefile:235: *** mixed implicit and normal rules.  Stop.
-       cd $(DIR_APP) && sed -i 's/ot \$$/ot:\n\ttouch $$@\n$$/' manual/Makefile
-
-ifeq "$(MACHINE_TYPE)" "arm"
-       # http://sourceware.org/ml/libc-ports/2011-09/msg00018.html
-       cd $(DIR_APP) && sed -e "s/PIC/SHARED/g" -i ports/sysdeps/arm/{,eabi/}{set,__long}jmp.S
-endif
-
-ifeq "$(ROOT)" ""
-ifeq "$(MACHINE_TYPE)" "arm"
-       cd $(DIR_APP) && sed -i 's|libs -o|libs -L/usr/lib -Wl,-dynamic-linker=/lib/ld-linux.so.3 -o|' \
-               scripts/test-installation.pl
-else
-ifeq "$(MACHINE)" "x86_64"
+ifneq "$(TOOLCHAIN)" "1"
+ ifeq "$(BUILD_ARCH)" "x86_64"
        cd $(DIR_APP) && sed -i 's|libs -o|libs -L/usr/lib64 -Wl,-dynamic-linker=/lib64/ld-linux-x86-64.so.2 -o|' \
                scripts/test-installation.pl
-else
+ endif
+
+ ifeq "$(BUILD_ARCH)" "i586"
        cd $(DIR_APP) && sed -i 's|libs -o|libs -L/usr/lib -Wl,-dynamic-linker=/lib/ld-linux.so.2 -o|' \
                scripts/test-installation.pl
-endif
-endif
+ endif
+
+ ifeq "$(BUILD_ARCH)" "armv5tel"
+       cd $(DIR_APP) && sed -i 's|libs -o|libs -L/usr/lib -Wl,-dynamic-linker=/lib/ld-linux.so.3 -o|' \
+               scripts/test-installation.pl
+ endif
 endif
 
        cd $(DIR_SRC)/glibc-build && \
                CFLAGS="$(CFLAGS) -fno-asynchronous-unwind-tables" \
                $(DIR_APP)/configure $(EXTRA_CONFIG)
 
-       sed -i $(DIR_SRC)/glibc-build/config.make \
-               -e "s/^build-pic-default=.*/build-pic-default=yes/"
-
-       # Build the glibc libraries without stack protection (as this is not supported)
-       echo "build-programs=no" >> $(DIR_SRC)/glibc-build/configparms
-       cd $(DIR_SRC)/glibc-build && make PARALLELMFLAGS=$(MAKETUNING) \
-               CFLAGS="$(CFLAGS) -fno-stack-protector -U_FORTIFY_SOURCE" \
-               CXXFLAGS="$(CXXFLAGS) -fno-stack-protector -U_FORTIFY_SOURCE"
-
-       # Build the programs with hardening
-       : > $(DIR_SRC)/glibc-build/configparms
        cd $(DIR_SRC)/glibc-build && make PARALLELMFLAGS=$(MAKETUNING) \
                CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)"
 
-       cd $(DIR_SRC)/glibc-build && make $(EXTRA_INSTALL) install
+       cd $(DIR_SRC)/glibc-build && make install
 
-ifeq "$(ROOT)" ""
+ifneq "$(TOOLCHAIN)" "1"
        # Creating the locales
        mkdir -p /usr/lib/locale
        cd $(DIR_SRC)/glibc-build && make localedata/install-locales
 
        # Timezone data will be shipped by tzdata.
        rm -rfv /usr/share/zoneinfo
-else
-       ln -svf lib /tools/lib64
 endif
+
+ifeq "$(TOOLCHAIN)" "1"
+       # Test the linker in toolchain
+       cd $(DIR_APP) && echo "int main() { return 0; }" > dummy.c
+       cd $(DIR_APP) && $(CROSSTARGET)-gcc dummy.c -o dummy
+
+       # Must be using a runtime linker from /tools
+       cd $(DIR_APP) && readelf -l dummy | grep "Requesting program interpreter: /tools"
+       cd $(DIR_APP) && rm -vf dummy dummy.c
+endif
+
        @rm -rf $(DIR_APP) $(DIR_SRC)/glibc-build
        @$(POSTBUILD)
diff --git a/lfs/gmp b/lfs/gmp
index f8dd6bb196c55862d9c28e868409801b80a23366..8dc9b73509cd69cc28dd775ef5f2b93ea591d146 100644 (file)
--- a/lfs/gmp
+++ b/lfs/gmp
@@ -32,9 +32,9 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 
-ifeq "$(MACHINE)" "i586"
+ifeq "$(BUILD_ARCH)" "i586"
        CONFIGURE_ARGS = ABI=32
-       BUILDTARGET_PENTIUM4 = $(patsubst $(MACHINE)-%,pentium4-%,$(BUILDTARGET))
+       BUILDTARGET_PENTIUM4 = $(patsubst $(BUILD_ARCH)-%,pentium4-%,$(BUILDTARGET))
 endif
 
 CONFIGURE_OPTIONS = \
@@ -89,7 +89,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
 
-ifeq "$(MACHINE)" "i586"
+ifeq "$(BUILD_ARCH)" "i586"
        # Build SSE/SSE2 optimised version for x86
        cd $(DIR_APP) && make clean
        cd $(DIR_APP) && \
index 438e9578d3076b5f988088ebf81bd8367fd2fbf2..1e483f6c04a75045c5088c3de3cc64a72398087d 100644 (file)
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 
-ifeq "$(MACHINE)" "i586"
+ifeq "$(BUILD_ARCH)" "i586"
        CONFIGURE_ARGS = ABI=32
 endif
 
index 32a674870c5a2a4adc5ac54864d19a87721c7091..5ac45c15a45cf9470e647f24ae1c3ee0ee7e2bdc 100644 (file)
--- a/lfs/grep
+++ b/lfs/grep
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 2.24
+VER        = 2.27
 
 THISAPP    = grep-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -51,7 +51,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = f1c980134c04692a90078e87283074b6
+$(DL_FILE)_MD5 = 6138dd227c39d4a25f81eea76a44d4cb
 
 install : $(TARGET)
 
index ba744087cf6b2ebb96b335f5aab5ca2b08a93f85..a054b8e50b73df89a574aecd0052d0bd47286772 100644 (file)
--- a/lfs/grub
+++ b/lfs/grub
@@ -79,6 +79,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub-2.00_disable_vga_fallback.patch
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/0001-Fix-CVE-2015-8370-Grub2-user-pass-vulnerability.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub2-remove-gets.patch
        cd $(DIR_APP) && \
                ./configure \
                        --prefix=/usr \
@@ -99,10 +100,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        -mkdir -pv /etc/default
        install -m 644 $(DIR_SRC)/config/grub2/default /etc/default/grub
 
-       # Disable hardening.
-       paxctl -mpes /usr/sbin/grub-bios-setup /usr/sbin/grub-probe
-       paxctl -mpexs /usr/bin/grub-script-check
-
        # We don't need to install unifont just to generate a grub2 compatible
        # font archive for the graphical boot menu. The following command only
        # converts Latin-1, Latin Extended A+B, Arrows, Box and Block characters.
diff --git a/lfs/iftop b/lfs/iftop
deleted file mode 100644 (file)
index 68a0055..0000000
--- a/lfs/iftop
+++ /dev/null
@@ -1,84 +0,0 @@
-###############################################################################
-#                                                                             #
-# IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
-#                                                                             #
-# This program is free software: you can redistribute it and/or modify        #
-# it under the terms of the GNU General Public License as published by        #
-# the Free Software Foundation, either version 3 of the License, or           #
-# (at your option) any later version.                                         #
-#                                                                             #
-# This program is distributed in the hope that it will be useful,             #
-# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
-# GNU General Public License for more details.                                #
-#                                                                             #
-# You should have received a copy of the GNU General Public License           #
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
-#                                                                             #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER        = 0.17
-
-THISAPP    = iftop-$(VER)
-DL_FILE    = $(THISAPP).tar.gz
-DL_FROM    = $(URL_IPFIRE)
-DIR_APP    = $(DIR_SRC)/$(THISAPP)
-TARGET     = $(DIR_INFO)/$(THISAPP)
-PROG       = iftop
-PAK_VER    = 1
-
-DEPS       = ""
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = 062bc8fb3856580319857326e0b8752d
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-dist: 
-       @$(PAK)
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
-       @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
-       @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
-       @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
-       @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && ./configure --prefix=/usr
-       cd $(DIR_APP) && make $(MAKETUNING)
-       cd $(DIR_APP) && make install
-       @rm -rf $(DIR_APP)
-       @$(POSTBUILD)
diff --git a/lfs/imspector b/lfs/imspector
deleted file mode 100644 (file)
index d4aa9b1..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-###############################################################################
-#                                                                             #
-# IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2010  Michael Tremer & Christian Schmidt                      #
-#                                                                             #
-# This program is free software: you can redistribute it and/or modify        #
-# it under the terms of the GNU General Public License as published by        #
-# the Free Software Foundation, either version 3 of the License, or           #
-# (at your option) any later version.                                         #
-#                                                                             #
-# This program is distributed in the hope that it will be useful,             #
-# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
-# GNU General Public License for more details.                                #
-#                                                                             #
-# You should have received a copy of the GNU General Public License           #
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
-#                                                                             #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER        = 20101008
-
-THISAPP    = imspector-$(VER)
-DL_FILE    = $(THISAPP).tar.gz
-DL_FROM    = $(URL_IPFIRE)
-DIR_APP    = $(DIR_SRC)/imspector
-TARGET     = $(DIR_INFO)/$(THISAPP)
-PROG       = imspector
-PAK_VER    = 3
-
-DEPS       = ""
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = 032407bb13ccddb77328f83eded102ee
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-dist: 
-       @$(PAK)
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
-       @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
-       @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
-       @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
-       @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/imspector-20101008-ssl.patch
-       cd $(DIR_SRC)/imspector && sed -e "s/^SSL_LIBS.*/& -lcrypto/" -i Makefile
-       cd $(DIR_SRC)/imspector && make install
-
-       -mv /usr/etc/imspector /etc/imspector
-       -mv /etc/imspector/imspector /etc/imspector
-
-       install -v -m 755 $(DIR_CONF)/imspector/imspector.conf /etc/imspector.conf
-       install -v -m 644 $(DIR_SRC)/config/backup/includes/imspector /var/ipfire/backup/addons/includes/imspector
-
-       chmod 755 /srv/web/ipfire/cgi-bin/imspector.cgi
-       chown nobody:nobody -R /var/log/imspector
-
-       #install initscripts
-       $(call INSTALL_INITSCRIPT,imspector)
-
-       @rm -rf $(DIR_APP)
-       @$(POSTBUILD)
index ef7114c90eca0479d851db451df6d8314c058c38..7d07b8ab3934c7cfe65bad1dc580e92e44b72e63 100644 (file)
@@ -199,7 +199,7 @@ $(TARGET) :
        done
 
        # ARM does not need acpid, intel no swconfig
-ifeq "$(MACHINE_TYPE)" "arm"
+ifeq "$(BUILD_PLATFORM)" "arm"
        rm -vf /etc/rc.d/init.d/acpid
        ln -sf ../init.d/swconfig    /etc/rc.d/rcsysinit.d/S73swconfig
 else
index 3364a4d7fd9849790821521554737c0d0be09a8a..347d90e70bab6158e7571c7ea6a2c1c38243ca8f 100644 (file)
@@ -31,7 +31,7 @@ DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 
 SLOGAN     = An Open Source Firewall Solution
-DOWNLOAD_URL = http://downloads.ipfire.org/releases/ipfire-2.x/$(VERSION)-core$(CORE)/$(SNAME)-$(VERSION).$(MACHINE)-full-core$(CORE).iso
+DOWNLOAD_URL = http://downloads.ipfire.org/releases/ipfire-2.x/$(VERSION)-core$(CORE)/$(SNAME)-$(VERSION).$(BUILD_ARCH)-full-core$(CORE).iso
 
 ###############################################################################
 # Top-level Rules
index 38de994c610e7dc1211e55a3c7921a7b31c81e7b..07e437d3e6de5844a00aed5244de95188a96ac48 100644 (file)
--- a/lfs/iperf
+++ b/lfs/iperf
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 2.0.5
+VER        = 2.0.9
 
 THISAPP    = iperf-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = iperf
-PAK_VER    = 2
+PAK_VER    = 3
 
 DEPS       = ""
 
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 44b5536b67719f4250faed632a3cd016
+$(DL_FILE)_MD5 = 351b018b71176b8cb25f20eef6a9e37c
 
 install : $(TARGET)
 
index e92d43fcb2438f4b777c6d76f88dae0b4cb6162b..7c43b308c3d6c55987aac62845a2ba34a5eec2e1 100644 (file)
--- a/lfs/ipset
+++ b/lfs/ipset
@@ -71,8 +71,9 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && ./autogen.sh
-       cd $(DIR_APP) && KSOURCEDIR=/usr/src/linux KBUILDDIR=/usr/src/linux ./configure \
+       cd $(DIR_APP) && ./configure \
                --prefix=/usr \
+               --with-kmod=no \
                --disable-static
 
        # Add configuration directory
diff --git a/lfs/lcr b/lfs/lcr
index 7ada81ddb60dac021d2fef97abeb9f6648fc024a..9f5ab8c6d6aa6218bd59ea5d89de4a8266743aa3 100644 (file)
--- a/lfs/lcr
+++ b/lfs/lcr
@@ -36,6 +36,8 @@ PAK_VER    = 6
 
 DEPS       = ""
 
+CXXFLAGS  += -std=gnu++98
+
 ###############################################################################
 # Top-level Rules
 ###############################################################################
index 58b4b6e16c7932f526585f189d3f95b6c05a75f2..2c34225aa783e014701cb5f2ef7f56b622b483ef 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2016  IPFire Team  <info@ipfire.org>                          #
+# Copyright (C) 2017  IPFire Team  <info@ipfire.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        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 3.2.1
+VER        = 3.3.1
 
 THISAPP    = libarchive-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -41,7 +41,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = afa257047d1941a565216edbf0171e72
+$(DL_FILE)_MD5 = d2af45480aa5b0db5b5f3919cd0ea65e
 
 install : $(TARGET)
 
index 68c7deb39342ec4db2c6bfcd02dedd0843aa7850..01abb4358953bcedd3307ca925da54c256f57279 100644 (file)
@@ -77,7 +77,8 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && ./configure --prefix=/usr
+       cd $(DIR_APP) && sed -e "s/-Werror//g" -i configure
+       cd $(DIR_APP) && ./configure --prefix=/usr --enable-release
        cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
        cd $(DIR_APP) && make install
        @rm -rf $(DIR_APP)
index 5a060325bc578645966f1b5878ada4fb584c3304..5d5572c9996ffc00a3b8e347ba3268b10f47cac7 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2016  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2017  IPFire Team  <info@ipfire.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        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 1.7.3
+VER        = 1.7.7
 
 THISAPP    = libgcrypt-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = c869e542cc13a1c28d8055487bf7f5c4
+$(DL_FILE)_MD5 = d1769481b1b506a632fd66c5e5f62e41
 
 install : $(TARGET)
 
index 84af2aa36bd93f612c1bfe0d9ea7c388a876c0be..ac618dcca96568d610edb0c32e335267909cdb8c 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2016  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2017  IPFire Team  <info@ipfire.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        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 1.24
+VER        = 1.27
 
 THISAPP    = libgpg-error-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = feb42198c0aaf3b28eabe8f41a34b983
+$(DL_FILE)_MD5 = 5217ef3e76a7275a2a3b569a12ddc989
 
 install : $(TARGET)
 
index 3c85a23bad155d0700b04ed85952f3e99a709bc9..270166c8b37bca39cd27d5256c55d5f5bf80ef57 100644 (file)
--- a/lfs/linux
+++ b/lfs/linux
@@ -40,15 +40,21 @@ CXXFLAGS   =
 PAK_VER    = 73
 DEPS      = ""
 
-ifeq "$(MACHINE)" "i586"
+ifeq "$(BUILD_ARCH)" "i586"
        KERNEL_ARCH = i386
 else
-       KERNEL_ARCH = $(MACHINE)
+       KERNEL_ARCH = $(BUILD_ARCH)
+endif
+
+ifeq "$(BUILD_ARCH)" "aarch64"
+       HEADERS_ARCH = arm64
+else
+       HEADERS_ARCH = $(BUILD_PLATFORM)
 endif
 
 VERSUFIX=ipfire$(KCFG)
 
-ifeq "$(TOOLS)" "1"
+ifeq "$(TOOLCHAIN)" "1"
        TARGET = $(DIR_INFO)/linux-$(VER)-$(VERSUFIX)-tools
        HEADERS_PREFIX = /tools
 else
@@ -56,22 +62,6 @@ else
        HEADERS_PREFIX = /usr
 endif
 
-ifeq "$(MACHINE)" "armv5tel"
-       HEADERS_ARCH=arm
-endif
-
-ifeq "$(MACHINE)" "aarch64"
-       HEADERS_ARCH=arm64
-endif
-
-ifeq "$(MACHINE)" "x86_64"
-       HEADERS_ARCH=x86
-endif
-
-ifeq "$(MACHINE)" "i586"
-       HEADERS_ARCH=x86
-endif
-
 ifeq "$(KCFG)" ""
 LASTKERNEL=1
 endif
@@ -79,6 +69,9 @@ ifeq "$(KCFG)" "-kirkwood"
 LASTKERNEL=1
 endif
 
+# The buildsystem does not correctly detect if our compiler supports plugins
+export DISABLE_PAX_PLUGINS=y
+
 ###############################################################################
 # Top-level Rules
 ###############################################################################
@@ -260,7 +253,7 @@ else
                drivers/video/logo/logo_linux_clut224.ppm
 
        # Cleanup kernel source
-       cp $(DIR_SRC)/config/kernel/kernel.config.$(MACHINE)-$(VERSUFIX) $(DIR_APP)/.config
+       cp $(DIR_SRC)/config/kernel/kernel.config.$(BUILD_ARCH)-$(VERSUFIX) $(DIR_APP)/.config
        cd $(DIR_APP) && make oldconfig
        cd $(DIR_APP) && make clean
        cd $(DIR_APP) && sed -i -e 's/EXTRAVERSION\ =.*/EXTRAVERSION\ =\ -$(VERSUFIX)/' Makefile
@@ -291,7 +284,7 @@ endif
        cd $(DIR_APP) && make $(MAKETUNING) modules_install
        cd $(DIR_APP) && make $(MAKETUNING) firmware_install
 
-ifeq "$(MACHINE_TYPE)" "arm"
+ifeq "$(BUILD_PLATFORM)" "arm"
        cd $(DIR_APP) && make $(MAKETUNING) dtbs
        cd $(DIR_APP) && for f in $$(find arch/arm/boot/dts/ -name *.dtb); do \
                                mkdir -p /boot/dtb-$(VER)-$(VERSUFIX) ; \
index de9703406508f9f784a8d70690c6f9d410817939..881a4c5821691a779739c3b0963e4e86dd985815 100644 (file)
--- a/lfs/mdadm
+++ b/lfs/mdadm
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 3.3.4
+VER        = 4.0
 
 THISAPP    = mdadm-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 7ca8b114710f98f53f20c5787b674a09
+$(DL_FILE)_MD5 = 2cb4feffea9167ba71b5f346a0c0a40d
 
 install : $(TARGET)
 
index c92fab63b54e994d101aee60d69ab3caf6158975..a1d6e2c5fee1afc7071dba4232b5c80622465490 100644 (file)
@@ -76,7 +76,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 # gcc-4.9.3 produce a corrupted version of memtest
 # we use the precomp version at the moment
 
-#ifeq "$(MACHINE)" "i586"
+#ifeq "$(BUILD_ARCH)" "i586"
 #      # Enable SMP as default
 #      cd $(DIR_APP) && sed -i -e "s|CONSERVATIVE_SMP 1|CONSERVATIVE_SMP 0|g" config.h
 #      cd $(DIR_APP) && sed -i -e "s|scp |echo |g" Makefile
index 089516efa3353fb07cfb82ffe3b6af344b95099e..8c739c26acecdd0b6bbc5a98ac8e5fba1eadff13 100644 (file)
--- a/lfs/mysql
+++ b/lfs/mysql
@@ -34,7 +34,8 @@ TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = mysql
 PAK_VER    = 3
 
-CFLAGS += -fno-strict-aliasing
+CFLAGS    += -fno-strict-aliasing
+CXXFLAGS  += -std=gnu++98
 
 ###############################################################################
 # Top-level Rules
@@ -77,6 +78,7 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       $(UPDATE_AUTOMAKE)
        cd $(DIR_APP) && ./configure --prefix=/usr \
                            --sysconfdir=/etc \
                            --libexecdir=/usr/sbin \
@@ -96,8 +98,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        cd /usr/lib && ln -v -sf mysql/libmysqlclient{,_r}.so* .
        install -v -m644 $(DIR_SRC)/config/mysql/my.cnf /etc/my.cnf
        mkdir -p /srv/mysql
-       mysql_install_db --user=mysql --force
-       chgrp -v mysql /srv/mysql{,/test,/mysql}
        chown mysql.mysql /srv/mysql/
        install -v -m755 -o mysql -g mysql -d /var/run/mysql
        install -v -m 644 $(DIR_SRC)/config/backup/includes/mysql \
index dd6e56f1ce776691fb3835ea36f3f6f87cc28a7f..1d8fd40d2181e0da29b9e42f514833686628cabd 100644 (file)
@@ -96,7 +96,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 ifneq "$(ROOT)" ""
        mkdir -pv /tools/lib/pkgconfig/
 endif
-       cd $(DIR_APP) && ./configure $(EXTRA_CONFIG)
+       cd $(DIR_APP) && CPPFLAGS=-P ./configure $(EXTRA_CONFIG)
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
 
index 1c0fb04271b87bb1209b2f43a3fe1796069232e0..09ec434850925ca30a71ca4961551230565a5210 100644 (file)
@@ -55,6 +55,8 @@ EXTRA_CONFIG += \
        --with-termlib=tinfo \
        --disable-nls
 
+export CPPFLAGS = -P
+
 ###############################################################################
 # Top-level Rules
 ###############################################################################
index 01b4e758b34a40fe7ad295c5915ea09f045f4fc2..b613ed76ec6edd3f0ab9b533c774d40b9839edfd 100644 (file)
@@ -61,22 +61,29 @@ CONFIGURE_OPTIONS = \
        no-mdc2 \
        no-rc5 \
        no-srp \
-       -DSSL_FORBID_ENULL
+       -DSSL_FORBID_ENULL \
+       $(OPENSSL_ARCH)
 
-ifeq "$(MACHINE)" "x86_64"
-       CONFIGURE_OPTIONS += linux-x86_64
+ifeq "$(IS_64BIT)" "1"
+       OPENSSL_ARCH = linux-generic64
+else
+       OPENSSL_ARCH = linux-generic32
 endif
 
-ifeq "$(MACHINE)" "i586"
-       CONFIGURE_OPTIONS += linux-elf
-
-ifneq "$(KCFG)" "-sse2"
-       CONFIGURE_OPTIONS += no-sse2
+ifeq "$(BUILD_ARCH)" "aarch64"
+       OPENSSL_ARCH = linux-aarch64
 endif
+
+ifeq "$(BUILD_ARCH)" "x86_64"
+       OPENSSL_ARCH = linux-x86_64
 endif
 
-ifeq "$(MACHINE)" "armv5tel"
-       CONFIGURE_OPTIONS += linux-generic32
+ifeq "$(BUILD_ARCH)" "i586"
+       OPENSSL_ARCH = linux-elf
+
+  ifneq "$(KCFG)" "-sse2"
+       OPENSSL_ARCH += no-sse2
+  endif
 endif
 
 ###############################################################################
@@ -123,7 +130,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/openssl-1.0.2g-disable-sslv2v3.patch
 
        # i586 specific patches
-ifeq "$(MACHINE)" "i586"
+ifeq "$(BUILD_ARCH)" "i586"
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/openssl-1.0.2a_auto_enable_padlock.patch
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/openssl-1.0.2a_disable_ssse3_for_amd.patch
 endif
index 00d1bb1c0d5b2bedba2a08aaaa5488258409e978..b584cc5611ee950bc5538773c038cc674a528726 100644 (file)
@@ -30,10 +30,10 @@ THISAPP    = pakfire
 DIR_APP    = /opt/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 
-ifeq "$(MACHINE)" "i586"
+ifeq "$(BUILD_ARCH)" "i586"
        PAKFIRE_VERSION = $(VERSION)
 else
-       PAKFIRE_VERSION = $(VERSION)-$(MACHINE)
+       PAKFIRE_VERSION = $(VERSION)-$(BUILD_ARCH)
 endif
 
 ###############################################################################
diff --git a/lfs/pam b/lfs/pam
index 75557a499628ba50a5f0904cf24030b53a0c0c84..96e8956f992233c449572e73872445516c3df846 100644 (file)
--- a/lfs/pam
+++ b/lfs/pam
@@ -70,6 +70,8 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
+       $(UPDATE_AUTOMAKE)
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/pam-0.99.10.0-rlimit-build-fix.patch
        cd $(DIR_APP) && ./configure --libdir=/usr/lib \
                            --sbindir=/lib/security \
                            --enable-securedir=/lib/security \
index c4ddc8e7604e5157e5de4126288daeb87e7e78cf..9ab8efae4e4bcb96ccd9266162beb8d4c24ddbee 100644 (file)
--- a/lfs/perl
+++ b/lfs/perl
@@ -77,6 +77,7 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/perl-Fix-Errno.pm-generation-for-gcc-5.0.patch
 ifneq "$(ROOT)" ""
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)-libc-2.patch
 endif
diff --git a/lfs/php b/lfs/php
index 1f33f0d7ea4fe92dfb17ddd7eb0a316b8903f06e..8717ccac14c5c1dcbe1946bf600f92432e0187e1 100644 (file)
--- a/lfs/php
+++ b/lfs/php
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 
-ifeq "$(MACHINE_TYPE)" "arm"
+ifeq "$(BUILD_PLATFORM)" "arm"
        CFLAGS    := $(patsubst -march=%,,$(CFLAGS))
 endif
 
index 3c3b8b27ed2ed60c8575808915310a0597e7745b..36fb40ae9cd97fe4007bf71e070d59e23ce769ec 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 0.29.1
+VER        = 0.29.2
 
 THISAPP    = pkg-config-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -50,7 +50,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = f739a28cae4e0ca291f82d1d41ef107d
+$(DL_FILE)_MD5 = f6e931e319531b736fadc017f470e68a
 
 install : $(TARGET)
 
index 013f9c1a8ad43b16a76dedc3ddb9e19ebe86c687..14ccb690c9e3111b0206759cc9c99cbd07169710 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 2.7.10
+VER        = 2.7.13
 
 THISAPP    = Python-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = c685ef0b8e9f27b5e3db5db12b268ac6
+$(DL_FILE)_MD5 = 53b43534153bb2a0363f08bae8b9d990
 
 install : $(TARGET)
 
@@ -71,6 +71,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar Jxf $(DIR_DL)/$(DL_FILE)
        rm -rf $(DIR_APP)/Modules/_ctypes/{darwin,libffi,libffi_arm_wince,libffi_msvc,libffi_osx}
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/python-2.7.13-getentropy.patch
        cd $(DIR_APP) && OPT="$(CFLAGS)" ./configure \
                --prefix=/usr --enable-shared --with-system-ffi
        cd $(DIR_APP) && make $(MAKETUNING)
index 57d79a356081d710aba8586980f2d94684de4a00..4f827e837657b2c9d717be1eddc68d8dd3178959 100644 (file)
--- a/lfs/qemu
+++ b/lfs/qemu
@@ -88,13 +88,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        # install wrapper for old kvm parameter handling
        install -m 755 $(DIR_SRC)/config/qemu/qemu /usr/bin/qemu
 
-       # disable PaX MPROTECT and RANDMMAP
-       paxctl -m -r /usr/bin/qemu-system-arm
-       paxctl -m -r /usr/bin/qemu-system-i386
-       paxctl -m -r /usr/bin/qemu-system-x86_64
-       paxctl -m -r /usr/bin/qemu-arm
-       paxctl -m -r /usr/bin/qemu-i386
-       paxctl -m -r /usr/bin/qemu-x86_64
        # install an udev script to set the permissions of /dev/kvm
        cp -avf $(DIR_SRC)/config/qemu/65-kvm.rules /lib/udev/rules.d/65-kvm.rules
 
index 402753ee02597d9cef162fead7cc96cda0df0675..3018aa16977111570e1735e8560872353ec86ec0 100644 (file)
 
 include Config
 
-VER        = 3.6.21
+VER        = 3.6.25
 
 THISAPP    = reiserfsprogs-$(VER)
-DL_FILE    = $(THISAPP).tar.bz2
+DL_FILE    = $(THISAPP).tar.xz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 0639cefac8f8150536cfa7531c2aa2d2
+$(DL_FILE)_MD5 = 027a598b055dccb8da3aea1378a19f3c
 
 install : $(TARGET)
 
@@ -69,7 +69,7 @@ $(subst %,%_MD5,$(objects)) :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && ./configure --prefix=/usr --sbindir=/sbin
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
diff --git a/lfs/sdl b/lfs/sdl
index 5f5ecdcef48b455f4bda3203f316443b70a709a5..84c395a3a29f9c456ceb2c78d7067c21a5a23673 100644 (file)
--- a/lfs/sdl
+++ b/lfs/sdl
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 1.2.11
+VER        = 1.2.15
 
 THISAPP    = SDL-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = sdl
-PAK_VER    = 2
+PAK_VER    = 3
 
 DEPS       = "alsa"
 
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 418b42956b7cd103bfab1b9077ccc149
+$(DL_FILE)_MD5 = 9d96df8417572a2afb781a7c4c811a85
 
 install : $(TARGET)
 
@@ -77,8 +77,6 @@ dist:
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/SDL-1.2.11-asm-page.h.patch
-       cd $(DIR_APP) && sed "/asm\/page.h/d" -i src/video/fbcon/SDL_fbvideo.c
        cd $(DIR_APP) && ./configure --prefix=/usr
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
index 9df159e72c0e6e7426873fcf2696f17db81275e6..4f658cf540562b176d7ab4cd647ea0be83ff5420 100644 (file)
@@ -48,5 +48,5 @@ install : $(DIR_INFO)/_build.othersrc-list.log
        
        # make the sources CDROM iso
        cd /install/cdrom && mkisofs -J -r -V "$(NAME)_$(VERSION)" \
-               . > /install/images/$(SNAME)-sources-cd-$(VERSION).$(MACHINE).iso
+               . > /install/images/$(SNAME)-sources-cd-$(VERSION).$(BUILD_ARCH).iso
        rm -rf /install/cdrom/*
similarity index 67%
rename from lfs/paxctl
rename to lfs/stage1
index 387f3842eda211cb2aee60bd786095f5ba4e7301..c4c578411eb19980033dddb1335a98bc73569338 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2016  IPFire Team  <info@ipfire.org>                          #
+# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
 #                                                                             #
 # 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        #
 
 include Config
 
-VER        = 0.9
+VER        = ipfire
 
-THISAPP    = paxctl-$(VER)
-DL_FILE    = $(THISAPP).tar.gz
-DL_FROM    = $(URL_IPFIRE)
-DIR_APP    = $(DIR_SRC)/$(THISAPP)
+THISAPP    = stage1
 TARGET     = $(DIR_INFO)/$(THISAPP)
 
 ###############################################################################
 # Top-level Rules
 ###############################################################################
 
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = 9bea59b1987dc4e16c2d22d745374e64
-
 install : $(TARGET)
 
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+check :
 
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
+download :
 
-md5 : $(subst %,%_MD5,$(objects))
-
-dist: 
-       @$(PAK)
+md5 :
 
 ###############################################################################
-# Downloading, checking, md5sum
+# Installation Details
 ###############################################################################
 
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
-       @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
-       @$(LOAD)
+$(TARGET) :
+       @$(PREBUILD)
 
-$(subst %,%_MD5,$(objects)) :
-       @$(MD5)
+       mkdir -pv /tools/lib
 
-###############################################################################
-# Installation Details
-###############################################################################
+ifeq "$(IS_64BIT)" "1"
+       ln -svf lib /tools/lib64
+endif
 
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
-       @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && make $(MAKETUNING)
-       cd $(DIR_APP) && make install
-       @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index 1256fd365ebadac5bcfaff416048e57765e3fc76..b70bde78a4e273bc37444d3fc1aea2b986657470 100644 (file)
@@ -64,7 +64,7 @@ $(TARGET) :
        # Symlink /var/run -> /run.
        ln -svf ../run /var/run
 
-ifeq "$(MACHINE)" "x86_64"
+ifeq "$(IS_64BIT)" "1"
        ln -svf lib /lib64
        ln -svf lib /usr/lib64
 endif
index d07ff43ee04ae02b29c116bf8628588061402fa3..237f4d2b3b5a243a007c89b886f6d3a01326a038 100644 (file)
--- a/lfs/strip
+++ b/lfs/strip
@@ -49,6 +49,6 @@ $(TARGET) :
        # Don't strip VDR binaries, because they use a weird plugin system
        # which does not work when unneeded symbols get stripped from
        # /usr/sbin/vdr.
-       STRIP="/tools/bin/strip" $(DIR_SRC)/src/stripper / \
+       $(DIR_SRC)/src/stripper $(ROOT) \
                --exclude=/usr/src --exclude=/tools \
                --exclude=/usr/sbin/vdr --exclude=/usr/lib/vdr
index 7f6a95b6e38c0589cd982d53bfb64f4b5c6d7ab2..85c4f2b85815d492cb69a7777afd8723d2b33415 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 5.5.2
+VER        = 5.5.3
 
 THISAPP    = strongswan-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/strongswan-$(VER)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 
-ifeq "$(MACHINE)" "i586"
+ifeq "$(BUILD_ARCH)" "i586"
        CONFIGURE_OPTIONS = \
                --enable-padlock
 else
@@ -48,7 +48,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 546f7e5346b754f5946ff1282702ceb9
+$(DL_FILE)_MD5 = 4afffe3c219bb2e04f09510905af836b
 
 install : $(TARGET)
 
index 75bde5fee52cccbf8014fde320a933b6fe722d51..58d1073579ab99ef558b6596fcd42e7202986243 100644 (file)
@@ -70,6 +70,10 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+
+       # Compile fix
+       cd $(DIR_APP) && sed -i "s/union wait/int/" syslogd.c
+
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
        touch /var/log/{dhcpcd.log,messages}
diff --git a/lfs/tcpick b/lfs/tcpick
deleted file mode 100644 (file)
index 52ba75b..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-###############################################################################
-#                                                                             #
-# IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
-#                                                                             #
-# This program is free software: you can redistribute it and/or modify        #
-# it under the terms of the GNU General Public License as published by        #
-# the Free Software Foundation, either version 3 of the License, or           #
-# (at your option) any later version.                                         #
-#                                                                             #
-# This program is distributed in the hope that it will be useful,             #
-# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
-# GNU General Public License for more details.                                #
-#                                                                             #
-# You should have received a copy of the GNU General Public License           #
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
-#                                                                             #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER        = 0.2.1
-
-THISAPP    = tcpick-$(VER)
-DL_FILE    = $(THISAPP).tar.gz
-DL_FROM    = $(URL_IPFIRE)
-DIR_APP    = $(DIR_SRC)/$(THISAPP)
-TARGET     = $(DIR_INFO)/$(THISAPP)
-PROG       = tcpick
-PAK_VER    = 1
-
-DEPS       = ""
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = bb94f2f9ea81aeb645619fbe9b3b9a29
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-dist: 
-       @$(PAK)
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
-       @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
-       @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
-       @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
-       @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && ./configure --prefix=/usr
-       cd $(DIR_APP) && make $(MAKETUNING)
-       cd $(DIR_APP) && make install
-       @rm -rf $(DIR_APP)
-       @$(POSTBUILD)
index 3b3fbf22117fe5027aa89eda1ae31a01f42f6eb1..e34f76a151c8f663f86ae896d2dd49cccb650953 100644 (file)
@@ -76,6 +76,8 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
 
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/U-Boot-v2-fs-fat-read-fix-fat16-ls-read-issue.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/u-boot-support-gcc-6.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/u-boot-c99-inline-fix.patch
 
        # Pandaboard
        -mkdir -pv /usr/share/u-boot/pandaboard
index 320f2723778ac961b714cdccc0f08c5a8399192f..2d5c56078cdc146cf0e5abd9cfb47b8308c70074 100644 (file)
--- a/lfs/udev
+++ b/lfs/udev
@@ -77,8 +77,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 
        cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/udev-208_remove_systemd_log.patch
 
-       cd $(DIR_APP)/udev-lfs-$(VER)-1 && sed -i "s/HANDLE_AT 1/HANDLE_AT 0/g" cfg.h
-
        rm -rf /lib/udev/devices
        install -dv /lib/firmware
 
index 7853dd0b4fa27dd9e6ceb26cf74bfc58b27b6e69..793890d2871b56f93238abd8437b09938f714389 100644 (file)
--- a/lfs/unzip
+++ b/lfs/unzip
@@ -72,7 +72,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && make -f unix/Makefile clean
        cd $(DIR_APP)/unix && ./configure
-ifeq "$(MACHINE)" "i586"
+ifeq "$(BUILD_ARCH)" "i586"
        cd $(DIR_APP) && make -f unix/Makefile LOCAL_UNZIP=-D_FILE_OFFSET_BITS=64 generic
 else
        # ARM/x86_64 cannot use the x86 32 bit assembly code.
index 2cf34e73dfe1012d6e457d90f235074d415fc31c..781f00d26cc45c2b01a6fd6baed25273401fdc1e 100644 (file)
@@ -25,6 +25,8 @@
 include Config
 
 VER        = 1.0.6
+SUP_ARCHES =
+
 THISAPP    = vdr-plugin-dvbapi-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
 
@@ -102,7 +104,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP)* && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
 
-ifeq "$(MACHINE)" "i586"
+ifeq "$(BUILD_ARCH)" "i586"
        # Build an SSE enabled version.
        $(call BUILD,-sse)
 endif
index 3a91256f1081a90ffce9bebc40f848a44f45370c..c8dd7f6fdc99b01e8ee7d8ac5c77d98e6a7dbee5 100644 (file)
@@ -26,6 +26,8 @@ include Config
 
 GIT_VER    = 69b47ba4bf0195fd6820beb2cf4f7c7ea31f4011
 VER        = master
+SUP_ARCHES =
+
 THISAPP    = vdr-plugin-eepg-$(VER)
 DL_FILE    = vdr-plugin-eepg-$(GIT_VER).tar.bz2
 
index e62167049793a69c4f25fd4892dbd95670cbb1aa..e0065accbea64203a83d21b86a74b5b39e6b2d09 100644 (file)
@@ -25,6 +25,8 @@
 include Config
 
 VER        = 1.0.1.beta5
+SUP_ARCHES =
+
 THISAPP    = vdr-epgsearch-$(VER)
 DL_FILE    = $(THISAPP).tgz
 
index c230a69afb9afaa85a01402d29129c10cc1d96fb..b67843e6e8182823f8b00b6ddd78625eb310807d 100644 (file)
@@ -26,6 +26,8 @@ include Config
 
 VER        = 0.6.1
 GIT_VER    = 10db11ac
+SUP_ARCHES =
+
 THISAPP    = vdr-streamdev-$(GIT_VER)
 DL_FILE    = $(THISAPP).tar.xz
 
diff --git a/lfs/vdr_vnsiserver5 b/lfs/vdr_vnsiserver5
deleted file mode 100644 (file)
index 0416416..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-###############################################################################
-#                                                                             #
-# IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2013  IPFire Team  <info@ipfire.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 3 of the License, or           #
-# (at your option) any later version.                                         #
-#                                                                             #
-# This program is distributed in the hope that it will be useful,             #
-# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
-# GNU General Public License for more details.                                #
-#                                                                             #
-# You should have received a copy of the GNU General Public License           #
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
-#                                                                             #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER        = 1.0.0
-THISAPP    = vdr-vnsiserver5-$(VER)
-DL_FILE    = $(THISAPP).tar.gz
-
-DL_FROM    = $(URL_IPFIRE)
-DIR_APP    = $(DIR_SRC)/$(THISAPP)
-TARGET     = $(DIR_INFO)/$(THISAPP)
-PROG       = vdr_vnsiserver5
-PAK_VER    = 1
-
-DEPS       = "vdr"
-
-VDRPLUGVER = 2.0.0
-
-EXTRA_FLAGS= -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-CFLAGS    += $(EXTRA_FLAGS)
-CXXFLAGS  += $(EXTRA_FLAGS)
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE)  = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5  = 3d1a0b21d11187e43a56f9e4cf7cb1c9
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download : $(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-dist: 
-       @$(PAK)
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
-       @$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
-       @$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
-       @$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
-       @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-
-       cd $(DIR_APP) && make $(MAKE_TUNING) LIBDIR=. VDRDIR=/usr/lib/vdr \
-               CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \
-               LOCALEDIR=$$(pwd)/locale all
-
-       -mkdir -pv /etc/vdr/plugins/vnsiserver5
-       cd $(DIR_APP) && install -m 755 libvdr-vnsiserver5.so \
-               /usr/lib/vdr/libvdr-vnsiserver5.so.$(VDRPLUGVER)
-       ln -svf ../../svdrphosts.conf /etc/vdr/plugins/vnsiserver5/allowed_hosts.conf
-       install -m 644 $(DIR_SRC)/config/vdr/plugins.d/vnsiserver5.conf \
-               /etc/sysconfig/vdr-plugins.d
-
-       @rm -rf $(DIR_APP)
-       @$(POSTBUILD)
index d5a747bcd370cc770a15429f741d9edcf9dd315b..78c242bf82829efae53d8adc5f94339861c8bdad 100644 (file)
@@ -47,7 +47,7 @@ md5 :
 ###############################################################################
 # Installation Details
 ###############################################################################
-IMGinst  := /install/images/$(SNAME)-$(VERSION).xen.$(MACHINE)-downloader-core$(CORE).tar.bz2
+IMGinst  := /install/images/$(SNAME)-$(VERSION).xen.$(BUILD_ARCH)-downloader-core$(CORE).tar.bz2
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        rm -rf /install/images/$(SNAME) $(IMGinst) && mkdir -p /install/images/$(SNAME)
diff --git a/make.sh b/make.sh
index b27b4e4f06826fb834dd7e8951d6e4c303478d8b..a0f2dffc28ead574ca2ae5be08dcb11c6782e8c8 100755 (executable)
--- a/make.sh
+++ b/make.sh
@@ -36,11 +36,11 @@ BUILD_IMAGES=1                                                      # Flash and Xen Downloader
 KVER=`grep --max-count=1 VER lfs/linux | awk '{ print $3 }'`
 GIT_TAG=$(git tag | tail -1)                                   # Git Tag
 GIT_LASTCOMMIT=$(git log | head -n1 | cut -d" " -f2 |head -c8) # Last commit
-TOOLCHAINVER=12
+
+TOOLCHAINVER=20170518
 
 # New architecture variables
-BUILD_ARCH="$(uname -m)"
-BUILDMACHINE="${BUILD_ARCH}"
+HOST_ARCH="$(uname -m)"
 
 # Debian specific settings
 if [ ! -e /etc/debian_version ]; then
@@ -69,10 +69,13 @@ if [ -f .config ]; then
        . .config
 fi
 
-if [ -n "${TARGET_ARCH}" ]; then
-       configure_target "${TARGET_ARCH}"
+if [ -n "${BUILD_ARCH}" ]; then
+       configure_build "${BUILD_ARCH}"
+elif [ -n "${TARGET_ARCH}" ]; then
+       configure_build "${TARGET_ARCH}"
+       unset TARGET_ARCH
 else
-       configure_target "default"
+       configure_build "default"
 fi
 
 if [ -z $EDITOR ]; then
@@ -221,13 +224,13 @@ prepareenv() {
     # Run LFS static binary creation scripts one by one
     export CCACHE_DIR=$BASEDIR/ccache
     export CCACHE_COMPRESS=1
-    export CCACHE_COMPILERCHECK="string:toolchain-${TOOLCHAINVER} ${TARGET_ARCH}"
+    export CCACHE_COMPILERCHECK="string:toolchain-${TOOLCHAINVER} ${BUILD_ARCH}"
 
     # Remove pre-install list of installed files in case user erase some files before rebuild
     rm -f $BASEDIR/build/usr/src/lsalr 2>/dev/null
 
     # Prepare string for /etc/system-release.
-    SYSTEM_RELEASE="${NAME} ${VERSION} (${MACHINE})"
+    SYSTEM_RELEASE="${NAME} ${VERSION} (${BUILD_ARCH})"
     if [ "$(git status -s | wc -l)" == "0" ]; then
        GIT_STATUS=""
     else
@@ -245,7 +248,7 @@ prepareenv() {
 
 buildtoolchain() {
     local error=false
-    case "${TARGET_ARCH}:${BUILD_ARCH}" in
+    case "${BUILD_ARCH}:${HOST_ARCH}" in
         # x86_64
         x86_64:x86_64)
              # This is working.
@@ -260,6 +263,10 @@ buildtoolchain() {
             ;;
 
         # ARM
+        arvm7hl:armv7hl|armv7hl:armv7l)
+            # These are working.
+            ;;
+
         armv5tel:armv5tel|armv5tel:armv5tejl|armv5tel:armv6l|armv5tel:armv7l|armv5tel:aarch64)
             # These are working.
             ;;
@@ -269,7 +276,7 @@ buildtoolchain() {
     esac
 
     ${error} && \
-        exiterror "Cannot build ${MACHINE} toolchain on $(uname -m). Please use the download if any."
+        exiterror "Cannot build ${BUILD_ARCH} toolchain on $(uname -m). Please use the download if any."
 
     local gcc=$(type -p gcc)
     if [ -z "${gcc}" ]; then
@@ -279,12 +286,12 @@ buildtoolchain() {
     LOGFILE="$BASEDIR/log/_build.toolchain.log"
     export LOGFILE
 
+    lfsmake1 stage1
     lfsmake1 ccache                    PASS=1
     lfsmake1 binutils                  PASS=1
     lfsmake1 gcc                       PASS=1
-    lfsmake1 linux                     TOOLS=1 KCFG="-headers"
+    lfsmake1 linux                     KCFG="-headers"
     lfsmake1 glibc
-    lfsmake1 cleanup-toolchain         PASS=1
     lfsmake1 gcc                       PASS=L
     lfsmake1 binutils                  PASS=2
     lfsmake1 gcc                       PASS=2
@@ -313,7 +320,7 @@ buildtoolchain() {
     lfsmake1 texinfo
     lfsmake1 xz
     lfsmake1 fake-environ
-    lfsmake1 cleanup-toolchain         PASS=2
+    lfsmake1 cleanup-toolchain
 }
 
 buildbase() {
@@ -324,7 +331,7 @@ buildbase() {
     lfsmake2 man-pages
     lfsmake2 glibc
     lfsmake2 tzdata
-    lfsmake2 cleanup-toolchain         PASS=3
+    lfsmake2 cleanup-toolchain
     lfsmake2 zlib
     lfsmake2 binutils
     lfsmake2 gmp
@@ -334,9 +341,9 @@ buildbase() {
     lfsmake2 file
     lfsmake2 gcc
     lfsmake2 sed
-    lfsmake2 berkeley
     lfsmake2 autoconf
     lfsmake2 automake
+    lfsmake2 berkeley
     lfsmake2 coreutils
     lfsmake2 iana-etc
     lfsmake2 m4
@@ -383,518 +390,512 @@ buildbase() {
     lfsmake2 udev
     lfsmake2 vim
     lfsmake2 xz
-    lfsmake2 paxctl
 }
 
 buildipfire() {
   LOGFILE="$BASEDIR/log/_build.ipfire.log"
   export LOGFILE
-  ipfiremake configroot
-  ipfiremake initscripts
-  ipfiremake backup
-  ipfiremake pkg-config
-  ipfiremake libusb
-  ipfiremake libusb-compat
-  ipfiremake libpcap
-  ipfiremake ppp
-  ipfiremake pptp
-  ipfiremake unzip
-  ipfiremake which
-  ipfiremake linux-firmware
-  ipfiremake ath10k-firmware
-  ipfiremake dvb-firmwares
-  ipfiremake mt7601u-firmware
-  ipfiremake zd1211-firmware
-  ipfiremake rpi-firmware
-  ipfiremake bc
-  ipfiremake u-boot
-  ipfiremake cpio
-  ipfiremake mdadm
-  ipfiremake dracut
-  ipfiremake lvm2
-  ipfiremake multipath-tools
-  ipfiremake freetype
-  ipfiremake grub
-  ipfiremake libmnl
-  ipfiremake libnfnetlink
-  ipfiremake libnetfilter_queue
-  ipfiremake libnetfilter_conntrack
-  ipfiremake libnetfilter_cthelper
-  ipfiremake libnetfilter_cttimeout
-  ipfiremake iptables
-
-  case "${TARGET_ARCH}" in
+  lfsmake2 configroot
+  lfsmake2 initscripts
+  lfsmake2 backup
+  lfsmake2 pkg-config
+  lfsmake2 libusb
+  lfsmake2 libusb-compat
+  lfsmake2 libpcap
+  lfsmake2 ppp
+  lfsmake2 pptp
+  lfsmake2 unzip
+  lfsmake2 which
+  lfsmake2 linux-firmware
+  lfsmake2 ath10k-firmware
+  lfsmake2 dvb-firmwares
+  lfsmake2 mt7601u-firmware
+  lfsmake2 zd1211-firmware
+  lfsmake2 rpi-firmware
+  lfsmake2 bc
+  lfsmake2 u-boot
+  lfsmake2 cpio
+  lfsmake2 mdadm
+  lfsmake2 dracut
+  lfsmake2 lvm2
+  lfsmake2 multipath-tools
+  lfsmake2 freetype
+  lfsmake2 grub
+  lfsmake2 libmnl
+  lfsmake2 libnfnetlink
+  lfsmake2 libnetfilter_queue
+  lfsmake2 libnetfilter_conntrack
+  lfsmake2 libnetfilter_cthelper
+  lfsmake2 libnetfilter_cttimeout
+  lfsmake2 iptables
+
+  case "${BUILD_ARCH}" in
        x86_64)
-               ipfiremake linux                        KCFG=""
-               ipfiremake backports                    KCFG=""
-               ipfiremake e1000e                       KCFG=""
-               ipfiremake igb                          KCFG=""
-               ipfiremake ixgbe                        KCFG=""
-               ipfiremake xtables-addons               KCFG=""
-               ipfiremake linux-initrd                 KCFG=""
+               lfsmake2 linux                  KCFG=""
+               lfsmake2 backports                      KCFG=""
+               lfsmake2 e1000e                 KCFG=""
+               lfsmake2 igb                            KCFG=""
+               lfsmake2 ixgbe                  KCFG=""
+               lfsmake2 xtables-addons         KCFG=""
+               lfsmake2 linux-initrd                   KCFG=""
                ;;
        i586)
                # x86-pae (Native and new XEN) kernel build
-               ipfiremake linux                        KCFG="-pae"
-               ipfiremake backports                    KCFG="-pae"
-               ipfiremake e1000e                       KCFG="-pae"
-               ipfiremake igb                          KCFG="-pae"
-               ipfiremake ixgbe                        KCFG="-pae"
-               ipfiremake xtables-addons               KCFG="-pae"
-               ipfiremake linux-initrd                 KCFG="-pae"
+               lfsmake2 linux                  KCFG="-pae"
+               lfsmake2 backports                      KCFG="-pae"
+               lfsmake2 e1000e                 KCFG="-pae"
+               lfsmake2 igb                            KCFG="-pae"
+               lfsmake2 ixgbe                  KCFG="-pae"
+               lfsmake2 xtables-addons         KCFG="-pae"
+               lfsmake2 linux-initrd                   KCFG="-pae"
 
                # x86 kernel build
-               ipfiremake linux                        KCFG=""
-               ipfiremake backports                    KCFG=""
-               ipfiremake e1000e                       KCFG=""
-               ipfiremake igb                          KCFG=""
-               ipfiremake ixgbe                        KCFG=""
-               ipfiremake xtables-addons               KCFG=""
-               ipfiremake linux-initrd                 KCFG=""
+               lfsmake2 linux                  KCFG=""
+               lfsmake2 backports                      KCFG=""
+               lfsmake2 e1000e                 KCFG=""
+               lfsmake2 igb                            KCFG=""
+               lfsmake2 ixgbe                  KCFG=""
+               lfsmake2 xtables-addons         KCFG=""
+               lfsmake2 linux-initrd                   KCFG=""
                ;;
 
        armv5tel)
                # arm-rpi (Raspberry Pi) kernel build
-               ipfiremake linux                        KCFG="-rpi"
-               ipfiremake backports                    KCFG="-rpi"
-               ipfiremake xtables-addons               KCFG="-rpi"
-               ipfiremake linux-initrd                 KCFG="-rpi"
+               lfsmake2 linux                  KCFG="-rpi"
+               lfsmake2 backports                      KCFG="-rpi"
+               lfsmake2 xtables-addons         KCFG="-rpi"
+               lfsmake2 linux-initrd                   KCFG="-rpi"
 
                # arm multi platform (Panda, Wandboard ...) kernel build
-               ipfiremake linux                        KCFG="-multi"
-               ipfiremake backports                    KCFG="-multi"
-               ipfiremake e1000e                       KCFG="-multi"
-               ipfiremake igb                          KCFG="-multi"
-               ipfiremake ixgbe                        KCFG="-multi"
-               ipfiremake xtables-addons               KCFG="-multi"
-               ipfiremake linux-initrd                 KCFG="-multi"
+               lfsmake2 linux                  KCFG="-multi"
+               lfsmake2 backports                      KCFG="-multi"
+               lfsmake2 e1000e                 KCFG="-multi"
+               lfsmake2 igb                            KCFG="-multi"
+               lfsmake2 ixgbe                  KCFG="-multi"
+               lfsmake2 xtables-addons         KCFG="-multi"
+               lfsmake2 linux-initrd                   KCFG="-multi"
 
                # arm-kirkwood (Dreamplug, ICY-Box ...) kernel build
-               ipfiremake linux                        KCFG="-kirkwood"
-               ipfiremake backports                    KCFG="-kirkwood"
-               ipfiremake e1000e                       KCFG="-kirkwood"
-               ipfiremake igb                          KCFG="-kirkwood"
-               ipfiremake ixgbe                        KCFG="-kirkwood"
-               ipfiremake xtables-addons               KCFG="-kirkwood"
-               ipfiremake linux-initrd                 KCFG="-kirkwood"
+               lfsmake2 linux                  KCFG="-kirkwood"
+               lfsmake2 backports                      KCFG="-kirkwood"
+               lfsmake2 e1000e                 KCFG="-kirkwood"
+               lfsmake2 igb                            KCFG="-kirkwood"
+               lfsmake2 ixgbe                  KCFG="-kirkwood"
+               lfsmake2 xtables-addons         KCFG="-kirkwood"
+               lfsmake2 linux-initrd                   KCFG="-kirkwood"
                ;;
   esac
-  ipfiremake xtables-addons                    USPACE="1"
-  ipfiremake openssl
-  [ "${TARGET_ARCH}" = "i586" ] && ipfiremake openssl KCFG='-sse2'
-  ipfiremake libgpg-error
-  ipfiremake libgcrypt
-  ipfiremake libassuan
-  ipfiremake nettle
-  ipfiremake libevent
-  ipfiremake libevent2
-  ipfiremake libevent2-compat
-  ipfiremake expat
-  ipfiremake unbound
-  ipfiremake gnutls
-  ipfiremake bind
-  ipfiremake dhcp
-  ipfiremake dhcpcd
-  ipfiremake boost
-  ipfiremake linux-atm
-  ipfiremake gdbm
-  ipfiremake pam
-  ipfiremake curl
-  ipfiremake tcl
-  ipfiremake sqlite
-  ipfiremake libffi
-  ipfiremake python
-  ipfiremake python3
-  ipfiremake ca-certificates
-  ipfiremake fireinfo
-  ipfiremake libnet
-  ipfiremake libnl
-  ipfiremake libnl-3
-  ipfiremake libidn
-  ipfiremake nasm
-  ipfiremake libjpeg
-  ipfiremake libjpeg-compat
-  ipfiremake libexif
-  ipfiremake libpng
-  ipfiremake libtiff
-  ipfiremake libart
-  ipfiremake gd
-  ipfiremake popt
-  ipfiremake pcre
-  ipfiremake slang
-  ipfiremake newt
-  ipfiremake libsmooth
-  ipfiremake attr
-  ipfiremake acl
-  ipfiremake libcap
-  ipfiremake pciutils
-  ipfiremake usbutils
-  ipfiremake libxml2
-  ipfiremake libxslt
-  ipfiremake BerkeleyDB
-  ipfiremake mysql
-  ipfiremake cyrus-sasl
-  ipfiremake openldap
-  ipfiremake apache2
-  ipfiremake php
-  ipfiremake web-user-interface
-  ipfiremake flag-icons
-  ipfiremake jquery
-  ipfiremake arping
-  ipfiremake beep
-  ipfiremake dvdrtools
-  ipfiremake dosfstools
-  ipfiremake reiserfsprogs
-  ipfiremake xfsprogs
-  ipfiremake sysfsutils
-  ipfiremake fuse
-  ipfiremake ntfs-3g
-  ipfiremake ethtool
-  ipfiremake ez-ipupdate
-  ipfiremake fcron
-  ipfiremake perl-GD
-  ipfiremake GD-Graph
-  ipfiremake GD-TextUtil
-  ipfiremake perl-Device-SerialPort
-  ipfiremake perl-Device-Modem
-  ipfiremake perl-Apache-Htpasswd
-  ipfiremake gnupg
-  ipfiremake hdparm
-  ipfiremake sdparm
-  ipfiremake mtools
-  ipfiremake whatmask
-  ipfiremake conntrack-tools
-  ipfiremake libupnp
-  ipfiremake ipaddr
-  ipfiremake iputils
-  ipfiremake l7-protocols
-  ipfiremake mISDNuser
-  ipfiremake capi4k-utils
-  ipfiremake hwdata
-  ipfiremake logrotate
-  ipfiremake logwatch
-  ipfiremake misc-progs
-  ipfiremake nano
-  ipfiremake URI
-  ipfiremake HTML-Tagset
-  ipfiremake HTML-Parser
-  ipfiremake HTML-Template
-  ipfiremake Compress-Zlib
-  ipfiremake Digest
-  ipfiremake Digest-SHA1
-  ipfiremake Digest-HMAC
-  ipfiremake libwww-perl
-  ipfiremake Net-DNS
-  ipfiremake Net-IPv4Addr
-  ipfiremake Net_SSLeay
-  ipfiremake IO-Stringy
-  ipfiremake IO-Socket-SSL
-  ipfiremake Unix-Syslog
-  ipfiremake Mail-Tools
-  ipfiremake MIME-Tools
-  ipfiremake Net-Server
-  ipfiremake Convert-TNEF
-  ipfiremake Convert-UUlib
-  ipfiremake Archive-Tar
-  ipfiremake Archive-Zip
-  ipfiremake Text-Tabs+Wrap
-  ipfiremake Locale-Country
-  ipfiremake XML-Parser
-  ipfiremake Crypt-PasswdMD5
-  ipfiremake Net-Telnet
-  ipfiremake python-setuptools
-  ipfiremake python-clientform
-  ipfiremake python-mechanize
-  ipfiremake python-feedparser
-  ipfiremake python-rssdler
-  ipfiremake python-inotify
-  ipfiremake python-docutils
-  ipfiremake python-daemon
-  ipfiremake python-ipaddress
-  ipfiremake glib
-  ipfiremake GeoIP
-  ipfiremake fwhits
-  ipfiremake noip_updater
-  ipfiremake ntp
-  ipfiremake openssh
-  ipfiremake fontconfig
-  ipfiremake dejavu-fonts-ttf
-  ipfiremake freefont
-  ipfiremake pixman
-  ipfiremake cairo
-  ipfiremake pango
-  ipfiremake rrdtool
-  ipfiremake setserial
-  ipfiremake setup
-  ipfiremake libdnet
-  ipfiremake daq
-  ipfiremake snort
-  ipfiremake oinkmaster
-  ipfiremake squid
-  ipfiremake squidguard
-  ipfiremake calamaris
-  ipfiremake tcpdump
-  ipfiremake traceroute
-  ipfiremake vlan
-  ipfiremake wireless
-  ipfiremake pakfire
-  ipfiremake spandsp
-  ipfiremake lzo
-  ipfiremake openvpn
-  ipfiremake pammysql
-  ipfiremake mpage
-  ipfiremake dbus
-  ipfiremake intltool
-  ipfiremake libdaemon
-  ipfiremake cups
-  ipfiremake ghostscript
-  ipfiremake lcms2
-  ipfiremake qpdf
-  ipfiremake poppler
-  ipfiremake cups-filters
-  ipfiremake epson-inkjet-printer-escpr
-  ipfiremake foomatic
-  ipfiremake hplip
-  ipfiremake cifs-utils
-  ipfiremake krb5
-  ipfiremake samba
-  ipfiremake sudo
-  ipfiremake mc
-  ipfiremake wget
-  ipfiremake bridge-utils
-  ipfiremake screen
-  ipfiremake smartmontools
-  ipfiremake htop
-  ipfiremake chkconfig
-  ipfiremake postfix
-  ipfiremake fetchmail
-  ipfiremake cyrus-imapd
-  ipfiremake openmailadmin
-  ipfiremake clamav
-  ipfiremake spamassassin
-  ipfiremake amavisd
-  ipfiremake dma
-  ipfiremake alsa
-  ipfiremake mpfire
-  ipfiremake guardian
-  ipfiremake libid3tag
-  ipfiremake libmad
-  ipfiremake libogg
-  ipfiremake libvorbis
-  ipfiremake libdvbpsi
-  ipfiremake flac
-  ipfiremake lame
-  ipfiremake sox
-  ipfiremake libshout
-  ipfiremake xvid
-  ipfiremake libmpeg2
-  ipfiremake libarchive
-  ipfiremake cmake
-  ipfiremake gnump3d
-  ipfiremake rsync
-  ipfiremake tcpwrapper
-  ipfiremake libtirpc
-  ipfiremake rpcbind
-  ipfiremake nfs
-  ipfiremake gnu-netcat
-  ipfiremake ncat
-  ipfiremake nmap
-  ipfiremake ncftp
-  ipfiremake etherwake
-  ipfiremake bwm-ng
-  ipfiremake sysstat
-  ipfiremake vsftpd
-  ipfiremake strongswan
-  ipfiremake rng-tools
-  ipfiremake lsof
-  ipfiremake br2684ctl
-  ipfiremake pcmciautils
-  ipfiremake lm_sensors
-  ipfiremake liboping
-  ipfiremake collectd
-  ipfiremake elinks
-  ipfiremake igmpproxy
-  ipfiremake fbset
-  ipfiremake opus
-  ipfiremake python-six
-  ipfiremake python-pyparsing
-  ipfiremake spice-protocol
-  ipfiremake spice
-  ipfiremake sdl
-  ipfiremake libusbredir
-  ipfiremake qemu
-  ipfiremake sane
-  ipfiremake netpbm
-  ipfiremake phpSANE
-  ipfiremake tunctl
-  ipfiremake netsnmpd
-  ipfiremake nagios
-  ipfiremake nagios_nrpe
-  ipfiremake icinga
-  ipfiremake ebtables
-  ipfiremake directfb
-  ipfiremake dfb++
-  ipfiremake faad2
-  ipfiremake ffmpeg
-  ipfiremake vdr
-  ipfiremake vdr_streamdev
-  ipfiremake vdr_vnsiserver5
-  ipfiremake vdr_epgsearch
-  ipfiremake vdr_dvbapi
-  ipfiremake vdr_eepg
-  ipfiremake w_scan
-  ipfiremake icecast
-  ipfiremake icegenerator
-  ipfiremake mpd
-  ipfiremake libmpdclient
-  ipfiremake mpc
-  ipfiremake perl-Net-SMTP-SSL
-  ipfiremake perl-MIME-Base64
-  ipfiremake perl-Authen-SASL
-  ipfiremake perl-MIME-Lite
-  ipfiremake perl-Email-Date-Format
-  ipfiremake git
-  ipfiremake squidclamav
-  ipfiremake vnstat
-  ipfiremake iw
-  ipfiremake wpa_supplicant
-  ipfiremake hostapd
-  ipfiremake pycurl
-  ipfiremake urlgrabber
-  ipfiremake syslinux
-  ipfiremake tftpd
-  ipfiremake cpufrequtils
-  ipfiremake bluetooth
-  ipfiremake gutenprint
-  ipfiremake apcupsd
-  ipfiremake iperf
-  ipfiremake iperf3
-  ipfiremake 7zip
-  ipfiremake lynis
-  ipfiremake streamripper
-  ipfiremake sshfs
-  ipfiremake taglib
-  #ipfiremake mediatomb
-  ipfiremake sslh
-  ipfiremake perl-gettext
-  ipfiremake perl-Sort-Naturally
-  ipfiremake vdradmin
-  ipfiremake miau
-  ipfiremake perl-DBI
-  ipfiremake perl-DBD-mysql
-  ipfiremake perl-DBD-SQLite
-  ipfiremake perl-File-ReadBackwards
-  ipfiremake cacti
-  ipfiremake openvmtools
-  ipfiremake nagiosql
-  ipfiremake iftop
-  ipfiremake motion
-  ipfiremake joe
-  ipfiremake monit
-  ipfiremake nut
-  ipfiremake watchdog
-  ipfiremake libpri
-  ipfiremake libsrtp
-  ipfiremake asterisk
-  ipfiremake lcr
-  ipfiremake usb_modeswitch
-  ipfiremake usb_modeswitch_data
-  ipfiremake zerofree
-  ipfiremake pound
-  ipfiremake minicom
-  ipfiremake ddrescue
-  ipfiremake imspector
-  ipfiremake miniupnpd
-  ipfiremake client175
-  ipfiremake powertop
-  ipfiremake parted
-  ipfiremake swig
-  ipfiremake python-m2crypto
-  ipfiremake wireless-regdb
-  ipfiremake crda
-  ipfiremake libsolv
-  ipfiremake python-distutils-extra
-  ipfiremake python-lzma
-  ipfiremake python-progressbar
-  ipfiremake python-xattr
-  ipfiremake ddns
-  ipfiremake transmission
-  ipfiremake dpfhack
-  ipfiremake lcd4linux
-  ipfiremake mtr
-  ipfiremake tcpick
-  ipfiremake minidlna
-  ipfiremake acpid
-  ipfiremake fping
-  ipfiremake telnet
-  ipfiremake xinetd
-  ipfiremake gpgme
-  ipfiremake pygpgme
-  ipfiremake pakfire3
-  ipfiremake stress
-  ipfiremake libstatgrab
-  ipfiremake sarg
-  ipfiremake check_mk_agent
-  ipfiremake nginx
-  ipfiremake sendEmail
-  ipfiremake sysbench
-  ipfiremake strace
-  ipfiremake elfutils
-  ipfiremake ltrace
-  ipfiremake ipfire-netboot
-  ipfiremake lcdproc
-  ipfiremake bitstream
-  ipfiremake multicat
-  ipfiremake keepalived
-  ipfiremake ipvsadm
-  ipfiremake perl-Carp-Clan
-  ipfiremake perl-Date-Calc
-  ipfiremake perl-Date-Manip
-  ipfiremake perl-File-Tail
-  ipfiremake perl-TimeDate
-  ipfiremake swatch
-  ipfiremake tor
-  ipfiremake arm
-  ipfiremake wavemon
-  ipfiremake iptraf-ng
-  ipfiremake iotop
-  ipfiremake stunnel
-  ipfiremake sslscan
-  ipfiremake owncloud
-  ipfiremake bacula
-  ipfiremake batctl
-  ipfiremake perl-PDF-API2
-  ipfiremake squid-accounting
-  ipfiremake pigz
-  ipfiremake tmux
-  ipfiremake perl-Text-CSV_XS
-  ipfiremake swconfig
-  ipfiremake haproxy
-  ipfiremake ipset
-  ipfiremake lua
-  ipfiremake dnsdist
-  ipfiremake bird
-  ipfiremake dmidecode
-  ipfiremake mcelog
-  ipfiremake rtpproxy
-  ipfiremake util-macros
-  ipfiremake libpciaccess
-  ipfiremake libyajl
-  ipfiremake libvirt
-  ipfiremake python3-libvirt
-  ipfiremake freeradius
-  ipfiremake perl-common-sense
-  ipfiremake perl-inotify2
-  ipfiremake perl-Net-IP
+  lfsmake2 xtables-addons                      USPACE="1"
+  lfsmake2 openssl
+  [ "${BUILD_ARCH}" = "i586" ] && lfsmake2 openssl KCFG='-sse2'
+  lfsmake2 libgpg-error
+  lfsmake2 libgcrypt
+  lfsmake2 libassuan
+  lfsmake2 nettle
+  lfsmake2 libevent
+  lfsmake2 libevent2
+  lfsmake2 libevent2-compat
+  lfsmake2 expat
+  lfsmake2 unbound
+  lfsmake2 gnutls
+  lfsmake2 bind
+  lfsmake2 dhcp
+  lfsmake2 dhcpcd
+  lfsmake2 boost
+  lfsmake2 linux-atm
+  lfsmake2 gdbm
+  lfsmake2 pam
+  lfsmake2 curl
+  lfsmake2 tcl
+  lfsmake2 sqlite
+  lfsmake2 libffi
+  lfsmake2 python
+  lfsmake2 python3
+  lfsmake2 ca-certificates
+  lfsmake2 fireinfo
+  lfsmake2 libnet
+  lfsmake2 libnl
+  lfsmake2 libnl-3
+  lfsmake2 libidn
+  lfsmake2 nasm
+  lfsmake2 libjpeg
+  lfsmake2 libjpeg-compat
+  lfsmake2 libexif
+  lfsmake2 libpng
+  lfsmake2 libtiff
+  lfsmake2 libart
+  lfsmake2 gd
+  lfsmake2 popt
+  lfsmake2 pcre
+  lfsmake2 slang
+  lfsmake2 newt
+  lfsmake2 libsmooth
+  lfsmake2 attr
+  lfsmake2 acl
+  lfsmake2 libcap
+  lfsmake2 pciutils
+  lfsmake2 usbutils
+  lfsmake2 libxml2
+  lfsmake2 libxslt
+  lfsmake2 BerkeleyDB
+  lfsmake2 mysql
+  lfsmake2 cyrus-sasl
+  lfsmake2 openldap
+  lfsmake2 apache2
+  lfsmake2 php
+  lfsmake2 web-user-interface
+  lfsmake2 flag-icons
+  lfsmake2 jquery
+  lfsmake2 arping
+  lfsmake2 beep
+  lfsmake2 dvdrtools
+  lfsmake2 dosfstools
+  lfsmake2 reiserfsprogs
+  lfsmake2 xfsprogs
+  lfsmake2 sysfsutils
+  lfsmake2 fuse
+  lfsmake2 ntfs-3g
+  lfsmake2 ethtool
+  lfsmake2 ez-ipupdate
+  lfsmake2 fcron
+  lfsmake2 perl-GD
+  lfsmake2 GD-Graph
+  lfsmake2 GD-TextUtil
+  lfsmake2 perl-Device-SerialPort
+  lfsmake2 perl-Device-Modem
+  lfsmake2 perl-Apache-Htpasswd
+  lfsmake2 gnupg
+  lfsmake2 hdparm
+  lfsmake2 sdparm
+  lfsmake2 mtools
+  lfsmake2 whatmask
+  lfsmake2 conntrack-tools
+  lfsmake2 libupnp
+  lfsmake2 ipaddr
+  lfsmake2 iputils
+  lfsmake2 l7-protocols
+  lfsmake2 mISDNuser
+  lfsmake2 capi4k-utils
+  lfsmake2 hwdata
+  lfsmake2 logrotate
+  lfsmake2 logwatch
+  lfsmake2 misc-progs
+  lfsmake2 nano
+  lfsmake2 URI
+  lfsmake2 HTML-Tagset
+  lfsmake2 HTML-Parser
+  lfsmake2 HTML-Template
+  lfsmake2 Compress-Zlib
+  lfsmake2 Digest
+  lfsmake2 Digest-SHA1
+  lfsmake2 Digest-HMAC
+  lfsmake2 libwww-perl
+  lfsmake2 Net-DNS
+  lfsmake2 Net-IPv4Addr
+  lfsmake2 Net_SSLeay
+  lfsmake2 IO-Stringy
+  lfsmake2 IO-Socket-SSL
+  lfsmake2 Unix-Syslog
+  lfsmake2 Mail-Tools
+  lfsmake2 MIME-Tools
+  lfsmake2 Net-Server
+  lfsmake2 Convert-TNEF
+  lfsmake2 Convert-UUlib
+  lfsmake2 Archive-Tar
+  lfsmake2 Archive-Zip
+  lfsmake2 Text-Tabs+Wrap
+  lfsmake2 Locale-Country
+  lfsmake2 XML-Parser
+  lfsmake2 Crypt-PasswdMD5
+  lfsmake2 Net-Telnet
+  lfsmake2 python-setuptools
+  lfsmake2 python-clientform
+  lfsmake2 python-mechanize
+  lfsmake2 python-feedparser
+  lfsmake2 python-rssdler
+  lfsmake2 python-inotify
+  lfsmake2 python-docutils
+  lfsmake2 python-daemon
+  lfsmake2 python-ipaddress
+  lfsmake2 glib
+  lfsmake2 GeoIP
+  lfsmake2 fwhits
+  lfsmake2 noip_updater
+  lfsmake2 ntp
+  lfsmake2 openssh
+  lfsmake2 fontconfig
+  lfsmake2 dejavu-fonts-ttf
+  lfsmake2 freefont
+  lfsmake2 pixman
+  lfsmake2 cairo
+  lfsmake2 pango
+  lfsmake2 rrdtool
+  lfsmake2 setserial
+  lfsmake2 setup
+  lfsmake2 libdnet
+  lfsmake2 daq
+  lfsmake2 snort
+  lfsmake2 oinkmaster
+  lfsmake2 squid
+  lfsmake2 squidguard
+  lfsmake2 calamaris
+  lfsmake2 tcpdump
+  lfsmake2 traceroute
+  lfsmake2 vlan
+  lfsmake2 wireless
+  lfsmake2 pakfire
+  lfsmake2 spandsp
+  lfsmake2 lzo
+  lfsmake2 openvpn
+  lfsmake2 pammysql
+  lfsmake2 mpage
+  lfsmake2 dbus
+  lfsmake2 intltool
+  lfsmake2 libdaemon
+  lfsmake2 cups
+  lfsmake2 lcms2
+  lfsmake2 ghostscript
+  lfsmake2 qpdf
+  lfsmake2 poppler
+  lfsmake2 cups-filters
+  lfsmake2 epson-inkjet-printer-escpr
+  lfsmake2 foomatic
+  lfsmake2 hplip
+  lfsmake2 cifs-utils
+  lfsmake2 krb5
+  lfsmake2 samba
+  lfsmake2 sudo
+  lfsmake2 mc
+  lfsmake2 wget
+  lfsmake2 bridge-utils
+  lfsmake2 screen
+  lfsmake2 smartmontools
+  lfsmake2 htop
+  lfsmake2 chkconfig
+  lfsmake2 postfix
+  lfsmake2 fetchmail
+  lfsmake2 cyrus-imapd
+  lfsmake2 openmailadmin
+  lfsmake2 clamav
+  lfsmake2 spamassassin
+  lfsmake2 amavisd
+  lfsmake2 dma
+  lfsmake2 alsa
+  lfsmake2 mpfire
+  lfsmake2 guardian
+  lfsmake2 libid3tag
+  lfsmake2 libmad
+  lfsmake2 libogg
+  lfsmake2 libvorbis
+  lfsmake2 libdvbpsi
+  lfsmake2 flac
+  lfsmake2 lame
+  lfsmake2 sox
+  lfsmake2 libshout
+  lfsmake2 xvid
+  lfsmake2 libmpeg2
+  lfsmake2 libarchive
+  lfsmake2 cmake
+  lfsmake2 gnump3d
+  lfsmake2 rsync
+  lfsmake2 tcpwrapper
+  lfsmake2 libtirpc
+  lfsmake2 rpcbind
+  lfsmake2 nfs
+  lfsmake2 gnu-netcat
+  lfsmake2 ncat
+  lfsmake2 nmap
+  lfsmake2 ncftp
+  lfsmake2 etherwake
+  lfsmake2 bwm-ng
+  lfsmake2 sysstat
+  lfsmake2 vsftpd
+  lfsmake2 strongswan
+  lfsmake2 rng-tools
+  lfsmake2 lsof
+  lfsmake2 br2684ctl
+  lfsmake2 pcmciautils
+  lfsmake2 lm_sensors
+  lfsmake2 liboping
+  lfsmake2 collectd
+  lfsmake2 elinks
+  lfsmake2 igmpproxy
+  lfsmake2 fbset
+  lfsmake2 opus
+  lfsmake2 python-six
+  lfsmake2 python-pyparsing
+  lfsmake2 spice-protocol
+  lfsmake2 spice
+  lfsmake2 sdl
+  lfsmake2 libusbredir
+  lfsmake2 qemu
+  lfsmake2 sane
+  lfsmake2 netpbm
+  lfsmake2 phpSANE
+  lfsmake2 tunctl
+  lfsmake2 netsnmpd
+  lfsmake2 nagios
+  lfsmake2 nagios_nrpe
+  lfsmake2 icinga
+  lfsmake2 ebtables
+  lfsmake2 directfb
+  lfsmake2 faad2
+  lfsmake2 ffmpeg
+  lfsmake2 vdr
+  lfsmake2 vdr_streamdev
+  lfsmake2 vdr_epgsearch
+  lfsmake2 vdr_dvbapi
+  lfsmake2 vdr_eepg
+  lfsmake2 w_scan
+  lfsmake2 icecast
+  lfsmake2 icegenerator
+  lfsmake2 mpd
+  lfsmake2 libmpdclient
+  lfsmake2 mpc
+  lfsmake2 perl-Net-SMTP-SSL
+  lfsmake2 perl-MIME-Base64
+  lfsmake2 perl-Authen-SASL
+  lfsmake2 perl-MIME-Lite
+  lfsmake2 perl-Email-Date-Format
+  lfsmake2 git
+  lfsmake2 squidclamav
+  lfsmake2 vnstat
+  lfsmake2 iw
+  lfsmake2 wpa_supplicant
+  lfsmake2 hostapd
+  lfsmake2 pycurl
+  lfsmake2 urlgrabber
+  lfsmake2 syslinux
+  lfsmake2 tftpd
+  lfsmake2 cpufrequtils
+  lfsmake2 bluetooth
+  lfsmake2 gutenprint
+  lfsmake2 apcupsd
+  lfsmake2 iperf
+  lfsmake2 iperf3
+  lfsmake2 7zip
+  lfsmake2 lynis
+  lfsmake2 streamripper
+  lfsmake2 sshfs
+  lfsmake2 taglib
+  #lfsmake2 mediatomb
+  lfsmake2 sslh
+  lfsmake2 perl-gettext
+  lfsmake2 perl-Sort-Naturally
+  lfsmake2 vdradmin
+  lfsmake2 miau
+  lfsmake2 perl-DBI
+  lfsmake2 perl-DBD-mysql
+  lfsmake2 perl-DBD-SQLite
+  lfsmake2 perl-File-ReadBackwards
+  lfsmake2 cacti
+  lfsmake2 openvmtools
+  lfsmake2 nagiosql
+  lfsmake2 motion
+  lfsmake2 joe
+  lfsmake2 monit
+  lfsmake2 nut
+  lfsmake2 watchdog
+  lfsmake2 libpri
+  lfsmake2 libsrtp
+  lfsmake2 asterisk
+  lfsmake2 lcr
+  lfsmake2 usb_modeswitch
+  lfsmake2 usb_modeswitch_data
+  lfsmake2 zerofree
+  lfsmake2 pound
+  lfsmake2 minicom
+  lfsmake2 ddrescue
+  lfsmake2 miniupnpd
+  lfsmake2 client175
+  lfsmake2 powertop
+  lfsmake2 parted
+  lfsmake2 swig
+  lfsmake2 python-m2crypto
+  lfsmake2 wireless-regdb
+  lfsmake2 crda
+  lfsmake2 libsolv
+  lfsmake2 python-distutils-extra
+  lfsmake2 python-lzma
+  lfsmake2 python-progressbar
+  lfsmake2 python-xattr
+  lfsmake2 ddns
+  lfsmake2 transmission
+  lfsmake2 dpfhack
+  lfsmake2 lcd4linux
+  lfsmake2 mtr
+  lfsmake2 minidlna
+  lfsmake2 acpid
+  lfsmake2 fping
+  lfsmake2 telnet
+  lfsmake2 xinetd
+  lfsmake2 gpgme
+  lfsmake2 pygpgme
+  lfsmake2 pakfire3
+  lfsmake2 stress
+  lfsmake2 libstatgrab
+  lfsmake2 sarg
+  lfsmake2 check_mk_agent
+  lfsmake2 nginx
+  lfsmake2 sendEmail
+  lfsmake2 sysbench
+  lfsmake2 strace
+  lfsmake2 elfutils
+  lfsmake2 ltrace
+  lfsmake2 ipfire-netboot
+  lfsmake2 lcdproc
+  lfsmake2 bitstream
+  lfsmake2 multicat
+  lfsmake2 keepalived
+  lfsmake2 ipvsadm
+  lfsmake2 perl-Carp-Clan
+  lfsmake2 perl-Date-Calc
+  lfsmake2 perl-Date-Manip
+  lfsmake2 perl-File-Tail
+  lfsmake2 perl-TimeDate
+  lfsmake2 swatch
+  lfsmake2 tor
+  lfsmake2 arm
+  lfsmake2 wavemon
+  lfsmake2 iptraf-ng
+  lfsmake2 iotop
+  lfsmake2 stunnel
+  lfsmake2 sslscan
+  lfsmake2 owncloud
+  lfsmake2 bacula
+  lfsmake2 batctl
+  lfsmake2 perl-PDF-API2
+  lfsmake2 squid-accounting
+  lfsmake2 pigz
+  lfsmake2 tmux
+  lfsmake2 perl-Text-CSV_XS
+  lfsmake2 swconfig
+  lfsmake2 haproxy
+  lfsmake2 ipset
+  lfsmake2 lua
+  lfsmake2 dnsdist
+  lfsmake2 bird
+  lfsmake2 dmidecode
+  lfsmake2 mcelog
+  lfsmake2 rtpproxy
+  lfsmake2 util-macros
+  lfsmake2 libpciaccess
+  lfsmake2 libyajl
+  lfsmake2 libvirt
+  lfsmake2 python3-libvirt
+  lfsmake2 freeradius
+  lfsmake2 perl-common-sense
+  lfsmake2 perl-inotify2
+  lfsmake2 perl-Net-IP
 }
 
 buildinstaller() {
   # Run installer scripts one by one
   LOGFILE="$BASEDIR/log/_build.installer.log"
   export LOGFILE
-  ipfiremake memtest
-  ipfiremake installer
-  installmake strip
+  lfsmake2 memtest
+  lfsmake2 installer
+  lfsmake1 strip
 }
 
 buildpackages() {
@@ -925,26 +926,26 @@ buildpackages() {
   git log -n 500 --no-merges --pretty=medium --shortstat $EXT > $BASEDIR/doc/ChangeLog
 
   # Create images for install
-  ipfiremake cdrom
+  lfsmake2 cdrom
 
   # Check if there is a loop device for building in virtual environments
   modprobe loop 2>/dev/null
   if [ $BUILD_IMAGES == 1 ] && ([ -e /dev/loop/0 ] || [ -e /dev/loop0 ] || [ -e "/dev/loop-control" ]); then
-       ipfiremake flash-images
-       ipfiremake flash-images SCON=1
+       lfsmake2 flash-images
+       lfsmake2 flash-images SCON=1
   fi
 
   mv $LFS/install/images/{*.iso,*.tgz,*.img.gz,*.bz2} $BASEDIR >> $LOGFILE 2>&1
 
   ipfirepackages
 
-  ipfiremake xen-image
+  lfsmake2 xen-image
   mv $LFS/install/images/*.bz2 $BASEDIR >> $LOGFILE 2>&1
 
   cd $BASEDIR
 
   # remove not useable iso on armv5tel (needed to build flash images)
-  [ "${TARGET_ARCH}" = "armv5tel" ] && rm -rf *.iso
+  [ "${BUILD_ARCH}" = "armv5tel" ] && rm -rf *.iso
 
   for i in `ls *.bz2 *.img.gz *.iso`; do
        md5sum $i > $i.md5
@@ -972,10 +973,10 @@ buildpackages() {
 }
 
 ipfirepackages() {
-       ipfiremake core-updates
+       lfsmake2 core-updates
 
        local i
-       for i in $(find $BASEDIR/config/rootfiles/packages{/${MACHINE},} -maxdepth 1 -type f); do
+       for i in $(find $BASEDIR/config/rootfiles/packages{/${BUILD_ARCH},} -maxdepth 1 -type f); do
                i=$(basename ${i})
                if [ -e $BASEDIR/lfs/$i ]; then
                        ipfiredist $i
@@ -992,7 +993,7 @@ ipfirepackages() {
 while [ $# -gt 0 ]; do
        case "${1}" in
                --target=*)
-                       configure_target "${1#--target=}"
+                       configure_build "${1#--target=}"
                        ;;
                -*)
                        exiterror "Unknown configuration option: ${1}"
@@ -1009,11 +1010,11 @@ done
 case "$1" in 
 build)
        clear
-       PACKAGE=`ls -v -r $BASEDIR/cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE.tar.gz 2> /dev/null | head -n 1`
+       PACKAGE=`ls -v -r $BASEDIR/cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-${BUILD_ARCH}.tar.gz 2> /dev/null | head -n 1`
        #only restore on a clean disk
-       if [ ! -f log/cleanup-toolchain-2-tools ]; then
+       if [ ! -e "${BASEDIR}/build/tools/.toolchain-successful" ]; then
                if [ ! -n "$PACKAGE" ]; then
-                       beautify build_stage "Full toolchain compilation - Native GCC: `gcc --version | grep GCC | awk {'print $3'}`"
+                       beautify build_stage "Full toolchain compilation"
                        prepareenv
                        buildtoolchain
                else
@@ -1103,7 +1104,7 @@ downloadsrc)
                        if [ -f "$i" -a "$i" != "Config" ]; then
                                lfsmakecommoncheck ${i} || continue
 
-                               make -s -f $i LFS_BASEDIR=$BASEDIR MACHINE=$MACHINE \
+                               make -s -f $i LFS_BASEDIR=$BASEDIR BUILD_ARCH="${BUILD_ARCH}" \
                                        MESSAGE="$i\t ($c/$MAX_RETRIES)" download >> $LOGFILE 2>&1
                                if [ $? -ne 0 ]; then
                                        beautify message FAIL
@@ -1121,7 +1122,7 @@ downloadsrc)
        for i in *; do
                if [ -f "$i" -a "$i" != "Config" ]; then
                        lfsmakecommoncheck ${i} > /dev/null || continue
-                       make -s -f $i LFS_BASEDIR=$BASEDIR MACHINE=$MACHINE \
+                       make -s -f $i LFS_BASEDIR=$BASEDIR BUILD_ARCH="${BUILD_ARCH}" \
                                MESSAGE="$i\t " md5 >> $LOGFILE 2>&1
                        if [ $? -ne 0 ]; then
                                echo -ne "MD5 difference in lfs/$i"
@@ -1144,25 +1145,25 @@ toolchain)
        prepareenv
        beautify build_stage "Toolchain compilation - Native GCC: `gcc --version | grep GCC | awk {'print $3'}`"
        buildtoolchain
-       echo "`date -u '+%b %e %T'`: Create toolchain tar.gz for $MACHINE" | tee -a $LOGFILE
+       echo "`date -u '+%b %e %T'`: Create toolchain tar.gz for ${BUILD_ARCH}" | tee -a $LOGFILE
        test -d $BASEDIR/cache/toolchains || mkdir -p $BASEDIR/cache/toolchains
-       cd $BASEDIR && tar -zc --exclude='log/_build.*.log' -f cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE.tar.gz \
+       cd $BASEDIR && tar -zc --exclude='log/_build.*.log' -f cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-${BUILD_ARCH}.tar.gz \
                build/tools build/bin/sh log >> $LOGFILE
-       md5sum cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE.tar.gz \
-               > cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE.md5
+       md5sum cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-${BUILD_ARCH}.tar.gz \
+               > cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-${BUILD_ARCH}.md5
        stdumount
        ;;
 gettoolchain)
        # arbitrary name to be updated in case of new toolchain package upload
-       PACKAGE=$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE
+       PACKAGE=$SNAME-$VERSION-toolchain-$TOOLCHAINVER-${BUILD_ARCH}
        if [ ! -f $BASEDIR/cache/toolchains/$PACKAGE.tar.gz ]; then
                URL_TOOLCHAIN=`grep URL_TOOLCHAIN lfs/Config | awk '{ print $3 }'`
                test -d $BASEDIR/cache/toolchains || mkdir -p $BASEDIR/cache/toolchains
-               echo "`date -u '+%b %e %T'`: Load toolchain tar.gz for $MACHINE" | tee -a $LOGFILE
+               echo "`date -u '+%b %e %T'`: Load toolchain tar.gz for ${BUILD_ARCH}" | tee -a $LOGFILE
                cd $BASEDIR/cache/toolchains
                wget -U "IPFireSourceGrabber/2.x" $URL_TOOLCHAIN/$PACKAGE.tar.gz $URL_TOOLCHAIN/$PACKAGE.md5 >& /dev/null
                if [ $? -ne 0 ]; then
-                       echo "`date -u '+%b %e %T'`: error downloading $PACKAGE toolchain for $MACHINE machine" | tee -a $LOGFILE
+                       echo "`date -u '+%b %e %T'`: error downloading $PACKAGE toolchain for ${BUILD_ARCH} machine" | tee -a $LOGFILE
                else
                        if [ "`md5sum $PACKAGE.tar.gz | awk '{print $1}'`" = "`cat $PACKAGE.md5 | awk '{print $1}'`" ]; then
                                echo "`date -u '+%b %e %T'`: toolchain md5 ok" | tee -a $LOGFILE
@@ -1176,11 +1177,11 @@ gettoolchain)
        ;;
 othersrc)
        prepareenv
-       echo -ne "`date -u '+%b %e %T'`: Build sources iso for $MACHINE" | tee -a $LOGFILE
+       echo -ne "`date -u '+%b %e %T'`: Build sources iso for ${BUILD_ARCH}" | tee -a $LOGFILE
        chroot $LFS /tools/bin/env -i   HOME=/root \
        TERM=$TERM PS1='\u:\w\$ ' \
        PATH=/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin \
-       VERSION=$VERSION NAME="$NAME" SNAME="$SNAME" MACHINE=$MACHINE \
+       VERSION=$VERSION NAME="$NAME" SNAME="$SNAME" BUILD_ARCH="${BUILD_ARCH}" \
        /bin/bash -x -c "cd /usr/src/lfs && make -f sources-iso LFS_BASEDIR=/usr/src install" >>$LOGFILE 2>&1
        mv $LFS/install/images/ipfire-* $BASEDIR >> $LOGFILE 2>&1
        if [ $? -eq "0" ]; then
diff --git a/src/initscripts/packages/imspector b/src/initscripts/packages/imspector
deleted file mode 100644 (file)
index 7a5a986..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/bin/sh
-# Begin $rc_base/init.d/imspector
-
-. /etc/sysconfig/rc
-. $rc_functions
-
-case "$1" in
-       start)
-               boot_mesg "Inserting imspector redirects..."
-                       iptables -t nat -A CUSTOMPREROUTING -p tcp --destination-port 1863 -j REDIRECT --to-ports 16667
-                       iptables -t nat -A CUSTOMPREROUTING -p tcp --destination-port 5222 -j REDIRECT --to-ports 16667
-                       iptables -t nat -A CUSTOMPREROUTING -p tcp --destination-port 5223 -j REDIRECT --to-ports 16667
-                       iptables -t nat -A CUSTOMPREROUTING -p tcp --destination-port 5190 -j REDIRECT --to-ports 16667
-                       iptables -t nat -A CUSTOMPREROUTING -p tcp --destination-port 5050 -j REDIRECT --to-ports 16667
-                       iptables -t nat -A CUSTOMPREROUTING -p tcp --destination-port 6667 -j REDIRECT --to-ports 16667
-                       iptables -t nat -A CUSTOMPREROUTING -p tcp --destination-port 8074 -j REDIRECT --to-ports 16667
-
-               boot_mesg "Starting imspector Deamon..."
-                       loadproc imspector -c /etc/imspector/imspector.conf
-                       evaluate_retval 
-               ;;
-
-       stop)
-               boot_mesg "Stopping imspector Deamon..."
-               killproc /usr/sbin/imspector
-               evaluate_retval
-
-               boot_mesg "Remove imspector redirects..."
-                       iptables -t nat -D CUSTOMPREROUTING -p tcp --destination-port 1863 -j REDIRECT --to-ports 16667
-                       iptables -t nat -D CUSTOMPREROUTING -p tcp --destination-port 5222 -j REDIRECT --to-ports 16667
-                       iptables -t nat -D CUSTOMPREROUTING -p tcp --destination-port 5223 -j REDIRECT --to-ports 16667
-                       iptables -t nat -D CUSTOMPREROUTING -p tcp --destination-port 5190 -j REDIRECT --to-ports 16667
-                       iptables -t nat -D CUSTOMPREROUTING -p tcp --destination-port 5050 -j REDIRECT --to-ports 16667
-                       iptables -t nat -D CUSTOMPREROUTING -p tcp --destination-port 6667 -j REDIRECT --to-ports 16667
-                       iptables -t nat -D CUSTOMPREROUTING -p tcp --destination-port 8074 -j REDIRECT --to-ports 16667
-               ;;
-
-       restart)
-               $0 stop
-               sleep 1
-               $0 start
-               ;;
-
-       status)
-               statusproc /usr/sbin/imspector
-               ;;
-
-       *)
-               echo "Usage: $0 {start|stop|restart|status}"
-               exit 1
-               ;;
-esac
-
-# End $rc_base/init.d/imspector
index a27d09ed6130782f77f27cd1e11164b461112d16..1653c9abf3668e4e5db3f746cd6a6f0f30e7cbbc 100644 (file)
@@ -29,6 +29,9 @@ ln -svf  ../init.d/mysql /etc/rc.d/rc0.d/K26mysql
 ln -svf  ../init.d/mysql /etc/rc.d/rc3.d/S34mysql
 ln -svf  ../init.d/mysql /etc/rc.d/rc6.d/K26mysql
 
+# Initialise database
+mysql_install_db --user=mysql
+
 restore_backup "${NAME}"
 
 start_service "${NAME}"
diff --git a/src/paks/vdr_vnsiserver5/install.sh b/src/paks/vdr_vnsiserver5/install.sh
deleted file mode 100644 (file)
index 3bb613e..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash
-############################################################################
-#                                                                          #
-# This file is part of the IPFire Firewall.                                #
-#                                                                          #
-# IPFire 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.                                      #
-#                                                                          #
-# IPFire is distributed in the hope that 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 IPFire; if not, write to the Free Software                    #
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
-#                                                                          #
-# Copyright (C) 2007 IPFire-Team <info@ipfire.org>.                        #
-#                                                                          #
-############################################################################
-#
-. /opt/pakfire/lib/functions.sh
-stop_service vdr
-extract_files
-start_service --background vdr
diff --git a/src/paks/vdr_vnsiserver5/uninstall.sh b/src/paks/vdr_vnsiserver5/uninstall.sh
deleted file mode 100644 (file)
index cb55446..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash
-############################################################################
-#                                                                          #
-# This file is part of the IPFire Firewall.                                #
-#                                                                          #
-# IPFire 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.                                      #
-#                                                                          #
-# IPFire is distributed in the hope that 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 IPFire; if not, write to the Free Software                    #
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
-#                                                                          #
-# Copyright (C) 2007 IPFire-Team <info@ipfire.org>.                        #
-#                                                                          #
-############################################################################
-#
-. /opt/pakfire/lib/functions.sh
-stop_service vdr
-remove_files
-start_service vdr --background
diff --git a/src/paks/vdr_vnsiserver5/update.sh b/src/paks/vdr_vnsiserver5/update.sh
deleted file mode 100644 (file)
index 89c40d0..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash
-############################################################################
-#                                                                          #
-# This file is part of the IPFire Firewall.                                #
-#                                                                          #
-# IPFire 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.                                      #
-#                                                                          #
-# IPFire is distributed in the hope that 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 IPFire; if not, write to the Free Software                    #
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
-#                                                                          #
-# Copyright (C) 2007 IPFire-Team <info@ipfire.org>.                        #
-#                                                                          #
-############################################################################
-#
-. /opt/pakfire/lib/functions.sh
-./uninstall.sh
-./install.sh
diff --git a/src/patches/SDL-1.2.11-asm-page.h.patch b/src/patches/SDL-1.2.11-asm-page.h.patch
deleted file mode 100644 (file)
index ece702d..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-diff -urN SDL-1.2.11.orig/src/video/fbcon/SDL_fbvideo.c SDL-1.2.11/src/video/fbcon/SDL_fbvideo.c
---- SDL-1.2.11.orig/src/video/fbcon/SDL_fbvideo.c      2006-05-17 06:16:06.000000000 +0300
-+++ SDL-1.2.11/src/video/fbcon/SDL_fbvideo.c   2007-06-24 22:19:41.000000000 +0300
-@@ -29,9 +29,17 @@
- #include <unistd.h>
- #include <sys/ioctl.h>
- #include <sys/mman.h>
--#include <asm/page.h>         /* For definition of PAGE_SIZE */
- #include <linux/vt.h>
-+#if defined(linux)
-+#define HAS_MMAP_ANON
-+#include <sys/types.h>
-+#include <sys/mman.h>
-+#include <asm/page.h>   /* PAGE_SIZE */
-+#define HAS_SC_PAGESIZE /* _SC_PAGESIZE may be an enum for Linux */
-+#define HAS_GETPAGESIZE
-+#endif /* linux */
-+
- #include "SDL_video.h"
- #include "SDL_mouse.h"
- #include "../SDL_sysvideo.h"
-@@ -474,6 +482,7 @@
-       unsigned int current_h;
-       const char *SDL_fbdev;
-       FILE *modesdb;
-+      int pagesize = -1;
-       /* Initialize the library */
-       SDL_fbdev = SDL_getenv("SDL_FBDEV");
-@@ -545,9 +554,27 @@
-               }
-       }
-+#if defined(_SC_PAGESIZE) && defined(HAS_SC_PAGESIZE)
-+      pagesize = sysconf(_SC_PAGESIZE);
-+#endif
-+#ifdef _SC_PAGE_SIZE
-+      if (pagesize == -1)
-+              pagesize = sysconf(_SC_PAGE_SIZE);
-+#endif
-+#ifdef HAS_GETPAGESIZE
-+      if (pagesize == -1)
-+              pagesize = getpagesize();
-+#endif
-+#ifdef PAGE_SIZE
-+      if (pagesize == -1)
-+              pagesize = PAGE_SIZE;
-+#endif
-+      if (pagesize == -1)
-+              pagesize = 4096;
-+
-       /* Memory map the device, compensating for buggy PPC mmap() */
-       mapped_offset = (((long)finfo.smem_start) -
--                      (((long)finfo.smem_start)&~(PAGE_SIZE-1)));
-+                      (((long)finfo.smem_start)&~(pagesize-1)));
-       mapped_memlen = finfo.smem_len+mapped_offset;
-       mapped_mem = do_mmap(NULL, mapped_memlen,
-                         PROT_READ|PROT_WRITE, MAP_SHARED, console_fd, 0);
diff --git a/src/patches/bash/bash32-052 b/src/patches/bash/bash32-052
deleted file mode 100644 (file)
index 78e7d92..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-052
-
-Bug-Reported-by:       Stephane Chazelas <stephane.chazelas@gmail.com>
-Bug-Reference-ID:
-Bug-Reference-URL:
-
-Bug-Description:
-
-Under certain circumstances, bash will execute user code while processing the
-environment for exported function definitions.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-3.2.51/builtins/common.h   2006-03-06 09:38:44.000000000 -0500
---- builtins/common.h  2014-09-16 19:08:02.000000000 -0400
-***************
-*** 34,37 ****
---- 34,39 ----
-  
-  /* Flags for describe_command, shared between type.def and command.def */
-+ #define SEVAL_FUNCDEF        0x080           /* only allow function definitions */
-+ #define SEVAL_ONECMD 0x100           /* only allow a single command */
-  #define CDESC_ALL            0x001   /* type -a */
-  #define CDESC_SHORTDESC              0x002   /* command -V */
-*** ../bash-3.2.51/builtins/evalstring.c       2008-11-15 17:47:04.000000000 -0500
---- builtins/evalstring.c      2014-09-16 19:08:02.000000000 -0400
-***************
-*** 235,238 ****
---- 235,246 ----
-             struct fd_bitmap *bitmap;
-  
-+            if ((flags & SEVAL_FUNCDEF) && command->type != cm_function_def)
-+              {
-+                internal_warning ("%s: ignoring function definition attempt", from_file);
-+                should_jump_to_top_level = 0;
-+                last_result = last_command_exit_value = EX_BADUSAGE;
-+                break;
-+              }
-+ 
-             bitmap = new_fd_bitmap (FD_BITMAP_SIZE);
-             begin_unwind_frame ("pe_dispose");
-***************
-*** 292,295 ****
---- 300,306 ----
-             dispose_fd_bitmap (bitmap);
-             discard_unwind_frame ("pe_dispose");
-+ 
-+            if (flags & SEVAL_ONECMD)
-+              break;
-           }
-       }
-*** ../bash-3.2.51/variables.c 2008-11-15 17:15:06.000000000 -0500
---- variables.c        2014-09-16 19:10:39.000000000 -0400
-***************
-*** 319,328 ****
-         strcpy (temp_string + char_index + 1, string);
-  
-!        parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST);
-! 
-!        /* Ancient backwards compatibility.  Old versions of bash exported
-!           functions like name()=() {...} */
-!        if (name[char_index - 1] == ')' && name[char_index - 2] == '(')
-!          name[char_index - 2] = '\0';
-  
-         if (temp_var = find_function (name))
---- 319,326 ----
-         strcpy (temp_string + char_index + 1, string);
-  
-!        /* Don't import function names that are invalid identifiers from the
-!           environment. */
-!        if (legal_identifier (name))
-!          parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD);
-  
-         if (temp_var = find_function (name))
-***************
-*** 333,340 ****
-         else
-           report_error (_("error importing function definition for `%s'"), name);
-- 
--        /* ( */
--        if (name[char_index - 1] == ')' && name[char_index - 2] == '\0')
--          name[char_index - 2] = '(';         /* ) */
-       }
-  #if defined (ARRAY_VARS)
---- 331,334 ----
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 51
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 52
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/bash/bash32-053 b/src/patches/bash/bash32-053
deleted file mode 100644 (file)
index e7efce7..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release: 3.2
-Patch-ID: bash32-053
-
-Bug-Reported-by:       Tavis Ormandy <taviso () cmpxchg8b com>
-Bug-Reference-ID:
-Bug-Reference-URL:     http://twitter.com/taviso/statuses/514887394294652929
-
-Bug-Description:
-
-Under certain circumstances, bash can incorrectly save a lookahead character and
-return it on a subsequent call, even when reading a new line.
-
-Patch:
-
-*** ../bash-3.2.52/parse.y     2008-04-29 21:24:55.000000000 -0400
---- parse.y    2014-09-25 16:18:41.000000000 -0400
-***************
-*** 2504,2507 ****
---- 2504,2509 ----
-    word_desc_to_read = (WORD_DESC *)NULL;
-  
-+   eol_ungetc_lookahead = 0;
-+ 
-    last_read_token = '\n';
-    token_to_read = '\n';
-*** ../bash-3.2.52/y.tab.c     2006-09-25 08:15:16.000000000 -0400
---- y.tab.c    2014-09-25 20:28:17.000000000 -0400
-***************
-*** 3833,3836 ****
---- 3833,3838 ----
-    word_desc_to_read = (WORD_DESC *)NULL;
-  
-+   eol_ungetc_lookahead = 0;
-+ 
-    last_read_token = '\n';
-    token_to_read = '\n';
-*** ../bash-3.2/patchlevel.h   Thu Apr 13 08:31:04 2006
---- patchlevel.h       Mon Oct 16 14:22:54 2006
-***************
-*** 26,30 ****
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 52
-  
-  #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
-     looks for to find the patch level (for the sccs version string). */
-  
-! #define PATCHLEVEL 53
-  
-  #endif /* _PATCHLEVEL_H_ */
diff --git a/src/patches/binutils-2.24-pt-pax-flags-20131231.patch b/src/patches/binutils-2.24-pt-pax-flags-20131231.patch
deleted file mode 100644 (file)
index cfb2035..0000000
+++ /dev/null
@@ -1,1030 +0,0 @@
---- binutils-2.24/bfd/elf-bfd.h
-+++ binutils-2.24/bfd/elf-bfd.h
-@@ -1577,6 +1577,9 @@ struct elf_obj_tdata
-   /* Segment flags for the PT_GNU_STACK segment.  */
-   unsigned int stack_flags;
-+  /* Segment flags for the PT_PAX_FLAGS segment.  */
-+  unsigned int pax_flags;
-+
-   /* This is set to TRUE if the object was created by the backend
-      linker.  */
-   bfd_boolean linker;
-@@ -1707,6 +1707,7 @@
- #define elf_eh_frame_hdr(bfd) (elf_tdata(bfd) -> o->eh_frame_hdr)
- #define elf_linker(bfd)               (elf_tdata(bfd) -> o->linker)
- #define elf_stack_flags(bfd)  (elf_tdata(bfd) -> o->stack_flags)
-+#define elf_pax_flags(bfd)    (elf_tdata(bfd) -> o->pax_flags)
- #define elf_shstrtab(bfd)     (elf_tdata(bfd) -> o->strtab_ptr)
- #define elf_onesymtab(bfd)    (elf_tdata(bfd) -> symtab_section)
- #define elf_symtab_shndx(bfd) (elf_tdata(bfd) -> symtab_shndx_section)
---- binutils-2.24/bfd/elf.c
-+++ binutils-2.24/bfd/elf.c
-@@ -1158,6 +1158,7 @@ get_segment_type (unsigned int p_type)
-     case PT_GNU_EH_FRAME: pt = "EH_FRAME"; break;
-     case PT_GNU_STACK: pt = "STACK"; break;
-     case PT_GNU_RELRO: pt = "RELRO"; break;
-+    case PT_PAX_FLAGS: pt = "PAX_FLAGS"; break;
-     default: pt = NULL; break;
-     }
-   return pt;
-@@ -2477,6 +2478,9 @@ bfd_section_from_phdr (bfd *abfd, Elf_Internal_Phdr *hdr, int hdr_index)
-     case PT_GNU_RELRO:
-       return _bfd_elf_make_section_from_phdr (abfd, hdr, hdr_index, "relro");
-+    case PT_PAX_FLAGS:
-+      return _bfd_elf_make_section_from_phdr (abfd, hdr, hdr_index, "pax_flags");
-+
-     default:
-       /* Check for any processor-specific program segment types.  */
-       bed = get_elf_backend_data (abfd);
-@@ -3551,6 +3555,11 @@ get_program_header_size (bfd *abfd, struct bfd_link_info *info)
-       ++segs;
-     }
-+    {
-+      /* We need a PT_PAX_FLAGS segment.  */
-+      ++segs;
-+    }
-+
-   for (s = abfd->sections; s != NULL; s = s->next)
-     {
-       if ((s->flags & SEC_LOAD) != 0
-@@ -4153,6 +4162,20 @@ _bfd_elf_map_sections_to_segments (bfd *abfd, struct bfd_link_info *info)
-           }
-       }
-+    {
-+      amt = sizeof (struct elf_segment_map);
-+      m = bfd_zalloc (abfd, amt);
-+      if (m == NULL)
-+      goto error_return;
-+      m->next = NULL;
-+      m->p_type = PT_PAX_FLAGS;
-+      m->p_flags = elf_pax_flags (abfd);
-+      m->p_flags_valid = 1;
-+
-+      *pm = m;
-+      pm = &m->next;
-+    }
-+
-       free (sections);
-       elf_tdata (abfd)->segment_map = mfirst;
-     }
-@@ -5417,7 +5440,8 @@ rewrite_elf_program_header (bfd *ibfd, bfd *obfd)
-        6. PT_TLS segment includes only SHF_TLS sections.
-        7. SHF_TLS sections are only in PT_TLS or PT_LOAD segments.
-        8. PT_DYNAMIC should not contain empty sections at the beginning
--        (with the possible exception of .dynamic).  */
-+        (with the possible exception of .dynamic).
-+       9. PT_PAX_FLAGS segments do not include any sections.  */
- #define IS_SECTION_IN_INPUT_SEGMENT(section, segment, bed)            \
-   ((((segment->p_paddr                                                        \
-       ? IS_CONTAINED_BY_LMA (section, segment, segment->p_paddr)      \
-@@ -5425,6 +5449,7 @@ rewrite_elf_program_header (bfd *ibfd, bfd *obfd)
-      && (section->flags & SEC_ALLOC) != 0)                            \
-     || IS_NOTE (segment, section))                                    \
-    && segment->p_type != PT_GNU_STACK                                 \
-+   && segment->p_type != PT_PAX_FLAGS                                 \
-    && (segment->p_type != PT_TLS                                      \
-        || (section->flags & SEC_THREAD_LOCAL))                                \
-    && (segment->p_type == PT_LOAD                                     \
---- binutils-2.24/bfd/elflink.c
-+++ binutils-2.24/bfd/elflink.c
-@@ -5545,17 +5545,30 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
-       && ! (*bed->elf_backend_always_size_sections) (output_bfd, info))
-     return FALSE;
-+  elf_pax_flags (output_bfd) = PF_NORANDEXEC;
-+  if (info->execheap)
-+    elf_pax_flags (output_bfd) |= PF_NOMPROTECT;
-+  else if (info->noexecheap)
-+    elf_pax_flags (output_bfd) |= PF_MPROTECT;
-+
-   /* Determine any GNU_STACK segment requirements, after the backend
-      has had a chance to set a default segment size.  */
-   if (info->execstack)
--    elf_stack_flags (output_bfd) = PF_R | PF_W | PF_X;
-+    {
-+      elf_stack_flags (output_bfd) = PF_R | PF_W | PF_X;
-+      elf_pax_flags (output_bfd) |= PF_EMUTRAMP;
-+    }
-   else if (info->noexecstack)
--    elf_stack_flags (output_bfd) = PF_R | PF_W;
-+    {
-+      elf_stack_flags (output_bfd) = PF_R | PF_W;
-+      elf_pax_flags (output_bfd) |= PF_NOEMUTRAMP;
-+    }
-   else
-     {
-       bfd *inputobj;
-       asection *notesec = NULL;
-       int exec = 0;
-+      elf_pax_flags (output_bfd) |= PF_NOEMUTRAMP;
-       for (inputobj = info->input_bfds;
-          inputobj;
-          inputobj = inputobj->link_next)
-@@ -5567,7 +5581,11 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
-         if (s)
-           {
-             if (s->flags & SEC_CODE)
--              exec = PF_X;
-+              {
-+                elf_pax_flags (output_bfd) &= ~PF_NOEMUTRAMP;
-+                elf_pax_flags (output_bfd) |= PF_EMUTRAMP;
-+                exec = PF_X;
-+              }
-             notesec = s;
-           }
-         else if (bed->default_execstack)
---- binutils-2.24/binutils/readelf.c
-+++ binutils-2.24/binutils/readelf.c
-@@ -2740,6 +2740,7 @@ get_segment_type (unsigned long p_type)
-                       return "GNU_EH_FRAME";
-     case PT_GNU_STACK:        return "GNU_STACK";
-     case PT_GNU_RELRO:  return "GNU_RELRO";
-+    case PT_PAX_FLAGS:  return "PAX_FLAGS";
-     default:
-       if ((p_type >= PT_LOPROC) && (p_type <= PT_HIPROC))
---- binutils-2.24/include/bfdlink.h
-+++ binutils-2.24/include/bfdlink.h
-@@ -322,6 +322,14 @@ struct bfd_link_info
-   /* TRUE if PT_GNU_RELRO segment should be created.  */
-   unsigned int relro: 1;
-+  /* TRUE if PT_PAX_FLAGS segment should be created with PF_NOMPROTECT
-+     flags.  */
-+  unsigned int execheap: 1;
-+
-+  /* TRUE if PT_PAX_FLAGS segment should be created with PF_MPROTECT
-+     flags.  */
-+  unsigned int noexecheap: 1;
-+
-   /* TRUE if .eh_frame_hdr section and PT_GNU_EH_FRAME ELF segment
-      should be created.  */
-   unsigned int eh_frame_hdr: 1;
---- binutils-2.24/include/elf/common.h
-+++ binutils-2.24/include/elf/common.h
-@@ -429,6 +429,7 @@
- #define PT_SUNW_EH_FRAME PT_GNU_EH_FRAME      /* Solaris uses the same value */
- #define PT_GNU_STACK  (PT_LOOS + 0x474e551) /* Stack flags */
- #define PT_GNU_RELRO  (PT_LOOS + 0x474e552) /* Read-only after relocation */
-+#define PT_PAX_FLAGS  (PT_LOOS + 0x5041580) /* PaX flags */
- /* Program segment permissions, in program header p_flags field.  */
-@@ -439,6 +440,21 @@
- #define PF_MASKOS     0x0FF00000      /* New value, Oct 4, 1999 Draft */
- #define PF_MASKPROC   0xF0000000      /* Processor-specific reserved bits */
-+/* Flags to control PaX behavior.  */
-+
-+#define PF_PAGEEXEC   (1 << 4)        /* Enable  PAGEEXEC */
-+#define PF_NOPAGEEXEC (1 << 5)        /* Disable PAGEEXEC */
-+#define PF_SEGMEXEC   (1 << 6)        /* Enable  SEGMEXEC */
-+#define PF_NOSEGMEXEC (1 << 7)        /* Disable SEGMEXEC */
-+#define PF_MPROTECT   (1 << 8)        /* Enable  MPROTECT */
-+#define PF_NOMPROTECT (1 << 9)        /* Disable MPROTECT */
-+#define PF_RANDEXEC   (1 << 10)       /* Enable  RANDEXEC */
-+#define PF_NORANDEXEC (1 << 11)       /* Disable RANDEXEC */
-+#define PF_EMUTRAMP   (1 << 12)       /* Enable  EMUTRAMP */
-+#define PF_NOEMUTRAMP (1 << 13)       /* Disable EMUTRAMP */
-+#define PF_RANDMMAP   (1 << 14)       /* Enable  RANDMMAP */
-+#define PF_NORANDMMAP (1 << 15)       /* Disable RANDMMAP */
-+
- /* Values for section header, sh_type field.  */
- #define SHT_NULL      0               /* Section header table entry unused */
---- binutils-2.24/ld/emultempl/elf32.em
-+++ binutils-2.24/ld/emultempl/elf32.em
-@@ -2285,6 +2285,16 @@ fragment <<EOF
-         link_info.noexecstack = TRUE;
-         link_info.execstack = FALSE;
-       }
-+      else if (strcmp (optarg, "execheap") == 0)
-+      {
-+        link_info.execheap = TRUE;
-+        link_info.noexecheap = FALSE;
-+      }
-+      else if (strcmp (optarg, "noexecheap") == 0)
-+      {
-+        link_info.noexecheap = TRUE;
-+        link_info.execheap = FALSE;
-+      }
- EOF
- if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
- fragment <<EOF
-@@ -2368,6 +2378,8 @@ fragment <<EOF
-   -z defs                     Report unresolved symbols in object files.\n"));
-   fprintf (file, _("\
-   -z execstack                Mark executable as requiring executable stack\n"));
-+  fprintf (file, _("\
-+  -z execheap                 Mark executable as requiring executable heap\n"));
- EOF
- if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
-@@ -2391,6 +2403,8 @@ fragment <<EOF
- fragment <<EOF
-   fprintf (file, _("\
-   -z noexecstack              Mark executable as not requiring executable stack\n"));
-+  fprintf (file, _("\
-+  -z noexecheap               Mark executable as not requiring executable heap\n"));
- EOF
- if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
- fragment <<EOF
---- binutils-2.24/ld/ldgram.y
-+++ binutils-2.24/ld/ldgram.y
-@@ -1119,6 +1119,8 @@ phdr_type:
-                           $$ = exp_intop (0x6474e550);
-                         else if (strcmp (s, "PT_GNU_STACK") == 0)
-                           $$ = exp_intop (0x6474e551);
-+                        else if (strcmp (s, "PT_PAX_FLAGS") == 0)
-+                          $$ = exp_intop (0x65041580);
-                         else
-                           {
-                             einfo (_("\
---- binutils-2.24/ld/testsuite/ld-alpha/tlsbin.rd
-+++ binutils-2.24/ld/testsuite/ld-alpha/tlsbin.rd
-@@ -35,13 +35,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
- Program Headers:
-   Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
--  PHDR +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+150 R E 0x8
-+  PHDR +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+188 R E 0x8
-   INTERP +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x1
- .*Requesting program interpreter.*
-   LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x10000
-   LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x10000
-   DYNAMIC +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RW +0x8
-   TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 3 entries:
---- binutils-2.24/ld/testsuite/ld-alpha/tlsbinr.rd
-+++ binutils-2.24/ld/testsuite/ld-alpha/tlsbinr.rd
-@@ -42,6 +42,7 @@ Program Headers:
-  +LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x10000
-  +DYNAMIC +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RW +0x8
-  +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 2 entries:
---- binutils-2.24/ld/testsuite/ld-alpha/tlspic.rd
-+++ binutils-2.24/ld/testsuite/ld-alpha/tlspic.rd
-@@ -38,6 +38,7 @@ Program Headers:
-  +LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x10000
-  +DYNAMIC +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RW +0x8
-  +TLS +0x0+10e0 0x0+110e0 0x0+110e0 0x0+60 0x0+80 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 7 entries:
---- binutils-2.24/ld/testsuite/ld-elf/eh1.d
-+++ binutils-2.24/ld/testsuite/ld-elf/eh1.d
-@@ -22,11 +22,11 @@ Contents of the .eh_frame section:
-   DW_CFA_nop
-   DW_CFA_nop
--0+0018 0+001c 0+001c FDE cie=0+0000 pc=0+400078..0+400078
--  DW_CFA_advance_loc: 0 to 0+400078
-+0+0018 0+001c 0+001c FDE cie=0+0000 pc=([0-9a-f]+)..\1
-+  DW_CFA_advance_loc: 0 to [0-9a-f]+
-   DW_CFA_def_cfa_offset: 16
-   DW_CFA_offset: r6 \(rbp\) at cfa-16
--  DW_CFA_advance_loc: 0 to 0+400078
-+  DW_CFA_advance_loc: 0 to [0-9a-f]+
-   DW_CFA_def_cfa_register: r6 \(rbp\)
- 0+0038 ZERO terminator
---- binutils-2.24/ld/testsuite/ld-elf/eh2.d
-+++ binutils-2.24/ld/testsuite/ld-elf/eh2.d
-@@ -22,11 +22,11 @@ Contents of the .eh_frame section:
-   DW_CFA_nop
-   DW_CFA_nop
--0+0018 0+001c 0+001c FDE cie=0+0000 pc=0+400078..0+400078
--  DW_CFA_advance_loc: 0 to 0+400078
-+0+0018 0+001c 0+001c FDE cie=0+0000 pc=([0-9a-f]+)..\1
-+  DW_CFA_advance_loc: 0 to [0-9a-f]+
-   DW_CFA_def_cfa_offset: 16
-   DW_CFA_offset: r6 \(rbp\) at cfa-16
--  DW_CFA_advance_loc: 0 to 0+400078
-+  DW_CFA_advance_loc: 0 to [0-9a-f]+
-   DW_CFA_def_cfa_register: r6 \(rbp\)
- 0+0038 ZERO terminator
---- binutils-2.24/ld/testsuite/ld-elf/eh3.d
-+++ binutils-2.24/ld/testsuite/ld-elf/eh3.d
-@@ -22,11 +22,11 @@ Contents of the .eh_frame section:
-   DW_CFA_nop
-   DW_CFA_nop
--0+0018 0+001c 0+001c FDE cie=0+0000 pc=0+400078..0+400078
--  DW_CFA_advance_loc: 0 to 0+400078
-+0+0018 0+001c 0+001c FDE cie=0+0000 pc=([0-9a-f]+)..\1
-+  DW_CFA_advance_loc: 0 to [0-9a-f]+
-   DW_CFA_def_cfa_offset: 16
-   DW_CFA_offset: r6 \(rbp\) at cfa-16
--  DW_CFA_advance_loc: 0 to 0+400078
-+  DW_CFA_advance_loc: 0 to [0-9a-f]+
-   DW_CFA_def_cfa_register: r6 \(rbp\)
- 0+0038 ZERO terminator
---- binutils-2.24/ld/testsuite/ld-elf/orphan-region.d
-+++ binutils-2.24/ld/testsuite/ld-elf/orphan-region.d
-@@ -15,7 +15,9 @@
- Program Headers:
-   Type.*
-   LOAD[ \t]+0x[0-9a-f]+ 0x0*40000000 0x0*40000000 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x[0-9a-f]+
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  Section to Segment mapping:
-   Segment Sections...
-    00     .text .rodata .moredata *
-+   01 +
---- binutils-2.24/ld/testsuite/ld-i386/tlsbin.rd
-+++ binutils-2.24/ld/testsuite/ld-i386/tlsbin.rd
-@@ -44,6 +44,7 @@ Program Headers:
-  +LOAD.*
-  +DYNAMIC.*
-  +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+a0 R +0x1000
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  Section to Segment mapping:
-  +Segment Sections...
-@@ -53,6 +54,7 @@ Program Headers:
-  +03 +.tdata .dynamic .got .got.plt *
-  +04 +.dynamic *
-  +05 +.tdata .tbss *
-+ +06 +
- Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 9 entries:
-  Offset +Info +Type +Sym.Value +Sym. Name
---- binutils-2.24/ld/testsuite/ld-i386/tlsbindesc.rd
-+++ binutils-2.24/ld/testsuite/ld-i386/tlsbindesc.rd
-@@ -42,6 +42,7 @@ Program Headers:
-  +LOAD.*
-  +DYNAMIC.*
-  +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+a0 R +0x1000
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  Section to Segment mapping:
-  +Segment Sections...
-@@ -51,6 +52,7 @@ Program Headers:
-  +03 +.tdata .dynamic .got .got.plt *
-  +04 +.dynamic *
-  +05 +.tdata .tbss *
-+ +06 +
- Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 9 entries:
-  Offset +Info +Type +Sym.Value +Sym. Name
---- binutils-2.24/ld/testsuite/ld-i386/tlsdesc.rd
-+++ binutils-2.24/ld/testsuite/ld-i386/tlsdesc.rd
-@@ -39,6 +39,7 @@ Program Headers:
-  +LOAD.*
-  +DYNAMIC.*
-  +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+80 R +0x1
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  Section to Segment mapping:
-  +Segment Sections...
-@@ -46,6 +47,7 @@ Program Headers:
-  +01 +.tdata .dynamic .got .got.plt *
-  +02 +.dynamic *
-  +03 +.tdata .tbss *
-+ +04 +
- Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 20 entries:
-  Offset +Info +Type +Sym.Value +Sym. Name
---- binutils-2.24/ld/testsuite/ld-i386/tlsgdesc.rd
-+++ binutils-2.24/ld/testsuite/ld-i386/tlsgdesc.rd
-@@ -36,12 +36,14 @@ Program Headers:
-  +LOAD.*
-  +LOAD.*
-  +DYNAMIC.*
-+ +PAX_FLAGS.*
-  Section to Segment mapping:
-  +Segment Sections...
-  +00 +.hash .dynsym .dynstr .rel.dyn .rel.plt .plt .text *
-  +01 +.dynamic .got .got.plt *
-  +02 +.dynamic *
-+ +03 +
- Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 8 entries:
-  Offset +Info +Type +Sym.Value +Sym. Name
---- binutils-2.24/ld/testsuite/ld-i386/tlsnopic.rd
-+++ binutils-2.24/ld/testsuite/ld-i386/tlsnopic.rd
-@@ -37,6 +37,7 @@ Program Headers:
-  +LOAD.*
-  +DYNAMIC.*
-  +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+ 0x0+24 R +0x1
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  Section to Segment mapping:
-  +Segment Sections...
-@@ -44,6 +45,7 @@ Program Headers:
-  +01 +.dynamic .got .got.plt *
-  +02 +.dynamic *
-  +03 +.tbss *
-+ +04 +
- Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 20 entries:
-  Offset +Info +Type +Sym.Value +Sym. Name
---- binutils-2.24/ld/testsuite/ld-i386/tlspic.rd
-+++ binutils-2.24/ld/testsuite/ld-i386/tlspic.rd
-@@ -40,6 +40,7 @@ Program Headers:
-  +LOAD.*
-  +DYNAMIC.*
-  +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+80 R +0x1
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  Section to Segment mapping:
-  +Segment Sections...
-@@ -47,6 +48,7 @@ Program Headers:
-  +01 +.tdata .dynamic .got .got.plt *
-  +02 +.dynamic *
-  +03 +.tdata .tbss *
-+ +04 +
- Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 26 entries:
-  Offset +Info +Type +Sym.Value +Sym. Name
---- binutils-2.24/ld/testsuite/ld-ia64/merge1.d
-+++ binutils-2.24/ld/testsuite/ld-ia64/merge1.d
-@@ -4,7 +4,7 @@
- #objdump: -d
- #...
--0+1e0 <.text>:
-+[a-f0-9]+ <.text>:
- [     ]*[a-f0-9]+:    0b 60 80 02 00 24       \[MMI\]       addl r12=32,r1;;
- [     ]*[a-f0-9]+:    c0 c0 04 00 48 00                   addl r12=24,r1
- [     ]*[a-f0-9]+:    00 00 04 00                         nop.i 0x0;;
---- binutils-2.24/ld/testsuite/ld-ia64/merge2.d
-+++ binutils-2.24/ld/testsuite/ld-ia64/merge2.d
-@@ -4,7 +4,7 @@
- #objdump: -d
- #...
--0+1e0 <.text>:
-+[a-f0-9]+ <.text>:
- [     ]*[a-f0-9]+:    0b 60 80 02 00 24       \[MMI\]       addl r12=32,r1;;
- [     ]*[a-f0-9]+:    c0 c0 04 00 48 00                   addl r12=24,r1
- [     ]*[a-f0-9]+:    00 00 04 00                         nop.i 0x0;;
---- binutils-2.24/ld/testsuite/ld-ia64/merge3.d
-+++ binutils-2.24/ld/testsuite/ld-ia64/merge3.d
-@@ -4,7 +4,7 @@
- #objdump: -d
- #...
--0+210 <.text>:
-+[a-f0-9]+ <.text>:
- [     ]*[a-f0-9]+:    0b 60 80 02 00 24       \[MMI\]       addl r12=32,r1;;
- [     ]*[a-f0-9]+:    c0 40 05 00 48 00                   addl r12=40,r1
- [     ]*[a-f0-9]+:    00 00 04 00                         nop.i 0x0;;
---- binutils-2.24/ld/testsuite/ld-ia64/merge4.d
-+++ binutils-2.24/ld/testsuite/ld-ia64/merge4.d
-@@ -4,7 +4,7 @@
- #objdump: -d
- #...
--0+240 <.text>:
-+[a-f0-9]+ <.text>:
- [     ]*[a-f0-9]+:    0b 60 80 02 00 24       \[MMI\]       addl r12=32,r1;;
- [     ]*[a-f0-9]+:    c0 40 05 00 48 00                   addl r12=40,r1
- [     ]*[a-f0-9]+:    00 00 04 00                         nop.i 0x0;;
---- binutils-2.24/ld/testsuite/ld-ia64/merge5.d
-+++ binutils-2.24/ld/testsuite/ld-ia64/merge5.d
-@@ -4,7 +4,7 @@
- #objdump: -d
- #...
--0+270 <.text>:
-+[a-f0-9]+ <.text>:
- [     ]*[a-f0-9]+:    0b 60 80 02 00 24       \[MMI\]       addl r12=32,r1;;
- [     ]*[a-f0-9]+:    c0 40 05 00 48 00                   addl r12=40,r1
- [     ]*[a-f0-9]+:    00 00 04 00                         nop.i 0x0;;
---- binutils-2.24/ld/testsuite/ld-ia64/tlsbin.rd
-+++ binutils-2.24/ld/testsuite/ld-ia64/tlsbin.rd
-@@ -36,13 +36,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
- Program Headers:
-  +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
-- +PHDR +0x0+40 0x40+40 0x40+40 0x0+188 0x0+188 R E 0x8
-- +INTERP +0x0+1c8 0x40+1c8 0x40+1c8 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x1
-+ +PHDR +0x0+40 0x40+40 0x40+40 (0x[0-9a-f]+) \1 R E 0x8
-+ +INTERP +0x0+([0-9a-f]+) (0x40+\1) \2 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x1
- .*Requesting program interpreter.*
-  +LOAD +0x0+ 0x40+ 0x40+ 0x0+1[0-9a-f]+ 0x0+1[0-9a-f]+ R E 0x10000
-  +LOAD +0x0+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x0+0[0-9a-f]+ 0x0+0[0-9a-f]+ RW +0x10000
-  +DYNAMIC +0x0+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x0+150 0x0+150 RW +0x8
-  +TLS +0x0+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x0+60 0x0+a0 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  +IA_64_UNWIND .* R +0x8
- #...
---- binutils-2.24/ld/testsuite/ld-ia64/tlspic.rd
-+++ binutils-2.24/ld/testsuite/ld-ia64/tlspic.rd
-@@ -40,6 +40,7 @@ Program Headers:
-  +LOAD +0x0+1[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+0[0-9a-f]+ 0x0+0[0-9a-f]+ RW +0x10000
-  +DYNAMIC +0x0+1[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+140 0x0+140 RW +0x8
-  +TLS +0x0+1[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+60 0x0+80 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  +IA_64_UNWIND +0x0+1[0-9a-f]+ 0x0+1[0-9a-f]+ 0x0+1[0-9a-f]+ 0x0+18 0x0+18 R +0x8
- #...
---- binutils-2.24/ld/testsuite/ld-mips-elf/multi-got-no-shared.d
-+++ binutils-2.24/ld/testsuite/ld-mips-elf/multi-got-no-shared.d
-@@ -8,9 +8,9 @@
- .*: +file format.*
- Disassembly of section \.text:
--004000b0 <[^>]*> 3c1c0043     lui     gp,0x43
--004000b4 <[^>]*> 279c9ff0     addiu   gp,gp,-24592
--004000b8 <[^>]*> afbc0008     sw      gp,8\(sp\)
-+004000d0 <[^>]*> 3c1c0043     lui     gp,0x43
-+004000d4 <[^>]*> 279c9ff0     addiu   gp,gp,-24592
-+004000d8 <[^>]*> afbc0008     sw      gp,8\(sp\)
- #...
- 00408d60 <[^>]*> 3c1c0043     lui     gp,0x43
- 00408d64 <[^>]*> 279c2c98     addiu   gp,gp,11416
---- binutils-2.24/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.sd
-+++ binutils-2.24/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.sd
-@@ -1,7 +1,7 @@
- Elf file type is DYN \(Shared object file\)
- Entry point .*
--There are 5 program headers, starting at offset .*
-+There are [0-9] program headers, starting at offset .*
- Program Headers:
-  * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
-@@ -9,6 +9,7 @@ Program Headers:
-  * LOAD * [^ ]+ * 0x0+00000 * 0x0+00000 [^ ]+ * [^ ]+ * R E * 0x.*
-  * LOAD * [^ ]+ * 0x0+10000 * 0x0+10000 [^ ]+ * [^ ]+ * RW  * 0x.*
-  * DYNAMIC * [^ ]+ * 0x0+00400 * 0x0+00400 .*
-+ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  * NULL * .*
-  *Section to Segment mapping:
-@@ -18,3 +19,4 @@ Program Headers:
-  *0*2 * \.data \.got *
-  *0*3 * \.dynamic *
-  *0*4 *
-+ *0*5 *
---- binutils-2.24/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.sd
-+++ binutils-2.24/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.sd
-@@ -1,7 +1,7 @@
- Elf file type is EXEC \(Executable file\)
- Entry point 0x44000
--There are 8 program headers, starting at offset .*
-+There are [0-9] program headers, starting at offset .*
- Program Headers:
-  * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
-@@ -13,6 +13,7 @@ Program Headers:
-  * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW  * 0x.*
-  * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW  * 0x.*
-  * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
-+ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  * NULL * .*
-  *Section to Segment mapping:
-@@ -25,3 +26,4 @@ Program Headers:
-  *0*5 *\.got \.data *
-  *0*6 *\.dynamic *
-  *0*7 *
-+ *0*8 *
---- binutils-2.24/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.sd
-+++ binutils-2.24/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.sd
-@@ -1,7 +1,7 @@
- Elf file type is EXEC \(Executable file\)
- Entry point 0x44000
--There are 8 program headers, starting at offset .*
-+There are [0-9] program headers, starting at offset .*
- Program Headers:
-  * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
-@@ -13,6 +13,7 @@ Program Headers:
-  * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW  * 0x.*
-  * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW  * 0x.*
-  * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
-+ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  * NULL * .*
-  *Section to Segment mapping:
-@@ -25,3 +26,4 @@ Program Headers:
-  *0*5 * \.got \.data \.bss *
-  *0*6 * \.dynamic *
-  *0*7 *
-+ *0*8 *
---- binutils-2.24/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.sd
-+++ binutils-2.24/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.sd
-@@ -1,7 +1,7 @@
- Elf file type is EXEC \(Executable file\)
- Entry point 0x44000
--There are 8 program headers, starting at offset .*
-+There are [0-9] program headers, starting at offset .*
- Program Headers:
-  * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
-@@ -13,6 +13,7 @@ Program Headers:
-  * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW  * 0x.*
-  * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW  * 0x.*
-  * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
-+ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  * NULL * .*
-  *Section to Segment mapping:
-@@ -25,3 +26,4 @@ Program Headers:
-  *0*5 * \.got \.data \.bss *
-  *0*6 * \.dynamic *
-  *0*7 *
-+ *0*8 *
---- binutils-2.24/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n32.sd
-+++ binutils-2.24/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n32.sd
-@@ -1,7 +1,7 @@
- Elf file type is EXEC \(Executable file\)
- Entry point 0x44000
--There are 8 program headers, starting at offset .*
-+There are [0-9] program headers, starting at offset .*
- Program Headers:
-  * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
-@@ -13,6 +13,7 @@ Program Headers:
-  * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW  * 0x.*
-  * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW  * 0x.*
-  * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
-+ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  * NULL * .*
-  *Section to Segment mapping:
-@@ -25,3 +26,4 @@ Program Headers:
-  *0*5 * \.got \.data \.bss *
-  *0*6 * \.dynamic *
-  *0*7 *
-+ *0*8 *
---- binutils-2.24/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.sd
-+++ binutils-2.24/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.sd
-@@ -1,7 +1,7 @@
- Elf file type is EXEC \(Executable file\)
- Entry point 0x44000
--There are 7 program headers, starting at offset .*
-+There are [0-9] program headers, starting at offset .*
- Program Headers:
-  * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
-@@ -12,6 +12,7 @@ Program Headers:
-  * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW  * 0x.*
-  * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW  * 0x.*
-  * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
-+ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  * NULL * .*
-  *Section to Segment mapping:
-@@ -23,3 +24,4 @@ Program Headers:
-  *0*4 * \.got \.data \.bss *
-  *0*5 * \.dynamic *
-  *0*6 *
-+ *0*7 *
---- binutils-2.24/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-o32.sd
-+++ binutils-2.24/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-o32.sd
-@@ -1,7 +1,7 @@
- Elf file type is EXEC \(Executable file\)
- Entry point 0x44000
--There are 8 program headers, starting at offset .*
-+There are [0-9] program headers, starting at offset .*
- Program Headers:
-  * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
-@@ -13,6 +13,7 @@ Program Headers:
-  * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW  * 0x.*
-  * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW  * 0x.*
-  * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
-+ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  * NULL * .*
-  *Section to Segment mapping:
-@@ -25,3 +26,4 @@ Program Headers:
-  *0*5 * \.got \.data \.bss *
-  *0*6 * \.dynamic *
-  *0*7 *
-+ *0*8 *
---- binutils-2.24/ld/testsuite/ld-powerpc/tlsexe32.r
-+++ binutils-2.24/ld/testsuite/ld-powerpc/tlsexe32.r
-@@ -33,13 +33,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
- Program Headers:
-  +Type +Offset +VirtAddr +PhysAddr +FileSiz MemSiz +Flg Align
-- +PHDR +0x000034 0x01800034 0x01800034 0x000c0 0x000c0 R E 0x4
-- +INTERP +0x0000f4 0x018000f4 0x018000f4 0x00011 0x00011 R +0x1
-+ +PHDR +0x000034 0x01800034 0x01800034 (0x000[0-9a-f]{2}) \1 R E 0x4
-+ +INTERP +0x000([0-9a-f]{3}) 0x01800\1 0x01800\1 0x00011 0x00011 R +0x1
-  +\[Requesting program interpreter: .*\]
-  +LOAD .* R E 0x10000
-  +LOAD .* RWE 0x10000
-  +DYNAMIC .* RW +0x4
-  +TLS .* 0x0001c 0x00038 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  Section to Segment mapping:
-  +Segment Sections\.\.\.
-@@ -49,6 +50,7 @@ Program Headers:
-  +03 +\.tdata \.dynamic \.got \.plt 
-  +04 +\.dynamic 
-  +05 +\.tdata \.tbss 
-+ +06 +
- Relocation section '\.rela\.dyn' at offset .* contains 2 entries:
-  Offset +Info +Type +Sym\. Value +Symbol's Name \+ Addend
---- binutils-2.24/ld/testsuite/ld-powerpc/tlsso32.r
-+++ binutils-2.24/ld/testsuite/ld-powerpc/tlsso32.r
-@@ -35,6 +35,7 @@ Program Headers:
-  +LOAD .* RWE 0x10000
-  +DYNAMIC .* RW +0x4
-  +TLS .* 0x0+1c 0x0+38 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  Section to Segment mapping:
-  +Segment Sections\.\.\.
-@@ -42,6 +43,7 @@ Program Headers:
-  +01 +\.tdata \.dynamic \.got \.plt 
-  +02 +\.dynamic 
-  +03 +\.tdata \.tbss 
-+ +04 +
- Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 18 entries:
-  Offset +Info +Type +Sym\. Value +Symbol's Name \+ Addend
-@@ -52,9 +54,9 @@ Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 18 entries:
- [0-9a-f ]+R_PPC_TPREL16 +0+30 +le0 \+ 0
- [0-9a-f ]+R_PPC_TPREL16_HA +0+34 +le1 \+ 0
- [0-9a-f ]+R_PPC_TPREL16_LO +0+34 +le1 \+ 0
--[0-9a-f ]+R_PPC_TPREL16 +0+103d0 +\.tdata \+ 103e4
--[0-9a-f ]+R_PPC_TPREL16_HA +0+103d0 +\.tdata \+ 103e8
--[0-9a-f ]+R_PPC_TPREL16_LO +0+103d0 +\.tdata \+ 103e8
-+[0-9a-f ]+R_PPC_TPREL16 +0+103[df]0 +\.tdata \+ 10[0-9a-f]{3}
-+[0-9a-f ]+R_PPC_TPREL16_HA +0+103[df]0 +\.tdata \+ 10[0-9a-f]{3}
-+[0-9a-f ]+R_PPC_TPREL16_LO +0+103[df]0 +\.tdata \+ 10[0-9a-f]{3}
- [0-9a-f ]+R_PPC_DTPMOD32 +0
- [0-9a-f ]+R_PPC_DTPREL32 +0
- [0-9a-f ]+R_PPC_DTPMOD32 +0
---- binutils-2.24/ld/testsuite/ld-s390/tlsbin.rd
-+++ binutils-2.24/ld/testsuite/ld-s390/tlsbin.rd
-@@ -36,6 +36,7 @@ There are [0-9]+ program headers, starting at offset [0-9]+
-  +LOAD .* RW +0x1000
-  +DYNAMIC .* RW +0x4
-  +TLS .* 0x0+60 0x0+a0 R +0x20
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  Section to Segment mapping:
-  +Segment Sections...
-@@ -52,6 +53,7 @@ Program Headers:
-  +03 +.tdata .dynamic .got *
-  +04 +.dynamic *
-  +05 +.tdata .tbss *
-+ +06 +
- Relocation section '.rela.dyn' at offset .* contains 4 entries:
-  Offset +Info +Type +Sym.Value +Sym. Name \+ Addend
---- binutils-2.24/ld/testsuite/ld-s390/tlsbin_64.rd
-+++ binutils-2.24/ld/testsuite/ld-s390/tlsbin_64.rd
-@@ -36,6 +36,7 @@ There are [0-9]+ program headers, starting at offset [0-9]+
-  +LOAD .* RW +0x1000
-  +DYNAMIC .* RW +0x8
-  +TLS .* 0x0+60 0x0+a0 R +0x20
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  Section to Segment mapping:
-  +Segment Sections...
-@@ -52,6 +53,7 @@ Program Headers:
-  +03 +.tdata .dynamic .got *
-  +04 +.dynamic *
-  +05 +.tdata .tbss *
-+ +06 +
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
-  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
---- binutils-2.24/ld/testsuite/ld-s390/tlspic.rd
-+++ binutils-2.24/ld/testsuite/ld-s390/tlspic.rd
-@@ -39,6 +39,7 @@ Program Headers:
-  +LOAD .* RW +0x1000
-  +DYNAMIC .* RW +0x4
-  +TLS .* 0x0+60 0x0+80 R +0x20
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  Section to Segment mapping:
-  +Segment Sections...
-@@ -46,6 +47,7 @@ Program Headers:
-  +01 +.tdata .dynamic .got 
-  +02 +.dynamic 
-  +03 +.tdata .tbss 
-+ +04 +
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
-  Offset +Info +Type +Sym.Value +Sym. Name \+ Addend
---- binutils-2.24/ld/testsuite/ld-s390/tlspic_64.rd
-+++ binutils-2.24/ld/testsuite/ld-s390/tlspic_64.rd
-@@ -39,6 +39,7 @@ Program Headers:
-  +LOAD .* RW +0x1000
-  +DYNAMIC .* RW +0x8
-  +TLS .* 0x0+60 0x0+80 R +0x20
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  Section to Segment mapping:
-  +Segment Sections...
-@@ -46,6 +47,7 @@ Program Headers:
-  +01 +.tdata .dynamic .got *
-  +02 +.dynamic *
-  +03 +.tdata .tbss *
-+ +04 +
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
-  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
---- binutils-2.24/ld/testsuite/ld-sh/tlsbin-2.d
-+++ binutils-2.24/ld/testsuite/ld-sh/tlsbin-2.d
-@@ -44,6 +44,7 @@ Program Headers:
-  +LOAD.*
-  +DYNAMIC.*
-  +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+18 0x0+28 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  Section to Segment mapping:
-  +Segment Sections\.\.\.
-@@ -53,6 +54,7 @@ Program Headers:
-  +03 +\.tdata \.dynamic \.got *
-  +04 +\.dynamic *
-  +05 +\.tdata \.tbss *
-+ +06 +
- Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
-  Offset +Info +Type +Sym\.Value +Sym\. Name \+ Addend
---- binutils-2.24/ld/testsuite/ld-sh/tlspic-2.d
-+++ binutils-2.24/ld/testsuite/ld-sh/tlspic-2.d
-@@ -32,7 +32,7 @@ Key to Flags:
- Elf file type is DYN \(Shared object file\)
- Entry point 0x[0-9a-f]+
--There are 4 program headers, starting at offset [0-9]+
-+There are [0-9] program headers, starting at offset [0-9]+
- Program Headers:
-  +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
-@@ -40,6 +40,7 @@ Program Headers:
-  +LOAD.*
-  +DYNAMIC.*
-  +TLS .* 0x0+18 0x0+20 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  Section to Segment mapping:
-  +Segment Sections\.\.\.
-@@ -47,6 +48,7 @@ Program Headers:
-  +01 +\.tdata \.dynamic \.got *
-  +02 +\.dynamic *
-  +03 +\.tdata \.tbss *
-+ +04 +
- Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 10 entries:
-  Offset +Info +Type +Sym\.Value +Sym\. Name \+ Addend
---- binutils-2.24/ld/testsuite/ld-sparc/gotop32.rd
-+++ binutils-2.24/ld/testsuite/ld-sparc/gotop32.rd
-@@ -31,6 +31,7 @@ Program Headers:
-  +LOAD +0x0+ 0x0+ 0x0+ 0x0+2000 0x0+2000 R E 0x10000
-  +LOAD +0x0+2000 0x0+12000 0x0+12000 0x0+2000 0x0+2000 RW +0x10000
-  +DYNAMIC +0x0+2000 0x0+12000 0x0+12000 0x0+70 0x0+70 RW +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
---- binutils-2.24/ld/testsuite/ld-sparc/gotop64.rd
-+++ binutils-2.24/ld/testsuite/ld-sparc/gotop64.rd
-@@ -31,6 +31,7 @@ Program Headers:
-  +LOAD +0x0+ 0x0+ 0x0+ 0x0+2000 0x0+2000 R E 0x100000
-  +LOAD +0x0+2000 0x0+102000 0x0+102000 0x0+2000 0x0+2000 RW +0x100000
-  +DYNAMIC +0x0+2000 0x0+102000 0x0+102000 0x0+e0 0x0+e0 RW +0x8
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
---- binutils-2.24/ld/testsuite/ld-sparc/tlssunbin32.rd
-+++ binutils-2.24/ld/testsuite/ld-sparc/tlssunbin32.rd
-@@ -30,13 +30,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
- Program Headers:
-  +Type +Offset +VirtAddr +PhysAddr +FileSiz MemSiz +Flg Align
-- +PHDR +0x0+34 0x0+10034 0x0+10034 0x0+c0 0x0+c0 R E 0x4
-- +INTERP +0x0+f4 0x0+100f4 0x0+100f4 0x0+11 0x0+11 R +0x1
-+ +PHDR +0x0+34 0x0+10034 0x0+10034 (0x[0-9a-f]+) \1 R E 0x4
-+ +INTERP +(0x[0-9a-f]+ ){3}0x0+11 0x0+11 R +0x1
- .*Requesting program interpreter.*
-  +LOAD .* R E 0x10000
-  +LOAD .* RW +0x10000
-  +DYNAMIC .* RW +0x4
-  +TLS .* 0x0+1060 0x0+10a0 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
---- binutils-2.24/ld/testsuite/ld-sparc/tlssunbin64.rd
-+++ binutils-2.24/ld/testsuite/ld-sparc/tlssunbin64.rd
-@@ -30,13 +30,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
- Program Headers:
-  +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
-- +PHDR +0x0+40 0x0+100040 0x0+100040 0x0+150 0x0+150 R E 0x8
-- +INTERP +0x0+190 0x0+100190 0x0+100190 0x0+19 0x0+19 R +0x1
-+ +PHDR +0x0+40 0x0+100040 0x0+100040 (0x[0-9a-f]+) \1 R E 0x8
-+ +INTERP +0x0+([0-9a-f]+) (0x0+10+\1) \2 0x0+19 0x0+19 R +0x1
- .*Requesting program interpreter.*
-  +LOAD .* R E 0x100000
-  +LOAD .* RW +0x100000
-  +DYNAMIC .* RW +0x8
-  +TLS .* 0x0+60 0x0+a0 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
---- binutils-2.24/ld/testsuite/ld-sparc/tlssunnopic32.rd
-+++ binutils-2.24/ld/testsuite/ld-sparc/tlssunnopic32.rd
-@@ -32,6 +32,7 @@ Program Headers:
-  +LOAD .* RW +0x10000
-  +DYNAMIC .* RW +0x4
-  +TLS .* 0x0+ 0x0+24 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 12 entries:
---- binutils-2.24/ld/testsuite/ld-sparc/tlssunnopic64.rd
-+++ binutils-2.24/ld/testsuite/ld-sparc/tlssunnopic64.rd
-@@ -32,6 +32,7 @@ Program Headers:
-  +LOAD .* RW +0x100000
-  +DYNAMIC .* RW +0x8
-  +TLS .* 0x0+ 0x0+24 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
---- binutils-2.24/ld/testsuite/ld-sparc/tlssunpic32.rd
-+++ binutils-2.24/ld/testsuite/ld-sparc/tlssunpic32.rd
-@@ -36,6 +36,7 @@ Program Headers:
-  +LOAD +0x0+2000 0x0+12000 0x0+12000 0x0+184 0x0+184 RWE 0x10000
-  +DYNAMIC +0x0+2060 0x0+12060 0x0+12060 0x0+98 0x0+98 RW +0x4
-  +TLS +0x0+2000 0x0+12000 0x0+12000 0x0+60 0x0+80 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
---- binutils-2.24/ld/testsuite/ld-sparc/tlssunpic64.rd
-+++ binutils-2.24/ld/testsuite/ld-sparc/tlssunpic64.rd
-@@ -36,6 +36,7 @@ Program Headers:
-  +LOAD +0x0+2000 0x0+102000 0x0+102000 0x0+3a0 0x0+3a0 RWE 0x100000
-  +DYNAMIC +0x0+2060 0x0+102060 0x0+102060 0x0+130 0x0+130 RW +0x8
-  +TLS +0x0+2000 0x0+102000 0x0+102000 0x0+60 0x0+80 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
---- binutils-2.24/ld/testsuite/ld-x86-64/tlsgdesc.rd
-+++ binutils-2.24/ld/testsuite/ld-x86-64/tlsgdesc.rd
-@@ -36,12 +36,14 @@ Program Headers:
-  +LOAD.*
-  +LOAD.*
-  +DYNAMIC.*
-+ +PAX_FLAGS.*
-  Section to Segment mapping:
-  +Segment Sections...
-  +00 +.hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text *
-  +01 +.dynamic .got .got.plt *
-  +02 +.dynamic *
-+ +03 +
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 8 entries:
-  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
---- binutils-2.24/ld/testsuite/ld-x86-64/tlspic.rd
-+++ binutils-2.24/ld/testsuite/ld-x86-64/tlspic.rd
-@@ -40,6 +40,7 @@ Program Headers:
-  +LOAD +0x0+131a 0x0+20131a 0x0+20131a 0x0+246 0x0+246 RW +0x200000
-  +DYNAMIC +0x0+1380 0x0+201380 0x0+201380 0x0+130 0x0+130 RW +0x8
-  +TLS +0x0+131a 0x0+20131a 0x0+20131a 0x0+60 0x0+80 R +0x1
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  Section to Segment mapping:
-  +Segment Sections...
-@@ -47,6 +48,7 @@ Program Headers:
-  +01 +.tdata .dynamic .got .got.plt *
-  +02 +.dynamic *
-  +03 +.tdata .tbss *
-+ +04 +
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
-  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
diff --git a/src/patches/clamav-0.99.2-gcc-6.patch b/src/patches/clamav-0.99.2-gcc-6.patch
new file mode 100644 (file)
index 0000000..2031edb
--- /dev/null
@@ -0,0 +1,84 @@
+diff --git a/libclamav/c++/llvm/include/llvm/ADT/StringMap.h b/libclamav/c++/llvm/include/llvm/ADT/StringMap.h
+index 59ff6aa..1325394 100644
+--- a/libclamav/c++/llvm/include/llvm/ADT/StringMap.h
++++ b/libclamav/c++/llvm/include/llvm/ADT/StringMap.h
+@@ -169,3 +169,3 @@ public:
+       KeyLength+1;
+-    unsigned Alignment = alignof<StringMapEntry>();
++    unsigned Alignment = alignOf<StringMapEntry>();
+diff --git a/libclamav/c++/llvm/include/llvm/CodeGen/SlotIndexes.h b/libclamav/c++/llvm/include/llvm/CodeGen/SlotIndexes.h
+index 88044c7..86b0f40 100644
+--- a/libclamav/c++/llvm/include/llvm/CodeGen/SlotIndexes.h
++++ b/libclamav/c++/llvm/include/llvm/CodeGen/SlotIndexes.h
+@@ -417,3 +417,3 @@ namespace llvm {
+           ileAllocator.Allocate(sizeof(IndexListEntry),
+-          alignof<IndexListEntry>()));
++          alignOf<IndexListEntry>()));
+diff --git a/libclamav/c++/llvm/include/llvm/Support/AlignOf.h b/libclamav/c++/llvm/include/llvm/Support/AlignOf.h
+index 6a7a1a6..979e597 100644
+--- a/libclamav/c++/llvm/include/llvm/Support/AlignOf.h
++++ b/libclamav/c++/llvm/include/llvm/Support/AlignOf.h
+@@ -51,8 +51,8 @@ struct AlignOf {
+-/// alignof - A templated function that returns the mininum alignment of
++/// alignOf - A templated function that returns the mininum alignment of
+ ///  of a type.  This provides no extra functionality beyond the AlignOf
+ ///  class besides some cosmetic cleanliness.  Example usage:
+-///  alignof<int>() returns the alignment of an int.
++///  alignOf<int>() returns the alignment of an int.
+ template <typename T>
+-static inline unsigned alignof() { return AlignOf<T>::Alignment; }
++static inline unsigned alignOf() { return AlignOf<T>::Alignment; }
+diff --git a/libclamav/c++/llvm/include/llvm/Support/Allocator.h b/libclamav/c++/llvm/include/llvm/Support/Allocator.h
+index 4a7251f..17caf5e 100644
+--- a/libclamav/c++/llvm/include/llvm/Support/Allocator.h
++++ b/libclamav/c++/llvm/include/llvm/Support/Allocator.h
+@@ -203,3 +203,3 @@ public:
+       for (char *Ptr = (char*)(Slab+1); Ptr < End; Ptr += sizeof(T)) {
+-        Ptr = Allocator.AlignPtr(Ptr, alignof<T>());
++        Ptr = Allocator.AlignPtr(Ptr, alignOf<T>());
+         if (Ptr + sizeof(T) <= End)
+diff --git a/libclamav/c++/llvm/lib/Analysis/ScalarEvolution.cpp b/libclamav/c++/llvm/lib/Analysis/ScalarEvolution.cpp
+index b892d85..dc72346 100644
+--- a/libclamav/c++/llvm/lib/Analysis/ScalarEvolution.cpp
++++ b/libclamav/c++/llvm/lib/Analysis/ScalarEvolution.cpp
+@@ -495,3 +495,3 @@ void SCEVUnknown::print(raw_ostream &OS) const {
+   if (isAlignOf(AllocTy)) {
+-    OS << "alignof(" << *AllocTy << ")";
++    OS << "alignOf(" << *AllocTy << ")";
+     return;
+diff --git a/libclamav/c++/llvm/lib/Target/X86/X86CodeEmitter.cpp b/libclamav/c++/llvm/lib/Target/X86/X86CodeEmitter.cpp
+index 824021c..757ca50 100644
+--- a/libclamav/c++/llvm/lib/Target/X86/X86CodeEmitter.cpp
++++ b/libclamav/c++/llvm/lib/Target/X86/X86CodeEmitter.cpp
+@@ -569,3 +569,3 @@ void Emitter<CodeEmitter>::emitMemModRMByte(const MachineInstr &MI,
+   // Calculate what the SS field value should be...
+-  static const unsigned SSTable[] = { ~0, 0, 1, ~0, 2, ~0, ~0, ~0, 3 };
++  static const unsigned SSTable[] = { ~0u, 0u, 1u, ~0u, 2u, ~0u, ~0u, ~0u, 3u };
+   unsigned SS = SSTable[Scale.getImm()];
+diff --git a/libclamav/c++/llvm/lib/Target/X86/X86MCCodeEmitter.cpp b/libclamav/c++/llvm/lib/Target/X86/X86MCCodeEmitter.cpp
+index 9564fe0..b2b7986 100644
+--- a/libclamav/c++/llvm/lib/Target/X86/X86MCCodeEmitter.cpp
++++ b/libclamav/c++/llvm/lib/Target/X86/X86MCCodeEmitter.cpp
+@@ -332,3 +332,3 @@ void X86MCCodeEmitter::EmitMemModRMByte(const MCInst &MI, unsigned Op,
+   // Calculate what the SS field value should be...
+-  static const unsigned SSTable[] = { ~0, 0, 1, ~0, 2, ~0, ~0, ~0, 3 };
++  static const unsigned SSTable[] = { ~0u, 0u, 1u, ~0u, 2u, ~0u, ~0u, ~0u, 3u };
+   unsigned SS = SSTable[Scale.getImm()];
+diff --git a/libclamav/mpool.c b/libclamav/mpool.c
+index cd38e15..b5e537d 100644
+--- a/libclamav/mpool.c
++++ b/libclamav/mpool.c
+@@ -417,3 +417,3 @@ static size_t from_bits(unsigned int bits) {
+-static inline unsigned int alignof(size_t size)
++static inline unsigned int alignOf(size_t size)
+ {
+@@ -609,3 +609,3 @@ static void* allocate_aligned(struct MPMAP *mpm, size_t size, unsigned align, co
+ void *mpool_malloc(struct MP *mp, size_t size) {
+-  size_t align = alignof(size);
++  size_t align = alignOf(size);
+   size_t i, needed = align_increase(size+FRAG_OVERHEAD, align);
diff --git a/src/patches/fontconfig-avoid-conflicts-with-integer-width-macros-from-TS.patch b/src/patches/fontconfig-avoid-conflicts-with-integer-width-macros-from-TS.patch
new file mode 100644 (file)
index 0000000..cad7170
--- /dev/null
@@ -0,0 +1,72 @@
+From 20cddc824c6501c2082cac41b162c34cd5fcc530 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 11 Dec 2016 14:32:00 -0800
+Subject: [PATCH] Avoid conflicts with integer width macros from TS
+ 18661-1:2014
+
+glibc 2.25+ has now defined these macros in <limits.h>
+https://sourceware.org/git/?p=glibc.git;a=commit;h=5b17fd0da62bf923cb61d1bb7b08cf2e1f1f9c1a
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted
+
+ fontconfig/fontconfig.h | 2 +-
+ src/fcobjs.h            | 2 +-
+ src/fcobjshash.gperf    | 2 +-
+ src/fcobjshash.h        | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+Index: fontconfig-2.12.1/fontconfig/fontconfig.h
+===================================================================
+--- fontconfig-2.12.1.orig/fontconfig/fontconfig.h
++++ fontconfig-2.12.1/fontconfig/fontconfig.h
+@@ -128,7 +128,8 @@ typedef int                FcBool;
+ #define FC_USER_CACHE_FILE        ".fonts.cache-" FC_CACHE_VERSION
+ /* Adjust outline rasterizer */
+-#define FC_CHAR_WIDTH     "charwidth" /* Int */
++#define FC_CHARWIDTH      "charwidth" /* Int */
++#define FC_CHAR_WIDTH     FC_CHARWIDTH
+ #define FC_CHAR_HEIGHT            "charheight"/* Int */
+ #define FC_MATRIX         "matrix"    /* FcMatrix */
+Index: fontconfig-2.12.1/src/fcobjs.h
+===================================================================
+--- fontconfig-2.12.1.orig/src/fcobjs.h
++++ fontconfig-2.12.1/src/fcobjs.h
+@@ -51,7 +51,7 @@ FC_OBJECT (DPI,                      FcTypeDouble,   NULL)
+ FC_OBJECT (RGBA,              FcTypeInteger,  NULL)
+ FC_OBJECT (SCALE,             FcTypeDouble,   NULL)
+ FC_OBJECT (MINSPACE,          FcTypeBool,     NULL)
+-FC_OBJECT (CHAR_WIDTH,                FcTypeInteger,  NULL)
++FC_OBJECT (CHARWIDTH,         FcTypeInteger,  NULL)
+ FC_OBJECT (CHAR_HEIGHT,               FcTypeInteger,  NULL)
+ FC_OBJECT (MATRIX,            FcTypeMatrix,   NULL)
+ FC_OBJECT (CHARSET,           FcTypeCharSet,  FcCompareCharSet)
+Index: fontconfig-2.12.1/src/fcobjshash.gperf
+===================================================================
+--- fontconfig-2.12.1.orig/src/fcobjshash.gperf
++++ fontconfig-2.12.1/src/fcobjshash.gperf
+@@ -44,7 +44,7 @@ int id;
+ "rgba",FC_RGBA_OBJECT
+ "scale",FC_SCALE_OBJECT
+ "minspace",FC_MINSPACE_OBJECT
+-"charwidth",FC_CHAR_WIDTH_OBJECT
++"charwidth",FC_CHARWIDTH_OBJECT
+ "charheight",FC_CHAR_HEIGHT_OBJECT
+ "matrix",FC_MATRIX_OBJECT
+ "charset",FC_CHARSET_OBJECT
+Index: fontconfig-2.12.1/src/fcobjshash.h
+===================================================================
+--- fontconfig-2.12.1.orig/src/fcobjshash.h
++++ fontconfig-2.12.1/src/fcobjshash.h
+@@ -284,7 +284,7 @@ FcObjectTypeLookup (register const char
+       {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str43,FC_CHARSET_OBJECT},
+       {-1},
+ #line 47 "fcobjshash.gperf"
+-      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str45,FC_CHAR_WIDTH_OBJECT},
++      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str45,FC_CHARWIDTH_OBJECT},
+ #line 48 "fcobjshash.gperf"
+       {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str46,FC_CHAR_HEIGHT_OBJECT},
+ #line 55 "fcobjshash.gperf"
diff --git a/src/patches/fuse-2.9.2-namespace-conflict-fix.patch b/src/patches/fuse-2.9.2-namespace-conflict-fix.patch
new file mode 100644 (file)
index 0000000..ae67e7d
--- /dev/null
@@ -0,0 +1,21 @@
+diff -up fuse-2.9.2/include/fuse_kernel.h.conflictfix fuse-2.9.2/include/fuse_kernel.h
+--- fuse-2.9.2/include/fuse_kernel.h.conflictfix       2013-06-26 09:31:57.862198038 -0400
++++ fuse-2.9.2/include/fuse_kernel.h   2013-06-26 09:32:19.679198365 -0400
+@@ -88,12 +88,16 @@
+ #ifndef _LINUX_FUSE_H
+ #define _LINUX_FUSE_H
+-#include <sys/types.h>
++#ifdef __linux__
++#include <linux/types.h>
++#else
++#include <stdint.h>
+ #define __u64 uint64_t
+ #define __s64 int64_t
+ #define __u32 uint32_t
+ #define __s32 int32_t
+ #define __u16 uint16_t
++#endif
+ /*
+  * Version negotiation:
diff --git a/src/patches/gawk-3.1.5-segfault_fix-1.patch b/src/patches/gawk-3.1.5-segfault_fix-1.patch
deleted file mode 100644 (file)
index aa2f17b..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-Submitted By: Matthew Burgess <matthew@linuxfromscratch.org>
-Date: 2005-09-24
-Initial Package Version: 3.1.5
-Upstream Status: From Upstream
-Origin: http://lists.gnu.org/archive/html/bug-gnu-utils/2005-08/msg00047.html
-Description: Fixes a bug which causes gawk to segfault when operating on a non-existent file.
-
-diff -Naur gawk-3.1.5.orig/io.c gawk-3.1.5/io.c
---- gawk-3.1.5.orig/io.c       2005-07-26 18:07:43.000000000 +0000
-+++ gawk-3.1.5/io.c    2005-09-24 14:43:13.771380264 +0000
-@@ -2480,9 +2480,12 @@
- {
-       struct stat sbuf;
-       struct open_hook *oh;
-+      int iop_malloced = FALSE;
--      if (iop == NULL)
-+      if (iop == NULL) {
-               emalloc(iop, IOBUF *, sizeof(IOBUF), "iop_alloc");
-+              iop_malloced = TRUE;
-+      }
-       memset(iop, '\0', sizeof(IOBUF));
-       iop->flag = 0;
-       iop->fd = fd;
-@@ -2495,7 +2498,8 @@
-       }
-       if (iop->fd == INVALID_HANDLE) {
--              free(iop);
-+              if (iop_malloced)
-+                      free(iop);
-               return NULL;
-       }
-       if (isatty(iop->fd))
-@@ -2503,7 +2507,7 @@
-       iop->readsize = iop->size = optimal_bufsize(iop->fd, & sbuf);
-       iop->sbuf = sbuf;
-       if (do_lint && S_ISREG(sbuf.st_mode) && sbuf.st_size == 0)
--                      lintwarn(_("data file `%s' is empty"), name);
-+              lintwarn(_("data file `%s' is empty"), name);
-       errno = 0;
-       iop->count = iop->scanoff = 0;
-       emalloc(iop->buf, char *, iop->size += 2, "iop_alloc");
diff --git a/src/patches/gcc-4.4.3-startfiles_fix-1.patch b/src/patches/gcc-4.4.3-startfiles_fix-1.patch
deleted file mode 100644 (file)
index a2eac9e..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-Submitted By: Jeremy Huntwork (jhuntwork AT linuxfromscratch DOT org)
-Date: 2008-12-05
-Initial Package Version: 4.3.2
-Upstream Status: See below.
-Origin: DIY Linux, See below.
-Description: Original patch follows:
-
-# DIY Linux Patch
-Date: 2008-09-09
-Author: Refer Origin.
-Origin: Partial revert of http://gcc.gnu.org/ml/gcc-cvs/2006-11/msg00416.html
-Maker: Greg Schafer <gschafer@zip.com.au>
-Upstream Status: Not applicable. Tweak only for Temptools phase GCC-Pass2.
-Description: Partially revert GCC driver to pre-GCC-4.3 state to allow startfiles to be
-  found in $prefix when GCC is configured for a non-standard prefix eg: /temptools. Full
-  background info in thread starting here: http://gcc.gnu.org/ml/gcc/2008-03/msg00095.html
-  and GCC bugzilla here: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35532
-
-diff -Naur gcc-4.3.0-RC-20080222.orig/gcc/gcc.c gcc-4.3.0-RC-20080222/gcc/gcc.c
---- gcc-4.3.0-RC-20080222.orig/gcc/gcc.c       2008-01-24 18:57:12.000000000 +0000
-+++ gcc-4.3.0-RC-20080222/gcc/gcc.c    2008-03-02 06:07:36.000000000 +0000
-@@ -6370,6 +6370,11 @@
-                             machine_suffix, 
-                             standard_startfile_prefix, NULL),
-                     NULL, PREFIX_PRIORITY_LAST, 0, 1);
-+        add_prefix (&startfile_prefixes,
-+                    concat (standard_exec_prefix,
-+                            machine_suffix,
-+                            standard_startfile_prefix, NULL),
-+                    NULL, PREFIX_PRIORITY_LAST, 0, 1);
-       }
-       /* Sysrooted prefixes are relocated because target_system_root is
diff --git a/src/patches/gcc-4.4.7-texinfo-5.patch b/src/patches/gcc-4.4.7-texinfo-5.patch
deleted file mode 100644 (file)
index 7b2e945..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-diff -Naur gcc-4.4.7.org/gcc/doc/cppopts.texi gcc-4.4.7/gcc/doc/cppopts.texi
---- gcc-4.4.7.org/gcc/doc/cppopts.texi 2008-06-15 11:42:13.000000000 +0200
-+++ gcc-4.4.7/gcc/doc/cppopts.texi     2013-09-08 16:50:14.353507748 +0200
-@@ -758,7 +758,7 @@
- Enable special code to work around file systems which only permit very
- short file names, such as MS-DOS@.
--@itemx --help
-+@item --help
- @itemx --target-help
- @opindex help
- @opindex target-help
-diff -Naur gcc-4.4.7.org/gcc/doc/c-tree.texi gcc-4.4.7/gcc/doc/c-tree.texi
---- gcc-4.4.7.org/gcc/doc/c-tree.texi  2009-02-20 16:20:38.000000000 +0100
-+++ gcc-4.4.7/gcc/doc/c-tree.texi      2013-09-08 17:53:21.055167463 +0200
-@@ -2338,13 +2338,13 @@
- not matter.  The type of the operands and that of the result are
- always of @code{BOOLEAN_TYPE} or @code{INTEGER_TYPE}.
--@itemx POINTER_PLUS_EXPR
-+@item POINTER_PLUS_EXPR
- This node represents pointer arithmetic.  The first operand is always
- a pointer/reference type.  The second operand is always an unsigned
- integer type compatible with sizetype.  This is the only binary
- arithmetic operand that can operate on pointer types.
--@itemx PLUS_EXPR
-+@item PLUS_EXPR
- @itemx MINUS_EXPR
- @itemx MULT_EXPR
- These nodes represent various binary arithmetic operations.
-diff -Naur gcc-4.4.7.org/gcc/doc/invoke.texi gcc-4.4.7/gcc/doc/invoke.texi
---- gcc-4.4.7.org/gcc/doc/invoke.texi  2011-03-23 23:02:12.000000000 +0100
-+++ gcc-4.4.7/gcc/doc/invoke.texi      2013-09-08 17:10:49.503066254 +0200
-@@ -4645,11 +4645,11 @@
- @option{-fdump-rtl-ce3} enable dumping after the three
- if conversion passes. 
--@itemx -fdump-rtl-cprop_hardreg
-+@item -fdump-rtl-cprop_hardreg
- @opindex fdump-rtl-cprop_hardreg
- Dump after hard register copy propagation.
--@itemx -fdump-rtl-csa
-+@item -fdump-rtl-csa
- @opindex fdump-rtl-csa
- Dump after combining stack adjustments.
-@@ -4660,11 +4660,11 @@
- @option{-fdump-rtl-cse1} and @option{-fdump-rtl-cse2} enable dumping after
- the two common sub-expression elimination passes.
--@itemx -fdump-rtl-dce
-+@item -fdump-rtl-dce
- @opindex fdump-rtl-dce
- Dump after the standalone dead code elimination passes.
--@itemx -fdump-rtl-dbr
-+@item -fdump-rtl-dbr
- @opindex fdump-rtl-dbr
- Dump after delayed branch scheduling.
-@@ -4709,7 +4709,7 @@
- @opindex fdump-rtl-initvals
- Dump after the computation of the initial value sets.
--@itemx -fdump-rtl-into_cfglayout
-+@item -fdump-rtl-into_cfglayout
- @opindex fdump-rtl-into_cfglayout
- Dump after converting to cfglayout mode.
-@@ -4739,7 +4739,7 @@
- @opindex fdump-rtl-rnreg
- Dump after register renumbering.
--@itemx -fdump-rtl-outof_cfglayout
-+@item -fdump-rtl-outof_cfglayout
- @opindex fdump-rtl-outof_cfglayout
- Dump after converting from cfglayout mode.
-@@ -4751,7 +4751,7 @@
- @opindex fdump-rtl-postreload
- Dump after post-reload optimizations.
--@itemx -fdump-rtl-pro_and_epilogue
-+@item -fdump-rtl-pro_and_epilogue
- @opindex fdump-rtl-pro_and_epilogue
- Dump after generating the function pro and epilogues.
diff --git a/src/patches/gcc/gcc-fix-inlining-issues.patch b/src/patches/gcc/gcc-fix-inlining-issues.patch
deleted file mode 100644 (file)
index 3c638e2..0000000
+++ /dev/null
@@ -1,1064 +0,0 @@
-From: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61164
-
---- trunk/libitm/local_atomic  2015/08/20 17:43:55     227039
-+++ trunk/libitm/local_atomic  2015/08/20 17:55:24     227040
-@@ -41,8 +41,7 @@
- #ifndef _GLIBCXX_ATOMIC
- #define _GLIBCXX_ATOMIC 1
--#undef  __always_inline
--#define __always_inline __attribute__((always_inline))
-+#define __libitm_always_inline __attribute__((always_inline))
- // #pragma GCC system_header
-@@ -74,7 +73,7 @@
-       memory_order_seq_cst
-     } memory_order;
--  inline __always_inline memory_order
-+  inline __libitm_always_inline memory_order
-   __calculate_memory_order(memory_order __m) noexcept
-   {
-     const bool __cond1 = __m == memory_order_release;
-@@ -84,13 +83,13 @@
-     return __mo2;
-   }
--  inline __always_inline void
-+  inline __libitm_always_inline void
-   atomic_thread_fence(memory_order __m) noexcept
-   {
-     __atomic_thread_fence (__m);
-   }
--  inline __always_inline void
-+  inline __libitm_always_inline void
-   atomic_signal_fence(memory_order __m) noexcept
-   {
-     __atomic_thread_fence (__m);
-@@ -280,19 +279,19 @@
-     // Conversion to ATOMIC_FLAG_INIT.
-     atomic_flag(bool __i) noexcept : __atomic_flag_base({ __i }) { }
--    __always_inline bool
-+    __libitm_always_inline bool
-     test_and_set(memory_order __m = memory_order_seq_cst) noexcept
-     {
-       return __atomic_test_and_set (&_M_i, __m);
-     }
--    __always_inline bool
-+    __libitm_always_inline bool
-     test_and_set(memory_order __m = memory_order_seq_cst) volatile noexcept
-     {
-       return __atomic_test_and_set (&_M_i, __m);
-     }
--    __always_inline void
-+    __libitm_always_inline void
-     clear(memory_order __m = memory_order_seq_cst) noexcept
-     {
-       // __glibcxx_assert(__m != memory_order_consume);
-@@ -302,7 +301,7 @@
-       __atomic_clear (&_M_i, __m);
-     }
--    __always_inline void
-+    __libitm_always_inline void
-     clear(memory_order __m = memory_order_seq_cst) volatile noexcept
-     {
-       // __glibcxx_assert(__m != memory_order_consume);
-@@ -455,7 +454,7 @@
-       is_lock_free() const volatile noexcept
-       { return __atomic_is_lock_free (sizeof (_M_i), &_M_i); }
--      __always_inline void
-+      __libitm_always_inline void
-       store(__int_type __i, memory_order __m = memory_order_seq_cst) noexcept
-       {
-       // __glibcxx_assert(__m != memory_order_acquire);
-@@ -465,7 +464,7 @@
-       __atomic_store_n(&_M_i, __i, __m);
-       }
--      __always_inline void
-+      __libitm_always_inline void
-       store(__int_type __i,
-           memory_order __m = memory_order_seq_cst) volatile noexcept
-       {
-@@ -476,7 +475,7 @@
-       __atomic_store_n(&_M_i, __i, __m);
-       }
--      __always_inline __int_type
-+      __libitm_always_inline __int_type
-       load(memory_order __m = memory_order_seq_cst) const noexcept
-       {
-       // __glibcxx_assert(__m != memory_order_release);
-@@ -485,7 +484,7 @@
-       return __atomic_load_n(&_M_i, __m);
-       }
--      __always_inline __int_type
-+      __libitm_always_inline __int_type
-       load(memory_order __m = memory_order_seq_cst) const volatile noexcept
-       {
-       // __glibcxx_assert(__m != memory_order_release);
-@@ -494,21 +493,21 @@
-       return __atomic_load_n(&_M_i, __m);
-       }
--      __always_inline __int_type
-+      __libitm_always_inline __int_type
-       exchange(__int_type __i,
-              memory_order __m = memory_order_seq_cst) noexcept
-       {
-       return __atomic_exchange_n(&_M_i, __i, __m);
-       }
--      __always_inline __int_type
-+      __libitm_always_inline __int_type
-       exchange(__int_type __i,
-              memory_order __m = memory_order_seq_cst) volatile noexcept
-       {
-       return __atomic_exchange_n(&_M_i, __i, __m);
-       }
--      __always_inline bool
-+      __libitm_always_inline bool
-       compare_exchange_weak(__int_type& __i1, __int_type __i2,
-                           memory_order __m1, memory_order __m2) noexcept
-       {
-@@ -519,7 +518,7 @@
-       return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 1, __m1, __m2);
-       }
--      __always_inline bool
-+      __libitm_always_inline bool
-       compare_exchange_weak(__int_type& __i1, __int_type __i2,
-                           memory_order __m1,
-                           memory_order __m2) volatile noexcept
-@@ -531,7 +530,7 @@
-       return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 1, __m1, __m2);
-       }
--      __always_inline bool
-+      __libitm_always_inline bool
-       compare_exchange_weak(__int_type& __i1, __int_type __i2,
-                           memory_order __m = memory_order_seq_cst) noexcept
-       {
-@@ -539,7 +538,7 @@
-                                    __calculate_memory_order(__m));
-       }
--      __always_inline bool
-+      __libitm_always_inline bool
-       compare_exchange_weak(__int_type& __i1, __int_type __i2,
-                  memory_order __m = memory_order_seq_cst) volatile noexcept
-       {
-@@ -547,7 +546,7 @@
-                                    __calculate_memory_order(__m));
-       }
--      __always_inline bool
-+      __libitm_always_inline bool
-       compare_exchange_strong(__int_type& __i1, __int_type __i2,
-                             memory_order __m1, memory_order __m2) noexcept
-       {
-@@ -558,7 +557,7 @@
-       return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 0, __m1, __m2);
-       }
--      __always_inline bool
-+      __libitm_always_inline bool
-       compare_exchange_strong(__int_type& __i1, __int_type __i2,
-                             memory_order __m1,
-                             memory_order __m2) volatile noexcept
-@@ -570,7 +569,7 @@
-       return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 0, __m1, __m2);
-       }
--      __always_inline bool
-+      __libitm_always_inline bool
-       compare_exchange_strong(__int_type& __i1, __int_type __i2,
-                             memory_order __m = memory_order_seq_cst) noexcept
-       {
-@@ -578,7 +577,7 @@
-                                      __calculate_memory_order(__m));
-       }
--      __always_inline bool
-+      __libitm_always_inline bool
-       compare_exchange_strong(__int_type& __i1, __int_type __i2,
-                memory_order __m = memory_order_seq_cst) volatile noexcept
-       {
-@@ -586,52 +585,52 @@
-                                      __calculate_memory_order(__m));
-       }
--      __always_inline __int_type
-+      __libitm_always_inline __int_type
-       fetch_add(__int_type __i,
-               memory_order __m = memory_order_seq_cst) noexcept
-       { return __atomic_fetch_add(&_M_i, __i, __m); }
--      __always_inline __int_type
-+      __libitm_always_inline __int_type
-       fetch_add(__int_type __i,
-               memory_order __m = memory_order_seq_cst) volatile noexcept
-       { return __atomic_fetch_add(&_M_i, __i, __m); }
--      __always_inline __int_type
-+      __libitm_always_inline __int_type
-       fetch_sub(__int_type __i,
-               memory_order __m = memory_order_seq_cst) noexcept
-       { return __atomic_fetch_sub(&_M_i, __i, __m); }
--      __always_inline __int_type
-+      __libitm_always_inline __int_type
-       fetch_sub(__int_type __i,
-               memory_order __m = memory_order_seq_cst) volatile noexcept
-       { return __atomic_fetch_sub(&_M_i, __i, __m); }
--      __always_inline __int_type
-+      __libitm_always_inline __int_type
-       fetch_and(__int_type __i,
-               memory_order __m = memory_order_seq_cst) noexcept
-       { return __atomic_fetch_and(&_M_i, __i, __m); }
--      __always_inline __int_type
-+      __libitm_always_inline __int_type
-       fetch_and(__int_type __i,
-               memory_order __m = memory_order_seq_cst) volatile noexcept
-       { return __atomic_fetch_and(&_M_i, __i, __m); }
--      __always_inline __int_type
-+      __libitm_always_inline __int_type
-       fetch_or(__int_type __i,
-              memory_order __m = memory_order_seq_cst) noexcept
-       { return __atomic_fetch_or(&_M_i, __i, __m); }
--      __always_inline __int_type
-+      __libitm_always_inline __int_type
-       fetch_or(__int_type __i,
-              memory_order __m = memory_order_seq_cst) volatile noexcept
-       { return __atomic_fetch_or(&_M_i, __i, __m); }
--      __always_inline __int_type
-+      __libitm_always_inline __int_type
-       fetch_xor(__int_type __i,
-               memory_order __m = memory_order_seq_cst) noexcept
-       { return __atomic_fetch_xor(&_M_i, __i, __m); }
--      __always_inline __int_type
-+      __libitm_always_inline __int_type
-       fetch_xor(__int_type __i,
-               memory_order __m = memory_order_seq_cst) volatile noexcept
-       { return __atomic_fetch_xor(&_M_i, __i, __m); }
-@@ -733,7 +732,7 @@
-       is_lock_free() const volatile noexcept
-       { return __atomic_is_lock_free (sizeof (_M_p), &_M_p); }
--      __always_inline void
-+      __libitm_always_inline void
-       store(__pointer_type __p,
-           memory_order __m = memory_order_seq_cst) noexcept
-       {
-@@ -744,7 +743,7 @@
-       __atomic_store_n(&_M_p, __p, __m);
-       }
--      __always_inline void
-+      __libitm_always_inline void
-       store(__pointer_type __p,
-           memory_order __m = memory_order_seq_cst) volatile noexcept
-       {
-@@ -755,7 +754,7 @@
-       __atomic_store_n(&_M_p, __p, __m);
-       }
--      __always_inline __pointer_type
-+      __libitm_always_inline __pointer_type
-       load(memory_order __m = memory_order_seq_cst) const noexcept
-       {
-       // __glibcxx_assert(__m != memory_order_release);
-@@ -764,7 +763,7 @@
-       return __atomic_load_n(&_M_p, __m);
-       }
--      __always_inline __pointer_type
-+      __libitm_always_inline __pointer_type
-       load(memory_order __m = memory_order_seq_cst) const volatile noexcept
-       {
-       // __glibcxx_assert(__m != memory_order_release);
-@@ -773,21 +772,21 @@
-       return __atomic_load_n(&_M_p, __m);
-       }
--      __always_inline __pointer_type
-+      __libitm_always_inline __pointer_type
-       exchange(__pointer_type __p,
-              memory_order __m = memory_order_seq_cst) noexcept
-       {
-       return __atomic_exchange_n(&_M_p, __p, __m);
-       }
--      __always_inline __pointer_type
-+      __libitm_always_inline __pointer_type
-       exchange(__pointer_type __p,
-              memory_order __m = memory_order_seq_cst) volatile noexcept
-       {
-       return __atomic_exchange_n(&_M_p, __p, __m);
-       }
--      __always_inline bool
-+      __libitm_always_inline bool
-       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
-                             memory_order __m1,
-                             memory_order __m2) noexcept
-@@ -799,7 +798,7 @@
-       return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 0, __m1, __m2);
-       }
--      __always_inline bool
-+      __libitm_always_inline bool
-       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
-                             memory_order __m1,
-                             memory_order __m2) volatile noexcept
-@@ -811,22 +810,22 @@
-       return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 0, __m1, __m2);
-       }
--      __always_inline __pointer_type
-+      __libitm_always_inline __pointer_type
-       fetch_add(ptrdiff_t __d,
-               memory_order __m = memory_order_seq_cst) noexcept
-       { return __atomic_fetch_add(&_M_p, __d, __m); }
--      __always_inline __pointer_type
-+      __libitm_always_inline __pointer_type
-       fetch_add(ptrdiff_t __d,
-               memory_order __m = memory_order_seq_cst) volatile noexcept
-       { return __atomic_fetch_add(&_M_p, __d, __m); }
--      __always_inline __pointer_type
-+      __libitm_always_inline __pointer_type
-       fetch_sub(ptrdiff_t __d,
-               memory_order __m = memory_order_seq_cst) noexcept
-       { return __atomic_fetch_sub(&_M_p, __d, __m); }
--      __always_inline __pointer_type
-+      __libitm_always_inline __pointer_type
-       fetch_sub(ptrdiff_t __d,
-               memory_order __m = memory_order_seq_cst) volatile noexcept
-       { return __atomic_fetch_sub(&_M_p, __d, __m); }
-@@ -870,67 +869,67 @@
-     bool
-     is_lock_free() const volatile noexcept { return _M_base.is_lock_free(); }
--    __always_inline void
-+    __libitm_always_inline void
-     store(bool __i, memory_order __m = memory_order_seq_cst) noexcept
-     { _M_base.store(__i, __m); }
--    __always_inline void
-+    __libitm_always_inline void
-     store(bool __i, memory_order __m = memory_order_seq_cst) volatile noexcept
-     { _M_base.store(__i, __m); }
--    __always_inline bool
-+    __libitm_always_inline bool
-     load(memory_order __m = memory_order_seq_cst) const noexcept
-     { return _M_base.load(__m); }
--    __always_inline bool
-+    __libitm_always_inline bool
-     load(memory_order __m = memory_order_seq_cst) const volatile noexcept
-     { return _M_base.load(__m); }
--    __always_inline bool
-+    __libitm_always_inline bool
-     exchange(bool __i, memory_order __m = memory_order_seq_cst) noexcept
-     { return _M_base.exchange(__i, __m); }
--    __always_inline bool
-+    __libitm_always_inline bool
-     exchange(bool __i,
-            memory_order __m = memory_order_seq_cst) volatile noexcept
-     { return _M_base.exchange(__i, __m); }
--    __always_inline bool
-+    __libitm_always_inline bool
-     compare_exchange_weak(bool& __i1, bool __i2, memory_order __m1,
-                         memory_order __m2) noexcept
-     { return _M_base.compare_exchange_weak(__i1, __i2, __m1, __m2); }
--    __always_inline bool
-+    __libitm_always_inline bool
-     compare_exchange_weak(bool& __i1, bool __i2, memory_order __m1,
-                         memory_order __m2) volatile noexcept
-     { return _M_base.compare_exchange_weak(__i1, __i2, __m1, __m2); }
--    __always_inline bool
-+    __libitm_always_inline bool
-     compare_exchange_weak(bool& __i1, bool __i2,
-                         memory_order __m = memory_order_seq_cst) noexcept
-     { return _M_base.compare_exchange_weak(__i1, __i2, __m); }
--    __always_inline bool
-+    __libitm_always_inline bool
-     compare_exchange_weak(bool& __i1, bool __i2,
-                    memory_order __m = memory_order_seq_cst) volatile noexcept
-     { return _M_base.compare_exchange_weak(__i1, __i2, __m); }
--    __always_inline bool
-+    __libitm_always_inline bool
-     compare_exchange_strong(bool& __i1, bool __i2, memory_order __m1,
-                           memory_order __m2) noexcept
-     { return _M_base.compare_exchange_strong(__i1, __i2, __m1, __m2); }
--    __always_inline bool
-+    __libitm_always_inline bool
-     compare_exchange_strong(bool& __i1, bool __i2, memory_order __m1,
-                           memory_order __m2) volatile noexcept
-     { return _M_base.compare_exchange_strong(__i1, __i2, __m1, __m2); }
--    __always_inline bool
-+    __libitm_always_inline bool
-     compare_exchange_strong(bool& __i1, bool __i2,
-                           memory_order __m = memory_order_seq_cst) noexcept
-     { return _M_base.compare_exchange_strong(__i1, __i2, __m); }
--    __always_inline bool
-+    __libitm_always_inline bool
-     compare_exchange_strong(bool& __i1, bool __i2,
-                   memory_order __m = memory_order_seq_cst) volatile noexcept
-     { return _M_base.compare_exchange_strong(__i1, __i2, __m); }
-@@ -980,11 +979,11 @@
-       store(_Tp __i, memory_order _m = memory_order_seq_cst) noexcept
-       { __atomic_store(&_M_i, &__i, _m); }
--      __always_inline void
-+      __libitm_always_inline void
-       store(_Tp __i, memory_order _m = memory_order_seq_cst) volatile noexcept
-       { __atomic_store(&_M_i, &__i, _m); }
--      __always_inline _Tp
-+      __libitm_always_inline _Tp
-       load(memory_order _m = memory_order_seq_cst) const noexcept
-       { 
-         _Tp tmp;
-@@ -992,7 +991,7 @@
-       return tmp;
-       }
--      __always_inline _Tp
-+      __libitm_always_inline _Tp
-       load(memory_order _m = memory_order_seq_cst) const volatile noexcept
-       { 
-         _Tp tmp;
-@@ -1000,7 +999,7 @@
-       return tmp;
-       }
--      __always_inline _Tp
-+      __libitm_always_inline _Tp
-       exchange(_Tp __i, memory_order _m = memory_order_seq_cst) noexcept
-       { 
-         _Tp tmp;
-@@ -1008,7 +1007,7 @@
-       return tmp;
-       }
--      __always_inline _Tp
-+      __libitm_always_inline _Tp
-       exchange(_Tp __i, 
-              memory_order _m = memory_order_seq_cst) volatile noexcept
-       { 
-@@ -1017,50 +1016,50 @@
-       return tmp;
-       }
--      __always_inline bool
-+      __libitm_always_inline bool
-       compare_exchange_weak(_Tp& __e, _Tp __i, memory_order __s, 
-                           memory_order __f) noexcept
-       {
-       return __atomic_compare_exchange(&_M_i, &__e, &__i, true, __s, __f); 
-       }
--      __always_inline bool
-+      __libitm_always_inline bool
-       compare_exchange_weak(_Tp& __e, _Tp __i, memory_order __s, 
-                           memory_order __f) volatile noexcept
-       {
-       return __atomic_compare_exchange(&_M_i, &__e, &__i, true, __s, __f); 
-       }
--      __always_inline bool
-+      __libitm_always_inline bool
-       compare_exchange_weak(_Tp& __e, _Tp __i,
-                           memory_order __m = memory_order_seq_cst) noexcept
-       { return compare_exchange_weak(__e, __i, __m, __m); }
--      __always_inline bool
-+      __libitm_always_inline bool
-       compare_exchange_weak(_Tp& __e, _Tp __i,
-                    memory_order __m = memory_order_seq_cst) volatile noexcept
-       { return compare_exchange_weak(__e, __i, __m, __m); }
--      __always_inline bool
-+      __libitm_always_inline bool
-       compare_exchange_strong(_Tp& __e, _Tp __i, memory_order __s, 
-                             memory_order __f) noexcept
-       {
-       return __atomic_compare_exchange(&_M_i, &__e, &__i, false, __s, __f); 
-       }
--      __always_inline bool
-+      __libitm_always_inline bool
-       compare_exchange_strong(_Tp& __e, _Tp __i, memory_order __s, 
-                             memory_order __f) volatile noexcept
-       {
-       return __atomic_compare_exchange(&_M_i, &__e, &__i, false, __s, __f); 
-       }
--      __always_inline bool
-+      __libitm_always_inline bool
-       compare_exchange_strong(_Tp& __e, _Tp __i,
-                              memory_order __m = memory_order_seq_cst) noexcept
-       { return compare_exchange_strong(__e, __i, __m, __m); }
--      __always_inline bool
-+      __libitm_always_inline bool
-       compare_exchange_strong(_Tp& __e, _Tp __i,
-                    memory_order __m = memory_order_seq_cst) volatile noexcept
-       { return compare_exchange_strong(__e, __i, __m, __m); }
-@@ -1153,46 +1152,46 @@
-       is_lock_free() const volatile noexcept
-       { return _M_b.is_lock_free(); }
--      __always_inline void
-+      __libitm_always_inline void
-       store(__pointer_type __p,
-           memory_order __m = memory_order_seq_cst) noexcept
-       { return _M_b.store(__p, __m); }
--      __always_inline void
-+      __libitm_always_inline void
-       store(__pointer_type __p,
-           memory_order __m = memory_order_seq_cst) volatile noexcept
-       { return _M_b.store(__p, __m); }
--      __always_inline __pointer_type
-+      __libitm_always_inline __pointer_type
-       load(memory_order __m = memory_order_seq_cst) const noexcept
-       { return _M_b.load(__m); }
--      __always_inline __pointer_type
-+      __libitm_always_inline __pointer_type
-       load(memory_order __m = memory_order_seq_cst) const volatile noexcept
-       { return _M_b.load(__m); }
--      __always_inline __pointer_type
-+      __libitm_always_inline __pointer_type
-       exchange(__pointer_type __p,
-              memory_order __m = memory_order_seq_cst) noexcept
-       { return _M_b.exchange(__p, __m); }
--      __always_inline __pointer_type
-+      __libitm_always_inline __pointer_type
-       exchange(__pointer_type __p,
-              memory_order __m = memory_order_seq_cst) volatile noexcept
-       { return _M_b.exchange(__p, __m); }
--      __always_inline bool
-+      __libitm_always_inline bool
-       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
-                           memory_order __m1, memory_order __m2) noexcept
-       { return _M_b.compare_exchange_strong(__p1, __p2, __m1, __m2); }
--      __always_inline bool
-+      __libitm_always_inline bool
-       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
-                           memory_order __m1,
-                           memory_order __m2) volatile noexcept
-       { return _M_b.compare_exchange_strong(__p1, __p2, __m1, __m2); }
--      __always_inline bool
-+      __libitm_always_inline bool
-       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
-                           memory_order __m = memory_order_seq_cst) noexcept
-       {
-@@ -1200,7 +1199,7 @@
-                                    __calculate_memory_order(__m));
-       }
--      __always_inline bool
-+      __libitm_always_inline bool
-       compare_exchange_weak(__pointer_type& __p1, __pointer_type __p2,
-                   memory_order __m = memory_order_seq_cst) volatile noexcept
-       {
-@@ -1208,18 +1207,18 @@
-                                    __calculate_memory_order(__m));
-       }
--      __always_inline bool
-+      __libitm_always_inline bool
-       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
-                             memory_order __m1, memory_order __m2) noexcept
-       { return _M_b.compare_exchange_strong(__p1, __p2, __m1, __m2); }
--      __always_inline bool
-+      __libitm_always_inline bool
-       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
-                             memory_order __m1,
-                             memory_order __m2) volatile noexcept
-       { return _M_b.compare_exchange_strong(__p1, __p2, __m1, __m2); }
--      __always_inline bool
-+      __libitm_always_inline bool
-       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
-                             memory_order __m = memory_order_seq_cst) noexcept
-       {
-@@ -1227,7 +1226,7 @@
-                                           __calculate_memory_order(__m));
-       }
--      __always_inline bool
-+      __libitm_always_inline bool
-       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
-                   memory_order __m = memory_order_seq_cst) volatile noexcept
-       {
-@@ -1235,22 +1234,22 @@
-                                           __calculate_memory_order(__m));
-       }
--      __always_inline __pointer_type
-+      __libitm_always_inline __pointer_type
-       fetch_add(ptrdiff_t __d,
-               memory_order __m = memory_order_seq_cst) noexcept
-       { return _M_b.fetch_add(__d, __m); }
--      __always_inline __pointer_type
-+      __libitm_always_inline __pointer_type
-       fetch_add(ptrdiff_t __d,
-               memory_order __m = memory_order_seq_cst) volatile noexcept
-       { return _M_b.fetch_add(__d, __m); }
--      __always_inline __pointer_type
-+      __libitm_always_inline __pointer_type
-       fetch_sub(ptrdiff_t __d,
-               memory_order __m = memory_order_seq_cst) noexcept
-       { return _M_b.fetch_sub(__d, __m); }
--      __always_inline __pointer_type
-+      __libitm_always_inline __pointer_type
-       fetch_sub(ptrdiff_t __d,
-               memory_order __m = memory_order_seq_cst) volatile noexcept
-       { return _M_b.fetch_sub(__d, __m); }
-@@ -1544,98 +1543,98 @@
-   // Function definitions, atomic_flag operations.
--  inline __always_inline bool
-+  inline __libitm_always_inline bool
-   atomic_flag_test_and_set_explicit(atomic_flag* __a,
-                                   memory_order __m) noexcept
-   { return __a->test_and_set(__m); }
--  inline __always_inline bool
-+  inline __libitm_always_inline bool
-   atomic_flag_test_and_set_explicit(volatile atomic_flag* __a,
-                                   memory_order __m) noexcept
-   { return __a->test_and_set(__m); }
--  inline __always_inline void
-+  inline __libitm_always_inline void
-   atomic_flag_clear_explicit(atomic_flag* __a, memory_order __m) noexcept
-   { __a->clear(__m); }
--  inline __always_inline void
-+  inline __libitm_always_inline void
-   atomic_flag_clear_explicit(volatile atomic_flag* __a,
-                            memory_order __m) noexcept
-   { __a->clear(__m); }
--  inline __always_inline bool
-+  inline __libitm_always_inline bool
-   atomic_flag_test_and_set(atomic_flag* __a) noexcept
-   { return atomic_flag_test_and_set_explicit(__a, memory_order_seq_cst); }
--  inline __always_inline bool
-+  inline __libitm_always_inline bool
-   atomic_flag_test_and_set(volatile atomic_flag* __a) noexcept
-   { return atomic_flag_test_and_set_explicit(__a, memory_order_seq_cst); }
--  inline __always_inline void
-+  inline __libitm_always_inline void
-   atomic_flag_clear(atomic_flag* __a) noexcept
-   { atomic_flag_clear_explicit(__a, memory_order_seq_cst); }
--  inline __always_inline void
-+  inline __libitm_always_inline void
-   atomic_flag_clear(volatile atomic_flag* __a) noexcept
-   { atomic_flag_clear_explicit(__a, memory_order_seq_cst); }
-   // Function templates generally applicable to atomic types.
-   template<typename _ITp>
--    __always_inline bool
-+    __libitm_always_inline bool
-     atomic_is_lock_free(const atomic<_ITp>* __a) noexcept
-     { return __a->is_lock_free(); }
-   template<typename _ITp>
--    __always_inline bool
-+    __libitm_always_inline bool
-     atomic_is_lock_free(const volatile atomic<_ITp>* __a) noexcept
-     { return __a->is_lock_free(); }
-   template<typename _ITp>
--    __always_inline void
-+    __libitm_always_inline void
-     atomic_init(atomic<_ITp>* __a, _ITp __i) noexcept;
-   template<typename _ITp>
--    __always_inline void
-+    __libitm_always_inline void
-     atomic_init(volatile atomic<_ITp>* __a, _ITp __i) noexcept;
-   template<typename _ITp>
--    __always_inline void
-+    __libitm_always_inline void
-     atomic_store_explicit(atomic<_ITp>* __a, _ITp __i,
-                         memory_order __m) noexcept
-     { __a->store(__i, __m); }
-   template<typename _ITp>
--    __always_inline void
-+    __libitm_always_inline void
-     atomic_store_explicit(volatile atomic<_ITp>* __a, _ITp __i,
-                         memory_order __m) noexcept
-     { __a->store(__i, __m); }
-   template<typename _ITp>
--    __always_inline _ITp
-+    __libitm_always_inline _ITp
-     atomic_load_explicit(const atomic<_ITp>* __a, memory_order __m) noexcept
-     { return __a->load(__m); }
-   template<typename _ITp>
--    __always_inline _ITp
-+    __libitm_always_inline _ITp
-     atomic_load_explicit(const volatile atomic<_ITp>* __a,
-                        memory_order __m) noexcept
-     { return __a->load(__m); }
-   template<typename _ITp>
--    __always_inline _ITp
-+    __libitm_always_inline _ITp
-     atomic_exchange_explicit(atomic<_ITp>* __a, _ITp __i,
-                            memory_order __m) noexcept
-     { return __a->exchange(__i, __m); }
-   template<typename _ITp>
--    __always_inline _ITp
-+    __libitm_always_inline _ITp
-     atomic_exchange_explicit(volatile atomic<_ITp>* __a, _ITp __i,
-                            memory_order __m) noexcept
-     { return __a->exchange(__i, __m); }
-   template<typename _ITp>
--    __always_inline bool
-+    __libitm_always_inline bool
-     atomic_compare_exchange_weak_explicit(atomic<_ITp>* __a,
-                                         _ITp* __i1, _ITp __i2,
-                                         memory_order __m1,
-@@ -1643,7 +1642,7 @@
-     { return __a->compare_exchange_weak(*__i1, __i2, __m1, __m2); }
-   template<typename _ITp>
--    __always_inline bool
-+    __libitm_always_inline bool
-     atomic_compare_exchange_weak_explicit(volatile atomic<_ITp>* __a,
-                                         _ITp* __i1, _ITp __i2,
-                                         memory_order __m1,
-@@ -1651,7 +1650,7 @@
-     { return __a->compare_exchange_weak(*__i1, __i2, __m1, __m2); }
-   template<typename _ITp>
--    __always_inline bool
-+    __libitm_always_inline bool
-     atomic_compare_exchange_strong_explicit(atomic<_ITp>* __a,
-                                           _ITp* __i1, _ITp __i2,
-                                           memory_order __m1,
-@@ -1659,7 +1658,7 @@
-     { return __a->compare_exchange_strong(*__i1, __i2, __m1, __m2); }
-   template<typename _ITp>
--    __always_inline bool
-+    __libitm_always_inline bool
-     atomic_compare_exchange_strong_explicit(volatile atomic<_ITp>* __a,
-                                           _ITp* __i1, _ITp __i2,
-                                           memory_order __m1,
-@@ -1668,37 +1667,37 @@
-   template<typename _ITp>
--    __always_inline void
-+    __libitm_always_inline void
-     atomic_store(atomic<_ITp>* __a, _ITp __i) noexcept
-     { atomic_store_explicit(__a, __i, memory_order_seq_cst); }
-   template<typename _ITp>
--    __always_inline void
-+    __libitm_always_inline void
-     atomic_store(volatile atomic<_ITp>* __a, _ITp __i) noexcept
-     { atomic_store_explicit(__a, __i, memory_order_seq_cst); }
-   template<typename _ITp>
--    __always_inline _ITp
-+    __libitm_always_inline _ITp
-     atomic_load(const atomic<_ITp>* __a) noexcept
-     { return atomic_load_explicit(__a, memory_order_seq_cst); }
-   template<typename _ITp>
--    __always_inline _ITp
-+    __libitm_always_inline _ITp
-     atomic_load(const volatile atomic<_ITp>* __a) noexcept
-     { return atomic_load_explicit(__a, memory_order_seq_cst); }
-   template<typename _ITp>
--    __always_inline _ITp
-+    __libitm_always_inline _ITp
-     atomic_exchange(atomic<_ITp>* __a, _ITp __i) noexcept
-     { return atomic_exchange_explicit(__a, __i, memory_order_seq_cst); }
-   template<typename _ITp>
--    __always_inline _ITp
-+    __libitm_always_inline _ITp
-     atomic_exchange(volatile atomic<_ITp>* __a, _ITp __i) noexcept
-     { return atomic_exchange_explicit(__a, __i, memory_order_seq_cst); }
-   template<typename _ITp>
--    __always_inline bool
-+    __libitm_always_inline bool
-     atomic_compare_exchange_weak(atomic<_ITp>* __a,
-                                _ITp* __i1, _ITp __i2) noexcept
-     {
-@@ -1708,7 +1707,7 @@
-     }
-   template<typename _ITp>
--    __always_inline bool
-+    __libitm_always_inline bool
-     atomic_compare_exchange_weak(volatile atomic<_ITp>* __a,
-                                _ITp* __i1, _ITp __i2) noexcept
-     {
-@@ -1718,7 +1717,7 @@
-     }
-   template<typename _ITp>
--    __always_inline bool
-+    __libitm_always_inline bool
-     atomic_compare_exchange_strong(atomic<_ITp>* __a,
-                                  _ITp* __i1, _ITp __i2) noexcept
-     {
-@@ -1728,7 +1727,7 @@
-     }
-   template<typename _ITp>
--    __always_inline bool
-+    __libitm_always_inline bool
-     atomic_compare_exchange_strong(volatile atomic<_ITp>* __a,
-                                  _ITp* __i1, _ITp __i2) noexcept
-     {
-@@ -1742,158 +1741,158 @@
-   // intergral types as specified in the standard, excluding address
-   // types.
-   template<typename _ITp>
--    __always_inline _ITp
-+    __libitm_always_inline _ITp
-     atomic_fetch_add_explicit(__atomic_base<_ITp>* __a, _ITp __i,
-                             memory_order __m) noexcept
-     { return __a->fetch_add(__i, __m); }
-   template<typename _ITp>
--    __always_inline _ITp
-+    __libitm_always_inline _ITp
-     atomic_fetch_add_explicit(volatile __atomic_base<_ITp>* __a, _ITp __i,
-                             memory_order __m) noexcept
-     { return __a->fetch_add(__i, __m); }
-   template<typename _ITp>
--    __always_inline _ITp
-+    __libitm_always_inline _ITp
-     atomic_fetch_sub_explicit(__atomic_base<_ITp>* __a, _ITp __i,
-                             memory_order __m) noexcept
-     { return __a->fetch_sub(__i, __m); }
-   template<typename _ITp>
--    __always_inline _ITp
-+    __libitm_always_inline _ITp
-     atomic_fetch_sub_explicit(volatile __atomic_base<_ITp>* __a, _ITp __i,
-                             memory_order __m) noexcept
-     { return __a->fetch_sub(__i, __m); }
-   template<typename _ITp>
--    __always_inline _ITp
-+    __libitm_always_inline _ITp
-     atomic_fetch_and_explicit(__atomic_base<_ITp>* __a, _ITp __i,
-                             memory_order __m) noexcept
-     { return __a->fetch_and(__i, __m); }
-   template<typename _ITp>
--    __always_inline _ITp
-+    __libitm_always_inline _ITp
-     atomic_fetch_and_explicit(volatile __atomic_base<_ITp>* __a, _ITp __i,
-                             memory_order __m) noexcept
-     { return __a->fetch_and(__i, __m); }
-   template<typename _ITp>
--    __always_inline _ITp
-+    __libitm_always_inline _ITp
-     atomic_fetch_or_explicit(__atomic_base<_ITp>* __a, _ITp __i,
-                            memory_order __m) noexcept
-     { return __a->fetch_or(__i, __m); }
-   template<typename _ITp>
--    __always_inline _ITp
-+    __libitm_always_inline _ITp
-     atomic_fetch_or_explicit(volatile __atomic_base<_ITp>* __a, _ITp __i,
-                            memory_order __m) noexcept
-     { return __a->fetch_or(__i, __m); }
-   template<typename _ITp>
--    __always_inline _ITp
-+    __libitm_always_inline _ITp
-     atomic_fetch_xor_explicit(__atomic_base<_ITp>* __a, _ITp __i,
-                             memory_order __m) noexcept
-     { return __a->fetch_xor(__i, __m); }
-   template<typename _ITp>
--    __always_inline _ITp
-+    __libitm_always_inline _ITp
-     atomic_fetch_xor_explicit(volatile __atomic_base<_ITp>* __a, _ITp __i,
-                             memory_order __m) noexcept
-     { return __a->fetch_xor(__i, __m); }
-   template<typename _ITp>
--    __always_inline _ITp
-+    __libitm_always_inline _ITp
-     atomic_fetch_add(__atomic_base<_ITp>* __a, _ITp __i) noexcept
-     { return atomic_fetch_add_explicit(__a, __i, memory_order_seq_cst); }
-   template<typename _ITp>
--    __always_inline _ITp
-+    __libitm_always_inline _ITp
-     atomic_fetch_add(volatile __atomic_base<_ITp>* __a, _ITp __i) noexcept
-     { return atomic_fetch_add_explicit(__a, __i, memory_order_seq_cst); }
-   template<typename _ITp>
--    __always_inline _ITp
-+    __libitm_always_inline _ITp
-     atomic_fetch_sub(__atomic_base<_ITp>* __a, _ITp __i) noexcept
-     { return atomic_fetch_sub_explicit(__a, __i, memory_order_seq_cst); }
-   template<typename _ITp>
--    __always_inline _ITp
-+    __libitm_always_inline _ITp
-     atomic_fetch_sub(volatile __atomic_base<_ITp>* __a, _ITp __i) noexcept
-     { return atomic_fetch_sub_explicit(__a, __i, memory_order_seq_cst); }
-   template<typename _ITp>
--    __always_inline _ITp
-+    __libitm_always_inline _ITp
-     atomic_fetch_and(__atomic_base<_ITp>* __a, _ITp __i) noexcept
-     { return atomic_fetch_and_explicit(__a, __i, memory_order_seq_cst); }
-   template<typename _ITp>
--    __always_inline _ITp
-+    __libitm_always_inline _ITp
-     atomic_fetch_and(volatile __atomic_base<_ITp>* __a, _ITp __i) noexcept
-     { return atomic_fetch_and_explicit(__a, __i, memory_order_seq_cst); }
-   template<typename _ITp>
--    __always_inline _ITp
-+    __libitm_always_inline _ITp
-     atomic_fetch_or(__atomic_base<_ITp>* __a, _ITp __i) noexcept
-     { return atomic_fetch_or_explicit(__a, __i, memory_order_seq_cst); }
-   template<typename _ITp>
--    __always_inline _ITp
-+    __libitm_always_inline _ITp
-     atomic_fetch_or(volatile __atomic_base<_ITp>* __a, _ITp __i) noexcept
-     { return atomic_fetch_or_explicit(__a, __i, memory_order_seq_cst); }
-   template<typename _ITp>
--    __always_inline _ITp
-+    __libitm_always_inline _ITp
-     atomic_fetch_xor(__atomic_base<_ITp>* __a, _ITp __i) noexcept
-     { return atomic_fetch_xor_explicit(__a, __i, memory_order_seq_cst); }
-   template<typename _ITp>
--    __always_inline _ITp
-+    __libitm_always_inline _ITp
-     atomic_fetch_xor(volatile __atomic_base<_ITp>* __a, _ITp __i) noexcept
-     { return atomic_fetch_xor_explicit(__a, __i, memory_order_seq_cst); }
-   // Partial specializations for pointers.
-   template<typename _ITp>
--    __always_inline _ITp*
-+    __libitm_always_inline _ITp*
-     atomic_fetch_add_explicit(atomic<_ITp*>* __a, ptrdiff_t __d,
-                             memory_order __m) noexcept
-     { return __a->fetch_add(__d, __m); }
-   template<typename _ITp>
--    __always_inline _ITp*
-+    __libitm_always_inline _ITp*
-     atomic_fetch_add_explicit(volatile atomic<_ITp*>* __a, ptrdiff_t __d,
-                             memory_order __m) noexcept
-     { return __a->fetch_add(__d, __m); }
-   template<typename _ITp>
--    __always_inline _ITp*
-+    __libitm_always_inline _ITp*
-     atomic_fetch_add(volatile atomic<_ITp*>* __a, ptrdiff_t __d) noexcept
-     { return __a->fetch_add(__d); }
-   template<typename _ITp>
--    __always_inline _ITp*
-+    __libitm_always_inline _ITp*
-     atomic_fetch_add(atomic<_ITp*>* __a, ptrdiff_t __d) noexcept
-     { return __a->fetch_add(__d); }
-   template<typename _ITp>
--    __always_inline _ITp*
-+    __libitm_always_inline _ITp*
-     atomic_fetch_sub_explicit(volatile atomic<_ITp*>* __a,
-                             ptrdiff_t __d, memory_order __m) noexcept
-     { return __a->fetch_sub(__d, __m); }
-   template<typename _ITp>
--    __always_inline _ITp*
-+    __libitm_always_inline _ITp*
-     atomic_fetch_sub_explicit(atomic<_ITp*>* __a, ptrdiff_t __d,
-                             memory_order __m) noexcept
-     { return __a->fetch_sub(__d, __m); }
-   template<typename _ITp>
--    __always_inline _ITp*
-+    __libitm_always_inline _ITp*
-     atomic_fetch_sub(volatile atomic<_ITp*>* __a, ptrdiff_t __d) noexcept
-     { return __a->fetch_sub(__d); }
-   template<typename _ITp>
--    __always_inline _ITp*
-+    __libitm_always_inline _ITp*
-     atomic_fetch_sub(atomic<_ITp*>* __a, ptrdiff_t __d) noexcept
-     { return __a->fetch_sub(__d); }
-   // @} group atomics
diff --git a/src/patches/gcc/gcc49-i386-libgomp.patch b/src/patches/gcc/gcc49-i386-libgomp.patch
deleted file mode 100644 (file)
index 520561e..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- libgomp/configure.tgt.jj   2008-01-10 20:53:48.000000000 +0100
-+++ libgomp/configure.tgt      2008-03-27 12:44:51.000000000 +0100
-@@ -67,7 +67,7 @@ if test $enable_linux_futex = yes; then
-           ;;
-         *)
-           if test -z "$with_arch"; then
--            XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}"
-+            XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic"
-           fi
-       esac
-       ;;
diff --git a/src/patches/gcc/gcc49-libtool-no-rpath.patch b/src/patches/gcc/gcc49-libtool-no-rpath.patch
deleted file mode 100644 (file)
index 466c661..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-libtool sucks.
---- ltmain.sh.jj       2007-12-07 14:53:21.000000000 +0100
-+++ ltmain.sh  2008-09-05 21:51:48.000000000 +0200
-@@ -5394,6 +5394,7 @@ EOF
-         rpath="$finalize_rpath"
-         test "$mode" != relink && rpath="$compile_rpath$rpath"
-         for libdir in $rpath; do
-+          case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac
-           if test -n "$hardcode_libdir_flag_spec"; then
-             if test -n "$hardcode_libdir_separator"; then
-               if test -z "$hardcode_libdirs"; then
-@@ -6071,6 +6072,7 @@ EOF
-       rpath=
-       hardcode_libdirs=
-       for libdir in $compile_rpath $finalize_rpath; do
-+      case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac
-       if test -n "$hardcode_libdir_flag_spec"; then
-         if test -n "$hardcode_libdir_separator"; then
-           if test -z "$hardcode_libdirs"; then
-@@ -6120,6 +6122,7 @@ EOF
-       rpath=
-       hardcode_libdirs=
-       for libdir in $finalize_rpath; do
-+      case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac
-       if test -n "$hardcode_libdir_flag_spec"; then
-         if test -n "$hardcode_libdir_separator"; then
-           if test -z "$hardcode_libdirs"; then
diff --git a/src/patches/gcc/gcc49-no-add-needed.patch b/src/patches/gcc/gcc49-no-add-needed.patch
deleted file mode 100644 (file)
index b6ca777..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-2010-02-08  Roland McGrath  <roland@redhat.com>
-
-       * config/rs6000/sysv4.h (LINK_EH_SPEC): Pass --no-add-needed to the
-       linker.
-       * config/gnu-user.h (LINK_EH_SPEC): Likewise.
-       * config/alpha/elf.h (LINK_EH_SPEC): Likewise.
-       * config/ia64/linux.h (LINK_EH_SPEC): Likewise.
-
---- gcc/config/alpha/elf.h.jj  2011-01-03 12:52:31.118056764 +0100
-+++ gcc/config/alpha/elf.h     2011-01-04 18:14:10.931874160 +0100
-@@ -165,5 +165,5 @@ extern int alpha_this_gpdisp_sequence_nu
-    I imagine that other systems will catch up.  In the meantime, it
-    doesn't harm to make sure that the data exists to be used later.  */
- #if defined(HAVE_LD_EH_FRAME_HDR)
--#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
-+#define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} "
- #endif
---- gcc/config/ia64/linux.h.jj 2011-01-03 13:02:11.462994522 +0100
-+++ gcc/config/ia64/linux.h    2011-01-04 18:14:10.931874160 +0100
-@@ -77,7 +77,7 @@ do {                                         \
-    Signalize that because we have fde-glibc, we don't need all C shared libs
-    linked against -lgcc_s.  */
- #undef LINK_EH_SPEC
--#define LINK_EH_SPEC ""
-+#define LINK_EH_SPEC "--no-add-needed "
- /* Put all *tf routines in libgcc.  */
- #undef LIBGCC2_HAS_TF_MODE
---- gcc/config/gnu-user.h.jj   2011-01-03 12:53:03.739057299 +0100
-+++ gcc/config/gnu-user.h      2011-01-04 18:14:10.932814884 +0100
-@@ -82,7 +82,7 @@ see the files COPYING3 and COPYING.RUNTI
- #define LIB_SPEC GNU_USER_TARGET_LIB_SPEC
- #if defined(HAVE_LD_EH_FRAME_HDR)
--#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
-+#define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} "
- #endif
- #undef LINK_GCC_C_SEQUENCE_SPEC
---- gcc/config/rs6000/sysv4.h.jj       2011-01-03 13:02:18.255994215 +0100
-+++ gcc/config/rs6000/sysv4.h  2011-01-04 18:14:10.933888871 +0100
-@@ -820,7 +820,7 @@ extern int fixuplabelno;
-   -dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}"
- #if defined(HAVE_LD_EH_FRAME_HDR)
--# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
-+# define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} "
- #endif
- #define CPP_OS_LINUX_SPEC "-D__unix__ -D__gnu_linux__ -D__linux__ \
diff --git a/src/patches/gcc/gcc49-pr38757.patch b/src/patches/gcc/gcc49-pr38757.patch
deleted file mode 100644 (file)
index 4206584..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-2009-03-18  Jakub Jelinek  <jakub@redhat.com>
-
-       PR debug/38757
-       * langhooks.h (struct lang_hooks): Add source_language langhook.
-       * langhooks-def.h (LANG_HOOKS_SOURCE_LANGUAGE): Define to NULL.
-       (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_SOURCE_LANGUAGE.
-       * dwarf2out.c (add_prototyped_attribute): Add DW_AT_prototype
-       also for DW_LANG_{C,C99,ObjC}.
-       (gen_compile_unit_die): Use lang_hooks.source_language () to
-       determine if DW_LANG_C99 or DW_LANG_C89 should be returned.
-c/
-       * c-lang.c (c_source_language): New function.
-       (LANG_HOOKS_SOURCE_LANGUAGE): Define.
-
---- gcc/langhooks.h.jj 2011-01-03 12:53:05.125745450 +0100
-+++ gcc/langhooks.h    2011-01-04 17:59:43.166744926 +0100
-@@ -467,6 +467,10 @@ struct lang_hooks
-      gimplification.  */
-   bool deep_unsharing;
-+  /* Return year of the source language standard version if the FE supports
-+     multiple versions of the standard.  */
-+  int (*source_language) (void);
-+
-   /* Whenever you add entries here, make sure you adjust langhooks-def.h
-      and langhooks.c accordingly.  */
- };
---- gcc/langhooks-def.h.jj     2011-01-03 12:53:05.000000000 +0100
-+++ gcc/langhooks-def.h        2011-01-04 18:00:44.858851030 +0100
-@@ -118,6 +118,7 @@ extern void lhd_omp_firstprivatize_type_
- #define LANG_HOOKS_BLOCK_MAY_FALLTHRU hook_bool_const_tree_true
- #define LANG_HOOKS_EH_USE_CXA_END_CLEANUP     false
- #define LANG_HOOKS_DEEP_UNSHARING     false
-+#define LANG_HOOKS_SOURCE_LANGUAGE    NULL
- /* Attribute hooks.  */
- #define LANG_HOOKS_ATTRIBUTE_TABLE            NULL
-@@ -303,7 +304,8 @@ extern void lhd_end_section (void);
-   LANG_HOOKS_EH_PROTECT_CLEANUP_ACTIONS, \
-   LANG_HOOKS_BLOCK_MAY_FALLTHRU, \
-   LANG_HOOKS_EH_USE_CXA_END_CLEANUP, \
--  LANG_HOOKS_DEEP_UNSHARING \
-+  LANG_HOOKS_DEEP_UNSHARING, \
-+  LANG_HOOKS_SOURCE_LANGUAGE \
- }
- #endif /* GCC_LANG_HOOKS_DEF_H */
---- gcc/c/c-lang.c.jj  2011-01-03 12:53:05.376056936 +0100
-+++ gcc/c/c-lang.c     2011-01-04 17:59:43.167743798 +0100
-@@ -36,6 +36,12 @@ along with GCC; see the file COPYING3.
- enum c_language_kind c_language = clk_c;
-+static int
-+c_source_language (void)
-+{
-+  return flag_isoc99 ? 1999 : 1989;
-+}
-+
- /* Lang hooks common to C and ObjC are declared in c-objc-common.h;
-    consequently, there should be very few hooks below.  */
-@@ -45,6 +51,8 @@ enum c_language_kind c_language = clk_c;
- #define LANG_HOOKS_INIT c_objc_common_init
- #undef LANG_HOOKS_INIT_TS
- #define LANG_HOOKS_INIT_TS c_common_init_ts
-+#undef LANG_HOOKS_SOURCE_LANGUAGE
-+#define LANG_HOOKS_SOURCE_LANGUAGE c_source_language
- /* Each front end provides its own lang hook initializer.  */
- struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
---- gcc/dwarf2out.c.jj 2011-01-03 12:53:05.102056475 +0100
-+++ gcc/dwarf2out.c    2011-01-04 18:03:14.534151763 +0100
-@@ -16109,9 +16109,18 @@ add_bit_size_attribute (dw_die_ref die,
- static inline void
- add_prototyped_attribute (dw_die_ref die, tree func_type)
- {
--  if (get_AT_unsigned (comp_unit_die (), DW_AT_language) == DW_LANG_C89
--      && prototype_p (func_type))
--    add_AT_flag (die, DW_AT_prototyped, 1);
-+  switch (get_AT_unsigned (comp_unit_die (), DW_AT_language))
-+    {
-+    case DW_LANG_C:
-+    case DW_LANG_C89:
-+    case DW_LANG_C99:
-+    case DW_LANG_ObjC:
-+      if (prototype_p (func_type))
-+      add_AT_flag (die, DW_AT_prototyped, 1);
-+      break;
-+    default:
-+      break;
-+    }
- }
- /* Add an 'abstract_origin' attribute below a given DIE.  The DIE is found
-@@ -18915,6 +18924,10 @@ gen_compile_unit_die (const char *filena
-         if (strcmp (language_string, "GNU Go") == 0)
-           language = DW_LANG_Go;
-       }
-+      else if (strcmp (language_string, "GNU C") == 0
-+             && lang_hooks.source_language
-+             && lang_hooks.source_language () >= 1999)
-+      language = DW_LANG_C99;
-     }
-   /* Use a degraded Fortran setting in strict DWARF2 so is_fortran works.  */
-   else if (strcmp (language_string, "GNU Fortran") == 0)
diff --git a/src/patches/gcc/gcc49-pr64336.patch b/src/patches/gcc/gcc49-pr64336.patch
deleted file mode 100644 (file)
index 86fddd5..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-2014-12-17  Jakub Jelinek  <jakub@redhat.com>
-
-       PR sanitizer/64336
-       * tsan.c (instrument_expr): Ignore TREE_READONLY bit
-       on MEM_REFs.
-
---- gcc/tsan.c.jj      2014-12-17 10:53:30.000000000 +0100
-+++ gcc/tsan.c 2014-12-17 11:55:12.793058159 +0100
-@@ -138,7 +138,7 @@ instrument_expr (gimple_stmt_iterator gs
-       return false;
-     }
--  if (TREE_READONLY (base)
-+  if ((TREE_READONLY (base) && TREE_CODE (base) != MEM_REF)
-       || (TREE_CODE (base) == VAR_DECL
-         && DECL_HARD_REGISTER (base)))
-     return false;
diff --git a/src/patches/glibc-2.12-accept-make-versions-4.0-and-greater.patch b/src/patches/glibc-2.12-accept-make-versions-4.0-and-greater.patch
deleted file mode 100644 (file)
index 7faf857..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-From 28d708c44bc47b56f6551ff285f78edcf61c208a Mon Sep 17 00:00:00 2001
-From: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
-Date: Thu, 31 Oct 2013 12:37:50 +1000
-Subject: Accept make versions 4.0 and greater
-
-
-diff --git a/configure b/configure
-index f382138..5e61abd 100755
---- a/configure
-+++ b/configure
-@@ -4761,7 +4761,7 @@ $as_echo_n "checking version of $MAKE... " >&6; }
-   ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'`
-   case $ac_prog_version in
-     '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
--    3.79* | 3.[89]*)
-+    3.79* | 3.[89]* | [4-9].* | [1-9][0-9]*)
-        ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
-     *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
-diff --git a/configure.in b/configure.in
-index 49b70fd..6da8efd 100644
---- a/configure.in
-+++ b/configure.in
-@@ -984,7 +984,7 @@ AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}gcc ${ac_tool_prefix}cc, -v,
-   critic_missing="$critic_missing gcc")
- AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version,
-   [GNU Make[^0-9]*\([0-9][0-9.]*\)],
--  [3.79* | 3.[89]*], critic_missing="$critic_missing make")
-+  [3.79* | 3.[89]* | [4-9].* | [1-9][0-9]*], critic_missing="$critic_missing make")
- AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version,
-   [GNU gettext.* \([0-9]*\.[0-9.]*\)],
--- 
-cgit v0.10.2
-
diff --git a/src/patches/glibc-cfi-entry-not-closed.patch b/src/patches/glibc-cfi-entry-not-closed.patch
deleted file mode 100644 (file)
index 02cfe8f..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
---- glibc-2.12.2/ports/sysdeps/unix/sysv/linux/arm/sigrestorer.S       2011-09-08 22:22:41.000000000 +0400
-+++ glibc-2.12.2/ports/sysdeps/unix/sysv/linux/arm/sigrestorer.S       2011-09-08 21:44:49.000000000 +0400
-@@ -18,16 +18,20 @@ 
- #include <sysdep.h>
-+        .text
-+
- /* If no SA_RESTORER function was specified by the application we use
-    one of these.  This avoids the need for the kernel to synthesise a return
-    instruction on the stack, which would involve expensive cache flushes. */
- ENTRY(__default_sa_restorer)
-       swi     SYS_ify(sigreturn)
-+PSEUDO_END (__default_sa_restorer)
- #ifdef __NR_rt_sigreturn
- ENTRY(__default_rt_sa_restorer)
-       swi     SYS_ify(rt_sigreturn)
-+PSEUDO_END (__default_rt_sa_restorer)
- #endif
diff --git a/src/patches/glibc-remove-ctors-dtors-output-sections.patch b/src/patches/glibc-remove-ctors-dtors-output-sections.patch
deleted file mode 100644 (file)
index 91155c9..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-From 4a531bb0b3b582cb693de9f76d2d97d970f9a5d5 Mon Sep 17 00:00:00 2001
-From: H.J. Lu <hongjiu.lu@intel.com>
-Date: Fri, 24 Dec 2010 20:14:37 -0500
-Subject: [PATCH] Remove `.ctors' and `.dtors' output sections
-
----
- config.h.in                            |    3 +
- configure.in                           |    2 +
- elf/sofini.c                           |    2 +
- elf/soinit.c                           |    2 +
- sysdeps/i386/init-first.c              |    2 +
- sysdeps/mach/hurd/i386/init-first.c    |    2 +-
- sysdeps/mach/hurd/powerpc/init-first.c |    2 +-
- sysdeps/sh/init-first.c                |    2 +
- sysdeps/unix/sysv/linux/init-first.c   |    2 +-
- 9 files changed, 16 insertions(+), 3 deletions(-)
-
-diff --git a/config.h.in b/config.h.in
-index 18bf01a..9e797eb 100644
---- a/config.h.in
-+++ b/config.h.in
-@@ -201,6 +201,9 @@
- /* Define if multi-arch DSOs should be generated.  */
- #undef USE_MULTIARCH
-+/* Define if `.ctors' and `.dtors' sections shouldn't be used.  */
-+#undef        NO_CTORS_DTORS_SECTIONS
-+
- /*
\f */
-diff --git a/configure.in b/configure.in
-index d8cd5f1..ad25b9b 100644
---- a/configure.in
-+++ b/configure.in
-@@ -1497,6 +1497,8 @@ EOF
-   rm -f conftest*])
-   if test $libc_cv_initfini_array != yes; then
-     AC_MSG_ERROR([Need linker with .init_array/.fini_array support.])
-+  elif AC_TRY_COMMAND([${CC-cc} -Wl,--verbose 2>&1|grep SORT_BY_INIT_PRIORITY 1>&AS_MESSAGE_LOG_FD]); then
-+    AC_DEFINE(NO_CTORS_DTORS_SECTIONS)
-   fi
-   AC_CACHE_CHECK(for libunwind-support in compiler,
-diff --git a/elf/sofini.c b/elf/sofini.c
-index 5e06f0c..13e74b7 100644
---- a/elf/sofini.c
-+++ b/elf/sofini.c
-@@ -1,12 +1,14 @@
- /* Finalizer module for ELF shared C library.  This provides terminating
-    null pointer words in the `.ctors' and `.dtors' sections.  */
-+#ifndef NO_CTORS_DTORS_SECTIONS
- static void (*const __CTOR_END__[1]) (void)
-      __attribute__ ((used, section (".ctors")))
-      = { 0 };
- static void (*const __DTOR_END__[1]) (void)
-      __attribute__ ((used, section (".dtors")))
-      = { 0 };
-+#endif
- /* Terminate the frame unwind info section with a 4byte 0 as a sentinel;
-    this would be the 'length' field in a real FDE.  */
-diff --git a/elf/soinit.c b/elf/soinit.c
-index 6fecbb5..1db676a 100644
---- a/elf/soinit.c
-+++ b/elf/soinit.c
-@@ -3,6 +3,7 @@
-    the `.ctors' and `.dtors' sections so the lists are terminated, and
-    calling those lists of functions.  */
-+#ifndef NO_CTORS_DTORS_SECTIONS
- #include <libc-internal.h>
- #include <stdlib.h>
-@@ -40,3 +41,4 @@ __libc_fini (void)
- void (*_fini_ptr) (void) __attribute__ ((section (".fini_array")))
-      = &__libc_fini;
-+#endif
-diff --git a/sysdeps/i386/init-first.c b/sysdeps/i386/init-first.c
-index c6355a8..2af042f 100644
---- a/sysdeps/i386/init-first.c
-+++ b/sysdeps/i386/init-first.c
-@@ -59,7 +59,9 @@ _init (int argc, ...)
- {
-   init (&argc);
-+#ifndef NO_CTORS_DTORS_SECTIONS
-   __libc_global_ctors ();
-+#endif
- }
- #endif
-diff --git a/sysdeps/mach/hurd/i386/init-first.c b/sysdeps/mach/hurd/i386/init-first.c
-index f9a7a58..60823bd 100644
---- a/sysdeps/mach/hurd/i386/init-first.c
-+++ b/sysdeps/mach/hurd/i386/init-first.c
-@@ -92,7 +92,7 @@ posixland_init (int argc, char **argv, char **envp)
-   __getopt_clean_environment (envp);
- #endif
--#ifdef SHARED
-+#if defined SHARED && !defined NO_CTORS_DTORS_SECTIONS
-   __libc_global_ctors ();
- #endif
- }
-diff --git a/sysdeps/mach/hurd/powerpc/init-first.c b/sysdeps/mach/hurd/powerpc/init-first.c
-index 20fa1d4..21b5054 100644
---- a/sysdeps/mach/hurd/powerpc/init-first.c
-+++ b/sysdeps/mach/hurd/powerpc/init-first.c
-@@ -82,7 +82,7 @@ posixland_init (int argc, char **argv, char **envp)
-   __getopt_clean_environment (__environ);
- #endif
--#ifdef SHARED
-+#if defined SHARED && !defined NO_CTORS_DTORS_SECTIONS
-   __libc_global_ctors ();
- #endif
- }
-diff --git a/sysdeps/sh/init-first.c b/sysdeps/sh/init-first.c
-index d816625..1f3a821 100644
---- a/sysdeps/sh/init-first.c
-+++ b/sysdeps/sh/init-first.c
-@@ -59,7 +59,9 @@ _init (int argc, ...)
- {
-   init (&argc);
-+#ifndef NO_CTORS_DTORS_SECTIONS
-   __libc_global_ctors ();
-+#endif
- }
- #endif
-diff --git a/sysdeps/unix/sysv/linux/init-first.c b/sysdeps/unix/sysv/linux/init-first.c
-index 7b2333d..a60212f 100644
---- a/sysdeps/unix/sysv/linux/init-first.c
-+++ b/sysdeps/unix/sysv/linux/init-first.c
-@@ -93,7 +93,7 @@ _init (int argc, char **argv, char **envp)
-   __getopt_clean_environment (envp);
- #endif
--#ifdef SHARED
-+#if defined SHARED && !defined NO_CTORS_DTORS_SECTIONS
-   __libc_global_ctors ();
- #endif
- }
--- 
-1.7.3.4
-
diff --git a/src/patches/glibc-resolv-stack_chk_fail.patch b/src/patches/glibc-resolv-stack_chk_fail.patch
deleted file mode 100644 (file)
index 00bb710..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-From e057a1b5930ec538c2b8abbba700a436ef2c81d5 Mon Sep 17 00:00:00 2001
-From: Joseph Myers <joseph@codesourcery.com>
-Date: Wed, 21 Sep 2011 13:27:50 -0700
-Subject: [PATCH] Link libresolv.so with ld.so for __stack_chk_guard.
-
----
- resolv/Makefile |    8 +++++++-
- 1 files changed, 7 insertions(+), 1 deletions(-)
-
-diff --git a/resolv/Makefile b/resolv/Makefile
-index ec3788f..b4287de 100644
---- a/resolv/Makefile
-+++ b/resolv/Makefile
-@@ -1,4 +1,5 @@
--# Copyright (C) 1994-2001,2003,2004,2007,2008 Free Software Foundation, Inc.
-+# Copyright (C) 1994-2001,2003,2004,2007,2008,2011
-+#     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
-@@ -88,6 +89,11 @@ CFLAGS-res_hconf.c = -fexceptions
- # This ensures they will load libc.so for needed symbols if loaded by
- # a statically-linked program that hasn't already loaded it.
- $(objpfx)libresolv.so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a
-+# Some hosts need '__stack_chk_guard', so pull in the definition from
-+# ld.so if required.
-+ifeq (yesyes,$(have-ssp)$(elf))
-+LDLIBS-resolv.so += $(as-needed) $(elfobjdir)/ld.so $(no-as-needed)
-+endif
- # The DNS NSS modules needs the resolver.
- $(objpfx)libnss_dns.so: $(objpfx)libresolv.so $(common-objpfx)libc.so \
--- 
-1.7.3.4
-
diff --git a/src/patches/glibc-test-installation.pl-libgcc_s.patch b/src/patches/glibc-test-installation.pl-libgcc_s.patch
deleted file mode 100644 (file)
index 2221353..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-diff -Naur glibc-2.12-2-gc4ccff1.org/nptl/sysdeps/pthread/unwind-forcedunwind.c glibc-2.12-2-gc4ccff1/nptl/sysdeps/pthread/unwind-forcedunwind.c
-index db56428..495f4b7 100644
---- glibc-2.12-2-gc4ccff1.org/nptl/sysdeps/pthread/unwind-forcedunwind.c
-+++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/pthread/unwind-forcedunwind.c
-@@ -22,7 +22,7 @@
- #include <unwind.h>
- #include <pthreadP.h>
- #include <sysdep.h>
--#include <libgcc_s.h>
-+#include <gnu/lib-names.h>
- static void *libgcc_s_handle;
- static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
-diff -Naur glibc-2.12-2-gc4ccff1.org/scripts/test-installation.pl glibc-2.12-2-gc4ccff1/scripts/test-installation.pl
-index 25a919b..3f409ab 100755
---- glibc-2.12-2-gc4ccff1.org/scripts/test-installation.pl
-+++ glibc-2.12-2-gc4ccff1/scripts/test-installation.pl
-@@ -106,9 +106,10 @@ while (<SOVERSIONS>) {
-     # - libnss1_* from glibc-compat add-on
-     # - libthread_db since it contains unresolved references
-     # - it's just a test NSS module
-+    # - We don't provide the libgcc so we don't test it
-     if ($name ne "nss_ldap" && $name ne "db1"
-       && !($name =~/^nss1_/) && $name ne "thread_db"
--      && $name ne "nss_test1") {
-+      && $name ne "nss_test1" && $name ne "libgcc_s") {
-       $link_libs .= " -l$name";
-       $versions{$name} = $version;
-     }
-diff -Naur glibc-2.12-2-gc4ccff1.org/shlib-versions glibc-2.12-2-gc4ccff1/shlib-versions
-index d3e8407..ac98e49 100644
---- glibc-2.12-2-gc4ccff1.org/shlib-versions
-+++ glibc-2.12-2-gc4ccff1/shlib-versions
-@@ -138,3 +138,7 @@ sparc64.*-.*-.*            libBrokenLocale=1       GLIBC_2.2
- # The asynchronous name lookup library.
- .*-.*-.*              libanl=1
-+
-+# This defines the libgcc soname version this glibc is to load for
-+# asynchronous cancellation to work correctly.
-+.*-.*-.*              libgcc_s=1
-diff -Naur glibc-2.12-2-gc4ccff1.org/sysdeps/generic/framestate.c glibc-2.12-2-gc4ccff1/sysdeps/generic/framestate.c
-index 80375bb..edc3539 100644
---- glibc-2.12-2-gc4ccff1.org/sysdeps/generic/framestate.c
-+++ glibc-2.12-2-gc4ccff1/sysdeps/generic/framestate.c
-@@ -1,5 +1,5 @@
- /* __frame_state_for unwinder helper function wrapper.
--   Copyright (C) 2001, 2003 Free Software Foundation, Inc.
-+   Copyright (C) 2001-2012 Free Software Foundation, Inc.
-    This file is part of the GNU C Library.
-    Contributed by Jakub Jelinek <jakub@redhat.com>, 2001.
-@@ -24,7 +24,7 @@
- #define __frame_state_for fallback_frame_state_for
- #include <unwind-dw2.c>
- #undef __frame_state_for
--#include <libgcc_s.h>
-+#include <gnu/lib-names.h>
- typedef struct frame_state * (*framesf)(void *pc, struct frame_state *);
- struct frame_state *__frame_state_for (void *pc,
-diff -Naur glibc-2.12-2-gc4ccff1.org/sysdeps/generic/libgcc_s.h glibc-2.12-2-gc4ccff1.org/sysdeps/generic/libgcc_s.h
-deleted file mode 100644
-index e74a103..0000000
---- glibc-2.12-2-gc4ccff1.org/sysdeps/generic/libgcc_s.h
-+++ /dev/null
-@@ -1,2 +0,0 @@
--/* Name of libgcc_s library provided by gcc.  */
--#define LIBGCC_S_SO "libgcc_s.so.1"
-diff -Naur glibc-2.12-2-gc4ccff1.org/sysdeps/gnu/unwind-resume.c glibc-2.12-2-gc4ccff1/sysdeps/gnu/unwind-resume.c
-index f8ff0c4..dab4370 100644
---- glibc-2.12-2-gc4ccff1.org/sysdeps/gnu/unwind-resume.c
-+++ glibc-2.12-2-gc4ccff1/sysdeps/gnu/unwind-resume.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2003 Free Software Foundation, Inc.
-+/* Copyright (C) 2003-2012 Free Software Foundation, Inc.
-    This file is part of the GNU C Library.
-    Contributed by Jakub Jelinek <jakub@redhat.com>.
-@@ -22,7 +22,7 @@
- #include <unwind.h>
- #include <pthreadP.h>
- #include <sysdep.h>
--#include <libgcc_s.h>
-+#include <gnu/lib-names.h>
- static void *libgcc_s_handle;
- static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
diff --git a/src/patches/glibc-test-installation.pl-nss_test1.patch b/src/patches/glibc-test-installation.pl-nss_test1.patch
deleted file mode 100644 (file)
index 8881d94..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-From 9191c04a7e19fffbea0a08523e579cd8e55142df Mon Sep 17 00:00:00 2001
-From: Ulrich Drepper <drepper@gmail.com>
-Date: Sat, 23 Jul 2011 15:28:31 -0400
-Subject: [PATCH] Adjust test for correct installation
-
-diff --git a/scripts/test-installation.pl b/scripts/test-installation.pl
-index 90cd9d7..25a919b 100755
---- a/scripts/test-installation.pl
-+++ b/scripts/test-installation.pl
-@@ -1,5 +1,5 @@
- #! /usr/bin/perl -w
--# Copyright (C) 1997, 1998, 1999, 2004 Free Software Foundation, Inc.
-+# Copyright (C) 1997, 1998, 1999, 2004, 2011 Free Software Foundation, Inc.
- # This file is part of the GNU C Library.
- # Contributed by Andreas Jaeger <aj@arthur.rhein-neckar.de>, 1997.
-@@ -105,8 +105,10 @@ while (<SOVERSIONS>) {
-     # - libdb1 since it conflicts with libdb
-     # - libnss1_* from glibc-compat add-on
-     # - libthread_db since it contains unresolved references
-+    # - it's just a test NSS module
-     if ($name ne "nss_ldap" && $name ne "db1"
--      && !($name =~/^nss1_/) && $name ne "thread_db") {
-+      && !($name =~/^nss1_/) && $name ne "thread_db"
-+      && $name ne "nss_test1") {
-       $link_libs .= " -l$name";
-       $versions{$name} = $version;
-     }
--- 
-1.7.3.4
-
diff --git a/src/patches/glibc/glibc-aliasing.patch b/src/patches/glibc/glibc-aliasing.patch
deleted file mode 100644 (file)
index 016a4d4..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-Index: glibc-2.12-2-gc4ccff1/elf/Makefile
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/Makefile
-+++ glibc-2.12-2-gc4ccff1/elf/Makefile
-@@ -129,6 +129,7 @@ include ../Makeconfig
- ifeq ($(unwind-find-fde),yes)
- routines += unwind-dw2-fde-glibc
- shared-only-routines += unwind-dw2-fde-glibc
-+CFLAGS-unwind-dw2-fde-glibc.c += -fno-strict-aliasing
- endif
- before-compile  = $(objpfx)trusted-dirs.h
-Index: glibc-2.12-2-gc4ccff1/inet/Makefile
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/inet/Makefile
-+++ glibc-2.12-2-gc4ccff1/inet/Makefile
-@@ -57,6 +57,8 @@ tests := htontest test_ifindex tst-ntoa 
- include ../Rules
-+CFLAGS-tst-inet6_rth.c += -fno-strict-aliasing
-+
- ifeq ($(have-thread-library),yes)
- CFLAGS-gethstbyad_r.c = -DUSE_NSCD=1 -fexceptions
-Index: glibc-2.12-2-gc4ccff1/nis/Makefile
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nis/Makefile
-+++ glibc-2.12-2-gc4ccff1/nis/Makefile
-@@ -69,6 +69,8 @@ libnss_nisplus-inhibit-o = $(filter-out 
- include ../Rules
-+CFLAGS-nis_findserv.c += -fno-strict-aliasing
-+CFLAGS-ypclnt.c += -fno-strict-aliasing
- $(objpfx)libnss_compat.so: $(objpfx)libnsl.so$(libnsl.so-version)
- $(objpfx)libnss_nis.so: $(objpfx)libnsl.so$(libnsl.so-version) \
-Index: glibc-2.12-2-gc4ccff1/nss/Makefile
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nss/Makefile
-+++ glibc-2.12-2-gc4ccff1/nss/Makefile
-@@ -74,6 +74,7 @@ endif
- include ../Rules
-+CFLAGS-files-hosts.c += -fno-strict-aliasing
- ifeq (yes,$(build-static-nss))
- $(objpfx)getent: $(objpfx)libnss_files.a
-Index: glibc-2.12-2-gc4ccff1/resolv/Makefile
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/resolv/Makefile
-+++ glibc-2.12-2-gc4ccff1/resolv/Makefile
-@@ -77,6 +77,7 @@ CPPFLAGS += -Dgethostbyname=res_gethostb
-           -Dgetnetbyaddr=res_getnetbyaddr
- CFLAGS-res_hconf.c = -fexceptions
-+CFLAGS-res_send.c += -fno-strict-aliasing
- # The BIND code elicits some harmless warnings.
- +cflags += -Wno-strict-prototypes -Wno-write-strings
-Index: glibc-2.12-2-gc4ccff1/sunrpc/Makefile
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sunrpc/Makefile
-+++ glibc-2.12-2-gc4ccff1/sunrpc/Makefile
-@@ -129,6 +129,10 @@ CFLAGS-openchild.c = -fexceptions
- CPPFLAGS += -D_RPC_THREAD_SAFE_
-+CFLAGS-clnt_tcp.c += -fno-strict-aliasing
-+CFLAGS-clnt_udp.c += -fno-strict-aliasing
-+CFLAGS-clnt_unix.c += -fno-strict-aliasing
-+
- include ../Rules
- $(objpfx)rpcgen: $(addprefix $(objpfx),$(rpcgen-objs)) \
-Index: glibc-2.12-2-gc4ccff1/sysdeps/powerpc/powerpc64/elf/Makefile
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/powerpc/powerpc64/elf/Makefile
-+++ glibc-2.12-2-gc4ccff1/sysdeps/powerpc/powerpc64/elf/Makefile
-@@ -9,3 +9,5 @@ CFLAGS-rtld-mempcpy.os = $(no-special-re
- CFLAGS-rtld-memmove.os = $(no-special-regs)
- CFLAGS-rtld-memchr.os = $(no-special-regs)
- CFLAGS-rtld-strnlen.os = $(no-special-regs)
-+
-+CFLAGS-gmon-start.c += -fno-strict-aliasing
diff --git a/src/patches/glibc/glibc-fedora.patch b/src/patches/glibc/glibc-fedora.patch
deleted file mode 100644 (file)
index 5a7fce9..0000000
+++ /dev/null
@@ -1,2106 +0,0 @@
---- glibc-2.12-2-gc4ccff1/ChangeLog
-+++ glibc-2.12-1/ChangeLog
-@@ -241,6 +241,12 @@
-       * Makerules (libc-abis): Fix search for libc-abis in add-ons.
-+2010-04-06  Ulrich Drepper  <drepper@redhat.com>
-+
-+      * sysdeps/posix/getaddrinfo.c (default_scopes): Assign global
-+      scope to RFC 1918 addresses.
-+      * posix/gai.conf: Document difference from RFC 3484.
-+
- 2010-04-05  Thomas Schwinge  <thomas@schwinge.name>
-       * sysdeps/gnu/unwind-resume.c: New, moved from nptl/sysdeps/pthread/.
-@@ -995,6 +1001,19 @@
-       * sysdeps/x86_64/fpu/fegetenv.c: Likewise
-       * sysdeps/s390/fpu/fegetenv.c: Likewise.  Remove unused headers.
-+2009-10-27  Aurelien Jarno  <aurelien@aurel32.net>
-+
-+      [BZ #10855]
-+      * locale/programs/locarchive.c: use MMAP_SHARED to reserve memory
-+      used later with MMAP_FIXED | MMAP_SHARED to cope with different
-+      alignment restrictions.
-+
-+2010-02-08  Andreas Schwab  <schwab@redhat.com>
-+
-+      [BZ #11155]
-+      * sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c: Include i386
-+      version.
-+
- 2010-02-05  H.J. Lu  <hongjiu.lu@intel.com>
-       [BZ #11230]
-@@ -2938,6 +2957,11 @@ d2009-10-30  Ulrich Drepper  <drepper@re
-       * sysdeps/generic/ldsodefs.h (struct rtld_global): The map element in
-       the unique symbol hash table should not be const.
-+2009-07-22  Jakub Jelinek  <jakub@redhat.com>
-+
-+      * Makeconfig (ASFLAGS): Append $(sysdep-ASFLAGS).
-+      * sysdeps/i386/Makefile (sysdep-ASFLAGS): Add -U__i686.
-+
- 2009-07-21  Ulrich Drepper  <drepper@redhat.com>
-       * sysdeps/x86_64/multiarch/strstr.c: Minor cleanups.  Remove
-@@ -3203,6 +3227,11 @@ d2009-10-30  Ulrich Drepper  <drepper@re
-       out common code into new function get_common_indeces. Determine
-       extended family and model for Intel processors.
-+2009-06-26  Andreas Schwab  <aschwab@redhat.com>
-+
-+      * timezone/zic.c (stringzone): Don't try to generate a POSIX TZ
-+      string when the timezone ends in DST.
-+
- 2009-06-26  Ulrich Drepper  <drepper@redhat.com>
-       * resolv/resolv.h: Define RES_SNGLKUPREOP.
-@@ -11896,6 +11925,10 @@ d2009-10-30  Ulrich Drepper  <drepper@re
-       [BZ #4368]
-       * stdlib/stdlib.h: Remove obsolete part of comment for realpath.
-+2007-04-16  Jakub Jelinek  <jakub@redhat.com>
-+
-+      * locale/programs/locarchive.c (add_alias, insert_name): Remove static.
-+
- 2007-04-16  Ulrich Drepper  <drepper@redhat.com>
-       [BZ #4364]
-@@ -13153,6 +13186,15 @@ d2009-10-30  Ulrich Drepper  <drepper@re
-       separators also if no non-zero digits found.
-       * stdlib/Makefile (tests): Add tst-strtod3.
-+2006-12-10  Jakub Jelinek  <jakub@redhat.com>
-+
-+      * sysdeps/unix/sysv/linux/netlinkaccess.h: Include linux/if_addr.h
-+      if IFA_MAX is not defined.
-+      (IFA_RTA, IFA_PAYLOAD, IFLA_RTA, IFLA_PAYLOAD): Define if not
-+      defined.
-+      * sysdeps/unix/sysv/linux/check_pf.c: Include netlinkaccess.h
-+      instead of asm/types.h, linux/netlink.h and linux/rtnetlink.h.
-+
- 2006-12-09  Ulrich Drepper  <drepper@redhat.com>
-       [BZ #3632]
---- glibc-2.12-2-gc4ccff1/ChangeLog.15
-+++ glibc-2.12-1/ChangeLog.15
-@@ -477,6 +477,14 @@
- 2004-11-26  Jakub Jelinek  <jakub@redhat.com>
-+      * posix/Makefile (generated: Add getconf.speclist.
-+      ($(inst_libexecdir)/getconf): Use getconf.speclist instead of
-+      getconf output.
-+      ($(objpfx)getconf.speclist): New rule.
-+      * posix/getconf.speclist.h: New file.
-+
-+2004-11-26  Jakub Jelinek  <jakub@redhat.com>
-+
-       * sysdeps/generic/unsecvars.h (UNSECURE_ENVVARS): Add GETCONF_DIR.
- 2004-11-26  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-@@ -1103,6 +1111,13 @@
-       * sysdeps/generic/tempname.c (__path_search): Add missing argument
-       TRY_TMPDIR.
-+2004-11-02  Jakub Jelinek  <jakub@redhat.com>
-+
-+      * include/features.h (__USE_FORTIFY_LEVEL): Also set for Red Hat
-+      GCC 3.4.x-RH >= 3.4.2-8.
-+      * debug/tst-chk1.c (do_test): Deal with GCC 3.4.x-RH not
-+      being able to recognize subobjects.
-+
- 2004-10-31  Mariusz Mazur <mmazur@kernel.pl>
-       * sysdeps/unix/sysv/linux/alpha/setregid.c: New file.
-@@ -1443,6 +1458,11 @@
-       * sysdeps/generic/readonly-area.c (__readonly_str): Renamed to ...
-       (__readonly_area): ... this.
-+2004-10-19  Jakub Jelinek  <jakub@redhat.com>
-+
-+      * include/features.h (__USE_FORTIFY_LEVEL): Enable even with
-+      Red Hat gcc4 4.0.0 and above.
-+
- 2004-10-18  Jakub Jelinek  <jakub@redhat.com>
-       * sysdeps/generic/strcpy_chk.c (__strcpy_chk): Speed up by checking
-@@ -3182,6 +3202,23 @@
-       before return type.
-       * locale/localename.c (__current_locale_name): Likewise.
-+2004-08-31  Jakub Jelinek  <jakub@redhat.com>
-+
-+      * elf/ldconfig.c (parse_conf): Add prefix argument, prepend it
-+      before arguments to add_dir and pass to parse_conf_include.
-+      (parse_conf_include): Add prefix argument, pass it down to
-+      parse_conf.
-+      (main): Call arch_startup.  Adjust parse_conf caller.
-+      Call add_arch_dirs.
-+      * sysdeps/generic/dl-cache.h (arch_startup, add_arch_dirs): Define.
-+      * sysdeps/unix/sysv/linux/i386/dl-cache.h: New file.
-+      * sysdeps/unix/sysv/linux/ia64/dl-cache.h (EMUL_HACK, arch_startup,
-+      add_arch_dirs): Define.
-+      * sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed: Prepend
-+      /emul/ia32-linux before the 32-bit ld.so pathname.
-+      * sysdeps/unix/sysv/linux/ia64/dl-procinfo.c: New file.
-+      * sysdeps/unix/sysv/linux/ia64/dl-procinfo.h: New file.
-+
- 2004-08-30  Roland McGrath  <roland@frob.com>
-       * scripts/extract-abilist.awk: If `lastversion' variable defined, omit
---- glibc-2.12-2-gc4ccff1/ChangeLog.16
-+++ glibc-2.12-1/ChangeLog.16
-@@ -2042,6 +2042,9 @@
-       (__MATHDECL_2): Use __REDIRECT_NTH instead of __REDIRECT
-       followed by __THROW.
-+      * sysdeps/unix/sysv/linux/futimesat.c (futimesat): If
-+      file == NULL, use __futimes unconditionally.
-+
- 2006-02-02  Ulrich Drepper  <drepper@redhat.com>
-       * sysdeps/unix/sysv/linux/futimesat.c [__NR_futimesat]
-@@ -2101,6 +2104,11 @@
-       * sysdeps/ieee754/ldbl-128/s_llrintl.c (__llrintl): Fix a typo.
-       * sysdeps/s390/fpu/libm-test-ulps: Remove llrint ulps.
-+2006-01-30  Jakub Jelinek  <jakub@redhat.com>
-+
-+      * include/bits/stdlib-ldbl.h: New file.
-+      * include/bits/wchar-ldbl.h: New file.
-+
- 2006-01-19  Thomas Schwinge  <tschwinge@gnu.org>
-       * libio/genops.c: Include <stdbool.h>.
-@@ -8922,6 +8930,12 @@
-       * argp/argp-help.c (__argp_error): __asprintf -> vasprintf.
-       (__argp_failure): Likewise.
-+2005-08-08  Jakub Jelinek  <jakub@redhat.com>
-+
-+      * sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_setup_stack_chk_guard):
-+      Shift marked &errno down on big-endian instead of up.
-+      * elf/tst-stackguard1.c (do_test): Fix a typo.
-+
- 2005-08-08  Ulrich Drepper  <drepper@redhat.com>
-       * nscd/cache.c (cache_add): Commit hash table and header to disk.
-@@ -9046,6 +9060,17 @@
-       __syslog_chk.
-       * misc/Versions: Export __syslog_chk and __vsyslog_chk.
-+2005-07-29  Jakub Jelinek  <jakub@redhat.com>
-+
-+      * sysdeps/unix/sysv/linux/dl-osinfo.h: Include errno.h, hp-timing.h,
-+      endian.h.
-+      (_dl_setup_stack_chk_guard): Even without
-+      --enable-stackguard-randomization attempt to do some guard
-+      randomization using hp-timing (if available) and kernel stack and
-+      mmap randomization.
-+      * elf/tst-stackguard1.c (do_test): Don't fail if the poor man's
-+      randomization doesn't work well enough.
-+
- 2005-07-28  Thomas Schwinge  <schwinge@nic-nac-project.de>
-       [BZ #1137]
---- glibc-2.12-2-gc4ccff1/Makeconfig
-+++ glibc-2.12-1/Makeconfig
-@@ -789,12 +789,12 @@ endif
- # The assembler can generate debug information too.
- ifndef ASFLAGS
- ifeq ($(have-cpp-asm-debuginfo),yes)
--ASFLAGS := $(filter -g% -fdebug-prefix-map=%,$(CFLAGS))
-+ASFLAGS = $(filter -g% -fdebug-prefix-map=%,$(CFLAGS))
- else
--ASFLAGS :=
-+ASFLAGS =
- endif
- endif
--ASFLAGS += $(ASFLAGS-config) $(asflags-cpu)
-+ASFLAGS += $(ASFLAGS-config) $(asflags-cpu) $(sysdep-ASFLAGS)
- ifndef BUILD_CC
- BUILD_CC = $(CC)
---- glibc-2.12-2-gc4ccff1/csu/Makefile
-+++ glibc-2.12-1/csu/Makefile
-@@ -93,7 +93,8 @@ omit-deps += $(crtstuff)
- $(crtstuff:%=$(objpfx)%.o): %.o: %.S $(objpfx)defs.h
-       $(compile.S) -g0 $(ASFLAGS-.os) -o $@
--CFLAGS-initfini.s = -g0 -fPIC -fno-inline-functions $(fno-unit-at-a-time)
-+CFLAGS-initfini.s = -g0 -fPIC -fno-inline-functions $(fno-unit-at-a-time) \
-+                  -fno-asynchronous-unwind-tables
- vpath initfini.c $(sysdirs)
---- glibc-2.12-2-gc4ccff1/csu/elf-init.c
-+++ glibc-2.12-1/csu/elf-init.c
-@@ -63,6 +63,23 @@ extern void (*__init_array_end []) (int,
- extern void (*__fini_array_start []) (void) attribute_hidden;
- extern void (*__fini_array_end []) (void) attribute_hidden;
-+#if defined HAVE_VISIBILITY_ATTRIBUTE \
-+    && (defined SHARED || defined LIBC_NONSHARED)
-+# define hidden_undef_2(x) #x
-+# define hidden_undef_1(x) hidden_undef_2 (x)
-+# define hidden_undef(x) \
-+  __asm (hidden_undef_1 (ASM_GLOBAL_DIRECTIVE) " " #x); \
-+  __asm (".hidden " #x);
-+#else
-+# define hidden_undef(x)
-+#endif
-+
-+hidden_undef (__preinit_array_start)
-+hidden_undef (__preinit_array_end)
-+hidden_undef (__init_array_start)
-+hidden_undef (__init_array_end)
-+hidden_undef (__fini_array_start)
-+hidden_undef (__fini_array_end)
- /* These function symbols are provided for the .init/.fini section entry
-    points automagically by the linker.  */
---- glibc-2.12-2-gc4ccff1/debug/tst-chk1.c
-+++ glibc-2.12-1/debug/tst-chk1.c
-@@ -17,6 +17,9 @@
-    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-    02111-1307 USA.  */
-+/* Hack: make sure GCC doesn't know __chk_fail () will not return.  */
-+#define __noreturn__
-+
- #include <assert.h>
- #include <fcntl.h>
- #include <locale.h>
-@@ -242,7 +245,7 @@ do_test (void)
-   if (memcmp (a.buf1, "aabcdabcjj", 10))
-     FAIL ();
--#if __USE_FORTIFY_LEVEL < 2
-+#if __USE_FORTIFY_LEVEL < 2 || !__GNUC_PREREQ (4, 0)
-   /* The following tests are supposed to crash with -D_FORTIFY_SOURCE=2
-      and sufficient GCC support, as the string operations overflow
-      from a.buf1 into a.buf2.  */
-@@ -357,7 +360,7 @@ do_test (void)
-   memset (a.buf1 + 9, 'j', l0 + 2);
-   CHK_FAIL_END
--# if __USE_FORTIFY_LEVEL >= 2
-+# if __USE_FORTIFY_LEVEL >= 2 && __GNUC_PREREQ (4, 0)
- #  define O 0
- # else
- #  define O 1
---- glibc-2.12-2-gc4ccff1/elf/ldconfig.c
-+++ glibc-2.12-1/elf/ldconfig.c
-@@ -1031,17 +1031,19 @@ search_dirs (void)
- static void parse_conf_include (const char *config_file, unsigned int lineno,
--                              bool do_chroot, const char *pattern);
-+                              const char *prefix, bool do_chroot,
-+                              const char *pattern);
- /* Parse configuration file.  */
- static void
--parse_conf (const char *filename, bool do_chroot)
-+parse_conf (const char *filename, const char *prefix, bool do_chroot)
- {
-   FILE *file = NULL;
-   char *line = NULL;
-   const char *canon;
-   size_t len = 0;
-   unsigned int lineno;
-+  size_t prefix_len = prefix ? strlen (prefix) : 0;
-   if (do_chroot && opt_chroot)
-     {
-@@ -1102,7 +1104,14 @@ parse_conf (const char *filename, bool d
-         cp += 8;
-         while ((dir = strsep (&cp, " \t")) != NULL)
-           if (dir[0] != '\0')
--            parse_conf_include (filename, lineno, do_chroot, dir);
-+            parse_conf_include (filename, lineno, prefix, do_chroot, dir);
-+      }
-+      else if (prefix != NULL)
-+      {
-+        size_t cp_len = strlen (cp);
-+        char new_cp [prefix_len + cp_len + 1];
-+        memcpy (mempcpy (new_cp, prefix, prefix_len), cp, cp_len + 1);
-+        add_dir (new_cp);
-       }
-       else if (!strncasecmp (cp, "hwcap", 5) && isblank (cp[5]))
-       {
-@@ -1165,7 +1174,7 @@ parse_conf (const char *filename, bool d
-    config files to read.  */
- static void
- parse_conf_include (const char *config_file, unsigned int lineno,
--                  bool do_chroot, const char *pattern)
-+                  const char *prefix, bool do_chroot, const char *pattern)
- {
-   if (opt_chroot && pattern[0] != '/')
-     error (EXIT_FAILURE, 0,
-@@ -1197,7 +1206,7 @@ parse_conf_include (const char *config_f
-     {
-     case 0:
-       for (size_t i = 0; i < gl.gl_pathc; ++i)
--      parse_conf (gl.gl_pathv[i], false);
-+      parse_conf (gl.gl_pathv[i], prefix, false);
-       globfree64 (&gl);
-       break;
-@@ -1240,6 +1249,8 @@ main (int argc, char **argv)
-   /* Set the text message domain.  */
-   textdomain (_libc_intl_domainname);
-+  arch_startup (argc, argv);
-+
-   /* Parse and process arguments.  */
-   int remaining;
-   argp_parse (&argp, argc, argv, 0, &remaining, NULL);
-@@ -1349,12 +1360,14 @@ main (int argc, char **argv)
-   if (!opt_only_cline)
-     {
--      parse_conf (config_file, true);
-+      parse_conf (config_file, NULL, true);
-       /* Always add the standard search paths.  */
-       add_system_dir (SLIBDIR);
-       if (strcmp (SLIBDIR, LIBDIR))
-       add_system_dir (LIBDIR);
-+
-+      add_arch_dirs (config_file);
-     }
-   char *aux_cache_file = _PATH_LDCONFIG_AUX_CACHE;
---- glibc-2.12-2-gc4ccff1/elf/tst-stackguard1.c
-+++ glibc-2.12-1/elf/tst-stackguard1.c
-@@ -160,17 +160,21 @@ do_test (void)
-      the 16 runs, something is very wrong.  */
-   int ndifferences = 0;
-   int ndefaults = 0;
-+  int npartlyrandomized = 0;
-   for (i = 0; i < N; ++i) 
-     {
-       if (child_stack_chk_guards[i] != child_stack_chk_guards[i+1])
-       ndifferences++;
-       else if (child_stack_chk_guards[i] == default_guard)
-       ndefaults++;
-+      else if (*(char *) &child_stack_chk_guards[i] == 0)
-+      npartlyrandomized++;
-     }
--  printf ("differences %d defaults %d\n", ndifferences, ndefaults);
-+  printf ("differences %d defaults %d partly randomized %d\n",
-+        ndifferences, ndefaults, npartlyrandomized);
--  if (ndifferences < N / 2 && ndefaults < N / 2)
-+  if ((ndifferences + ndefaults + npartlyrandomized) < 3 * N / 4)
-     {
-       puts ("stack guard canaries are not randomized enough");
-       puts ("nor equal to the default canary value");
---- glibc-2.12-2-gc4ccff1/include/bits/stdlib-ldbl.h
-+++ glibc-2.12-1/include/bits/stdlib-ldbl.h
-@@ -0,0 +1 @@
-+#include <stdlib/bits/stdlib-ldbl.h>
---- glibc-2.12-2-gc4ccff1/include/bits/wchar-ldbl.h
-+++ glibc-2.12-1/include/bits/wchar-ldbl.h
-@@ -0,0 +1 @@
-+#include <wcsmbs/bits/wchar-ldbl.h>
---- glibc-2.12-2-gc4ccff1/include/features.h
-+++ glibc-2.12-1/include/features.h
-@@ -308,8 +308,13 @@
- #endif
- #if defined _FORTIFY_SOURCE && _FORTIFY_SOURCE > 0 \
--    && __GNUC_PREREQ (4, 1) && defined __OPTIMIZE__ && __OPTIMIZE__ > 0
--# if _FORTIFY_SOURCE > 1
-+    && defined __OPTIMIZE__ && __OPTIMIZE__ > 0
-+# if !__GNUC_PREREQ (4, 1)
-+#  ifdef __GNUC_RH_RELEASE__
-+#   warning _FORTIFY_SOURCE supported only with GCC 4.1 and later
-+#  endif
-+#  define __USE_FORTIFY_LEVEL 0
-+# elif _FORTIFY_SOURCE > 1
- #  define __USE_FORTIFY_LEVEL 2
- # else
- #  define __USE_FORTIFY_LEVEL 1
---- glibc-2.12-2-gc4ccff1/intl/locale.alias
-+++ glibc-2.12-1/intl/locale.alias
-@@ -57,8 +57,6 @@ 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
---- glibc-2.12-2-gc4ccff1/libio/stdio.h
-+++ glibc-2.12-1/libio/stdio.h
-@@ -165,10 +165,12 @@ typedef _G_fpos64_t fpos64_t;
- extern struct _IO_FILE *stdin;                /* Standard input stream.  */
- extern struct _IO_FILE *stdout;               /* Standard output stream.  */
- extern struct _IO_FILE *stderr;               /* Standard error output stream.  */
-+#ifdef __STDC__
- /* C89/C99 say they're macros.  Make them happy.  */
- #define stdin stdin
- #define stdout stdout
- #define stderr stderr
-+#endif
- __BEGIN_NAMESPACE_STD
- /* Remove file FILENAME.  */
---- glibc-2.12-2-gc4ccff1/locale/iso-4217.def
-+++ glibc-2.12-1/locale/iso-4217.def
-@@ -8,6 +8,7 @@
-  *
-  * !!! The list has to be sorted !!!
-  */
-+DEFINE_INT_CURR("ADP")                /* Andorran Peseta -> EUR  */
- DEFINE_INT_CURR("AED")                /* United Arab Emirates Dirham  */
- DEFINE_INT_CURR("AFN")                /* Afghanistan Afgani  */
- DEFINE_INT_CURR("ALL")                /* Albanian Lek  */
-@@ -15,12 +16,14 @@ DEFINE_INT_CURR("AMD")             /* Armenia Dram 
- DEFINE_INT_CURR("ANG")                /* Netherlands Antilles  */
- DEFINE_INT_CURR("AOA")                /* Angolan Kwanza  */
- DEFINE_INT_CURR("ARS")                /* Argentine Peso  */
-+DEFINE_INT_CURR("ATS")                /* Austrian Schilling -> EUR  */
- DEFINE_INT_CURR("AUD")                /* Australian Dollar  */
- DEFINE_INT_CURR("AWG")                /* Aruba Guilder  */
- DEFINE_INT_CURR("AZM")                /* Azerbaijan Manat  */
- DEFINE_INT_CURR("BAM")                /* Bosnian and Herzegovina Convertible Mark  */
- DEFINE_INT_CURR("BBD")                /* Barbados Dollar  */
- DEFINE_INT_CURR("BDT")                /* Bangladesh Taka  */
-+DEFINE_INT_CURR("BEF")                /* Belgian Franc -> EUR  */
- DEFINE_INT_CURR("BGN")                /* Bulgarian Lev  */
- DEFINE_INT_CURR("BHD")                /* Bahraini Dinar  */
- DEFINE_INT_CURR("BIF")                /* Burundi Franc  */
-@@ -44,6 +47,7 @@ DEFINE_INT_CURR("CUP")               /* Cuban Peso  *
- DEFINE_INT_CURR("CVE")                /* Cape Verde Escudo  */
- DEFINE_INT_CURR("CYP")                /* Cypriot Pound  */
- DEFINE_INT_CURR("CZK")                /* Czech Koruna  */
-+DEFINE_INT_CURR("DEM")                /* German Mark -> EUR  */
- DEFINE_INT_CURR("DJF")                /* Djibouti Franc  */
- DEFINE_INT_CURR("DKK")                /* Danish Krone (Faroe Islands, Greenland)  */
- DEFINE_INT_CURR("DOP")                /* Dominican Republic  */
-@@ -51,16 +55,20 @@ DEFINE_INT_CURR("DZD")             /* Algerian Dina
- DEFINE_INT_CURR("EEK")                /* Estonian Kroon  */
- DEFINE_INT_CURR("EGP")                /* Egyptian Pound  */
- DEFINE_INT_CURR("ERN")                /* Eritrean Nakfa  */
-+DEFINE_INT_CURR("ESP")                /* Spanish Peseta -> EUR  */
- DEFINE_INT_CURR("ETB")                /* Ethiopian Birr  */
- DEFINE_INT_CURR("EUR")                /* European Union Euro  */
-+DEFINE_INT_CURR("FIM")                /* Finnish Markka -> EUR  */
- DEFINE_INT_CURR("FJD")                /* Fiji Dollar  */
- DEFINE_INT_CURR("FKP")                /* Falkland Islands Pound (Malvinas)  */
-+DEFINE_INT_CURR("FRF")                /* French Franc -> EUR  */
- DEFINE_INT_CURR("GBP")                /* British Pound  */
- DEFINE_INT_CURR("GEL")                /* Georgia Lari  */
- DEFINE_INT_CURR("GHC")                /* Ghana Cedi  */
- DEFINE_INT_CURR("GIP")                /* Gibraltar Pound  */
- DEFINE_INT_CURR("GMD")                /* Gambian Dalasi  */
- DEFINE_INT_CURR("GNF")                /* Guinea Franc  */
-+DEFINE_INT_CURR("GRD")                /* Greek Drachma -> EUR  */
- DEFINE_INT_CURR("GTQ")                /* Guatemala Quetzal  */
- DEFINE_INT_CURR("GYD")                /* Guyana Dollar  */
- DEFINE_INT_CURR("HKD")                /* Hong Kong Dollar  */
-@@ -69,12 +77,14 @@ DEFINE_INT_CURR("HRK")             /* Croatia Kuna 
- DEFINE_INT_CURR("HTG")                /* Haiti Gourde  */
- DEFINE_INT_CURR("HUF")                /* Hungarian Forint  */
- DEFINE_INT_CURR("IDR")                /* Indonesia Rupiah  */
-+DEFINE_INT_CURR("IEP")                /* Irish Pound -> EUR  */
- DEFINE_INT_CURR("ILS")                /* Israeli Shekel  */
- DEFINE_INT_CURR("IMP")                /* Isle of Man Pounds  */
- DEFINE_INT_CURR("INR")                /* Indian Rupee (Bhutan)  */
- DEFINE_INT_CURR("IQD")                /* Iraqi Dinar  */
- DEFINE_INT_CURR("IRR")                /* Iranian Rial  */
- DEFINE_INT_CURR("ISK")                /* Iceland Krona  */
-+DEFINE_INT_CURR("ITL")                /* Italian Lira -> EUR  */
- DEFINE_INT_CURR("JEP")                /* Jersey Pound  */
- DEFINE_INT_CURR("JMD")                /* Jamaican Dollar  */
- DEFINE_INT_CURR("JOD")                /* Jordanian Dinar  */
-@@ -94,6 +104,7 @@ DEFINE_INT_CURR("LKR")              /* Sri Lankan Ru
- DEFINE_INT_CURR("LRD")                /* Liberian Dollar  */
- DEFINE_INT_CURR("LSL")                /* Lesotho Maloti  */
- DEFINE_INT_CURR("LTL")                /* Lithuanian Litas  */
-+DEFINE_INT_CURR("LUF")                /* Luxembourg Franc -> EUR  */
- DEFINE_INT_CURR("LVL")                /* Latvia Lat  */
- DEFINE_INT_CURR("LYD")                /* Libyan Arab Jamahiriya Dinar  */
- DEFINE_INT_CURR("MAD")                /* Moroccan Dirham  */
-@@ -114,6 +125,7 @@ DEFINE_INT_CURR("MZM")             /* Mozambique Me
- DEFINE_INT_CURR("NAD")                /* Namibia Dollar  */
- DEFINE_INT_CURR("NGN")                /* Nigeria Naira  */
- DEFINE_INT_CURR("NIO")                /* Nicaragua Cordoba Oro  */
-+DEFINE_INT_CURR("NLG")                /* Netherlands Guilder -> EUR  */
- DEFINE_INT_CURR("NOK")                /* Norwegian Krone  */
- DEFINE_INT_CURR("NPR")                /* Nepalese Rupee  */
- DEFINE_INT_CURR("NZD")                /* New Zealand Dollar  */
-@@ -124,6 +136,7 @@ DEFINE_INT_CURR("PGK")             /* Papau New Gui
- DEFINE_INT_CURR("PHP")                /* Philippines Peso  */
- DEFINE_INT_CURR("PKR")                /* Pakistan Rupee  */
- DEFINE_INT_CURR("PLN")                /* Polish Zloty  */
-+DEFINE_INT_CURR("PTE")                /* Portugese Escudo -> EUR  */
- DEFINE_INT_CURR("PYG")                /* Paraguay Guarani  */
- DEFINE_INT_CURR("QAR")                /* Qatar Rial  */
- DEFINE_INT_CURR("ROL")                /* Romanian Leu  */
---- glibc-2.12-2-gc4ccff1/locale/programs/locarchive.c
-+++ glibc-2.12-1/locale/programs/locarchive.c
-@@ -134,7 +134,7 @@ create_archive (const char *archivefname
-   size_t reserved = RESERVE_MMAP_SIZE;
-   int xflags = 0;
-   if (total < reserved
--      && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON,
-+      && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON,
-                      -1, 0)) != MAP_FAILED))
-     xflags = MAP_FIXED;
-   else
-@@ -241,9 +241,9 @@ oldlocrecentcmp (const void *a, const vo
- /* forward decls for below */
- static uint32_t add_locale (struct locarhandle *ah, const char *name,
-                           locale_data_t data, bool replace);
--static void add_alias (struct locarhandle *ah, const char *alias,
--                     bool replace, const char *oldname,
--                     uint32_t *locrec_offset_p);
-+void add_alias (struct locarhandle *ah, const char *alias,
-+              bool replace, const char *oldname,
-+              uint32_t *locrec_offset_p);
- static bool
-@@ -396,7 +396,7 @@ enlarge_archive (struct locarhandle *ah,
-   size_t reserved = RESERVE_MMAP_SIZE;
-   int xflags = 0;
-   if (total < reserved
--      && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON,
-+      && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON,
-                      -1, 0)) != MAP_FAILED))
-     xflags = MAP_FIXED;
-   else
-@@ -614,7 +614,7 @@ open_archive (struct locarhandle *ah, bo
-   int xflags = 0;
-   void *p;
-   if (st.st_size < reserved
--      && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON,
-+      && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON,
-                      -1, 0)) != MAP_FAILED))
-     xflags = MAP_FIXED;
-   else
-@@ -649,7 +649,7 @@ close_archive (struct locarhandle *ah)
- #include "../../intl/explodename.c"
- #include "../../intl/l10nflist.c"
--static struct namehashent *
-+struct namehashent *
- insert_name (struct locarhandle *ah,
-            const char *name, size_t name_len, bool replace)
- {
-@@ -707,7 +707,7 @@ insert_name (struct locarhandle *ah,
-   return &namehashtab[idx];
- }
--static void
-+void
- add_alias (struct locarhandle *ah, const char *alias, bool replace,
-          const char *oldname, uint32_t *locrec_offset_p)
- {
---- glibc-2.12-2-gc4ccff1/localedata/Makefile
-+++ glibc-2.12-1/localedata/Makefile
-@@ -227,6 +227,7 @@ $(INSTALL-SUPPORTED-LOCALES): install-lo
-       echo -n '...'; \
-       input=`echo $$locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; \
-       $(LOCALEDEF) --alias-file=../intl/locale.alias \
-+                   --no-archive \
-                    -i locales/$$input -c -f charmaps/$$charset \
-                    $(addprefix --prefix=,$(install_root)) $$locale; \
-       echo ' done'; \
---- glibc-2.12-2-gc4ccff1/localedata/SUPPORTED
-+++ glibc-2.12-1/localedata/SUPPORTED
-@@ -85,6 +85,7 @@ cy_GB.UTF-8/UTF-8 \
- cy_GB/ISO-8859-14 \
- da_DK.UTF-8/UTF-8 \
- da_DK/ISO-8859-1 \
-+da_DK.ISO-8859-15/ISO-8859-15 \
- de_AT.UTF-8/UTF-8 \
- de_AT/ISO-8859-1 \
- de_AT@euro/ISO-8859-15 \
-@@ -116,6 +117,7 @@ en_DK.UTF-8/UTF-8 \
- en_DK/ISO-8859-1 \
- en_GB.UTF-8/UTF-8 \
- en_GB/ISO-8859-1 \
-+en_GB.ISO-8859-15/ISO-8859-15 \
- en_HK.UTF-8/UTF-8 \
- en_HK/ISO-8859-1 \
- en_IE.UTF-8/UTF-8 \
-@@ -131,6 +133,7 @@ en_SG.UTF-8/UTF-8 \
- en_SG/ISO-8859-1 \
- en_US.UTF-8/UTF-8 \
- en_US/ISO-8859-1 \
-+en_US.ISO-8859-15/ISO-8859-15 \
- en_ZA.UTF-8/UTF-8 \
- en_ZA/ISO-8859-1 \
- en_ZW.UTF-8/UTF-8 \
-@@ -307,6 +310,8 @@ nl_NL/ISO-8859-1 \
- nl_NL@euro/ISO-8859-15 \
- nn_NO.UTF-8/UTF-8 \
- nn_NO/ISO-8859-1 \
-+no_NO.UTF-8/UTF-8 \
-+no_NO/ISO-8859-1 \
- nr_ZA/UTF-8 \
- nso_ZA/UTF-8 \
- oc_FR.UTF-8/UTF-8 \
-@@ -367,6 +372,7 @@ sv_FI/ISO-8859-1 \
- sv_FI@euro/ISO-8859-15 \
- sv_SE.UTF-8/UTF-8 \
- sv_SE/ISO-8859-1 \
-+sv_SE.ISO-8859-15/ISO-8859-15 \
- ta_IN/UTF-8 \
- te_IN/UTF-8 \
- tg_TJ.UTF-8/UTF-8 \
---- glibc-2.12-2-gc4ccff1/localedata/locales/cy_GB
-+++ glibc-2.12-1/localedata/locales/cy_GB
-@@ -248,8 +248,11 @@ mon         "<U0049><U006F><U006E><U0061
- d_t_fmt     "<U0044><U0079><U0064><U0064><U0020><U0025><U0041><U0020><U0025><U0064><U0020><U006d><U0069><U0073><U0020><U0025><U0042><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
- d_fmt       "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0079>"
- t_fmt       "<U0025><U0054>"
--am_pm       "";""
--t_fmt_ampm  ""
-+am_pm       "<U0041><U004D>";"<U0050><U004D>"
-+t_fmt_ampm  "<U0025><U006C><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0050><U0020><U0025><U005A>"
-+date_fmt    "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
-+<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
-+<U0025><U005A><U0020><U0025><U0059>"
- END LC_TIME
- LC_MESSAGES
---- glibc-2.12-2-gc4ccff1/localedata/locales/en_GB
-+++ glibc-2.12-1/localedata/locales/en_GB
-@@ -116,8 +116,8 @@ mon         "<U004A><U0061><U006E><U0075
- d_t_fmt     "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
- d_fmt       "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
- t_fmt       "<U0025><U0054>"
--am_pm       "";""
--t_fmt_ampm  ""
-+am_pm       "<U0041><U004D>";"<U0050><U004D>"
-+t_fmt_ampm  "<U0025><U006C><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0050><U0020><U0025><U005A>"
- date_fmt      "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
- <U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
- <U0025><U005A><U0020><U0025><U0059>"
---- glibc-2.12-2-gc4ccff1/localedata/locales/no_NO
-+++ glibc-2.12-1/localedata/locales/no_NO
-@@ -0,0 +1,69 @@
-+escape_char   /
-+comment_char    %
-+
-+% Norwegian language locale for Norway
-+% Source: Norsk Standardiseringsforbund
-+% Address: University Library,
-+%   Drammensveien 41, N-9242 Oslo, Norge
-+% Contact: Kolbjoern Aamboe
-+% Tel: +47 - 22859109
-+% Fax: +47 - 22434497
-+% Email: kolbjorn.aambo@usit.uio.no
-+% Language: no
-+% Territory: NO
-+% Revision: 4.3
-+% Date: 1996-10-15
-+% Application: general
-+% Users: general
-+% Repertoiremap: mnemonic.ds
-+% Charset: ISO-8859-1
-+% Distribution and use is free, also
-+% for commercial purposes.
-+
-+LC_IDENTIFICATION
-+copy "nb_NO"
-+END LC_IDENTIFICATION
-+
-+LC_COLLATE
-+copy "nb_NO"
-+END LC_COLLATE
-+
-+LC_CTYPE
-+copy "nb_NO"
-+END LC_CTYPE
-+
-+LC_MONETARY
-+copy "nb_NO"
-+END LC_MONETARY
-+
-+LC_NUMERIC
-+copy "nb_NO"
-+END LC_NUMERIC
-+
-+LC_TIME
-+copy "nb_NO"
-+END LC_TIME
-+
-+LC_MESSAGES
-+copy "nb_NO"
-+END LC_MESSAGES
-+
-+LC_PAPER
-+copy "nb_NO"
-+END LC_PAPER
-+
-+LC_TELEPHONE
-+copy "nb_NO"
-+END LC_TELEPHONE
-+
-+LC_MEASUREMENT
-+copy "nb_NO"
-+END LC_MEASUREMENT
-+
-+LC_NAME
-+copy "nb_NO"
-+END LC_NAME
-+
-+LC_ADDRESS
-+copy "nb_NO"
-+END LC_ADDRESS
---- glibc-2.12-2-gc4ccff1/localedata/locales/zh_TW
-+++ glibc-2.12-1/localedata/locales/zh_TW
-@@ -1,7 +1,7 @@
- comment_char %
- escape_char /
- %
--% Chinese language locale for Taiwan R.O.C.
-+% Chinese language locale for Taiwan
- % charmap: BIG5-CP950
- %
- % Original Author:
-@@ -17,7 +17,7 @@ escape_char /
- % Reference:  http://wwwold.dkuug.dk/JTC1/SC22/WG20/docs/n690.pdf
- LC_IDENTIFICATION
--title      "Chinese locale for Taiwan R.O.C."
-+title      "Chinese locale for Taiwan"
- source     ""
- address    ""
- contact    ""
-@@ -25,7 +25,7 @@ email      "bug-glibc-locales@gnu.org"
- tel        ""
- fax        ""
- language   "Chinese"
--territory  "Taiwan R.O.C."
-+territory  "Taiwan"
- revision   "0.2"
- date       "2000-08-02"
- %
---- glibc-2.12-2-gc4ccff1/malloc/mcheck.c
-+++ glibc-2.12-1/malloc/mcheck.c
-@@ -24,9 +24,25 @@
- # include <mcheck.h>
- # include <stdint.h>
- # include <stdio.h>
-+# include <stdlib.h>
- # include <libintl.h>
- #endif
-+#ifdef _LIBC
-+extern __typeof (malloc) __libc_malloc;
-+extern __typeof (free) __libc_free;
-+extern __typeof (realloc) __libc_realloc;
-+libc_hidden_proto (__libc_malloc)
-+libc_hidden_proto (__libc_realloc)
-+libc_hidden_proto (__libc_free)
-+libc_hidden_proto (__libc_memalign)
-+#else
-+# define __libc_malloc(sz) malloc (sz)
-+# define __libc_free(ptr) free (ptr)
-+# define __libc_realloc(ptr, sz) realloc (ptr, sz)
-+# define __libc_memalign(al, sz) memalign (al, sz)
-+#endif
-+
- /* Old hook values.  */
- static void (*old_free_hook) (__ptr_t ptr, __const __ptr_t);
- static __ptr_t (*old_malloc_hook) (__malloc_size_t size, const __ptr_t);
-@@ -197,7 +213,7 @@ freehook (__ptr_t ptr, const __ptr_t cal
-   if (old_free_hook != NULL)
-     (*old_free_hook) (ptr, caller);
-   else
--    free (ptr);
-+    __libc_free (ptr);
-   __free_hook = freehook;
- }
-@@ -214,7 +230,7 @@ mallochook (__malloc_size_t size, const 
-     hdr = (struct hdr *) (*old_malloc_hook) (sizeof (struct hdr) + size + 1,
-                                            caller);
-   else
--    hdr = (struct hdr *) malloc (sizeof (struct hdr) + size + 1);
-+    hdr = (struct hdr *) __libc_malloc (sizeof (struct hdr) + size + 1);
-   __malloc_hook = mallochook;
-   if (hdr == NULL)
-     return NULL;
-@@ -245,7 +261,7 @@ memalignhook (__malloc_size_t alignment,
-   if (old_memalign_hook != NULL)
-     block = (*old_memalign_hook) (alignment, slop + size + 1, caller);
-   else
--    block = memalign (alignment, slop + size + 1);
-+    block = __libc_memalign (alignment, slop + size + 1);
-   __memalign_hook = memalignhook;
-   if (block == NULL)
-     return NULL;
-@@ -300,8 +316,8 @@ reallochook (__ptr_t ptr, __malloc_size_
-                                             sizeof (struct hdr) + size + 1,
-                                             caller);
-   else
--    hdr = (struct hdr *) realloc ((__ptr_t) hdr,
--                                sizeof (struct hdr) + size + 1);
-+    hdr = (struct hdr *) __libc_realloc ((__ptr_t) hdr,
-+                                       sizeof (struct hdr) + size + 1);
-   __free_hook = freehook;
-   __malloc_hook = mallochook;
-   __memalign_hook = memalignhook;
-@@ -361,8 +377,8 @@ mcheck (func)
-   if (__malloc_initialized <= 0 && !mcheck_used)
-     {
-       /* We call malloc() once here to ensure it is initialized.  */
--      void *p = malloc (0);
--      free (p);
-+      void *p = __libc_malloc (0);
-+      __libc_free (p);
-       old_free_hook = __free_hook;
-       __free_hook = freehook;
---- glibc-2.12-2-gc4ccff1/manual/libc.texinfo
-+++ glibc-2.12-1/manual/libc.texinfo
-@@ -5,7 +5,7 @@
- @c setchapternewpage odd
- @comment Tell install-info what to do.
--@dircategory Software libraries
-+@dircategory Libraries
- @direntry
- * Libc: (libc).                 C library.
- @end direntry
---- glibc-2.12-2-gc4ccff1/misc/sys/cdefs.h
-+++ glibc-2.12-1/misc/sys/cdefs.h
-@@ -132,7 +132,10 @@
- #define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1)
- #define __bos0(ptr) __builtin_object_size (ptr, 0)
--#if __GNUC_PREREQ (4,3)
-+#if __GNUC_PREREQ (4,3) \
-+    || (defined __GNUC_RH_RELEASE__ && __GNUC__ == 4 \
-+      && __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 2 \
-+      && __GNUC_RH_RELEASE__ >= 31)
- # define __warndecl(name, msg) \
-   extern void name (void) __attribute__((__warning__ (msg)))
- # define __warnattr(msg) __attribute__((__warning__ (msg)))
-@@ -291,10 +294,16 @@
- /* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
-    inline semantics, unless -fgnu89-inline is used.  */
--#if !defined __cplusplus || __GNUC_PREREQ (4,3)
-+#if !defined __cplusplus || __GNUC_PREREQ (4,3) \
-+    || (defined __GNUC_RH_RELEASE__ && __GNUC__ == 4 \
-+      && __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 2 \
-+      && __GNUC_RH_RELEASE__ >= 31)
- # if defined __GNUC_STDC_INLINE__ || defined __cplusplus
- #  define __extern_inline extern __inline __attribute__ ((__gnu_inline__))
--#  if __GNUC_PREREQ (4,3)
-+#  if __GNUC_PREREQ (4,3) \
-+      || (defined __GNUC_RH_RELEASE__ && __GNUC__ == 4 \
-+          && __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 2 \
-+          && __GNUC_RH_RELEASE__ >= 31)
- #   define __extern_always_inline \
-   extern __always_inline __attribute__ ((__gnu_inline__, __artificial__))
- #  else
-@@ -314,7 +323,10 @@
- /* GCC 4.3 and above allow passing all anonymous arguments of an
-    __extern_always_inline function to some other vararg function.  */
--#if __GNUC_PREREQ (4,3)
-+#if __GNUC_PREREQ (4,3) \
-+    || (defined __GNUC_RH_RELEASE__ && __GNUC__ == 4 \
-+      && __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 2 \
-+      && __GNUC_RH_RELEASE__ >= 31)
- # define __va_arg_pack() __builtin_va_arg_pack ()
- # define __va_arg_pack_len() __builtin_va_arg_pack_len ()
- #endif
---- glibc-2.12-2-gc4ccff1/nis/nss
-+++ glibc-2.12-1/nis/nss
-@@ -25,7 +25,7 @@
- #  memory with every getXXent() call.  Otherwise each getXXent() call
- #  might result into a network communication with the server to get
- #  the next entry.
--#SETENT_BATCH_READ=TRUE
-+SETENT_BATCH_READ=TRUE
- #
- # ADJUNCT_AS_SHADOW
- #  If set to TRUE, the passwd routines in the NIS NSS module will not
---- glibc-2.12-2-gc4ccff1/nptl/ChangeLog
-+++ glibc-2.12-1/nptl/ChangeLog
-@@ -3884,6 +3884,15 @@
-       Use __sigfillset.  Document that sigfillset does the right thing wrt
-       to SIGSETXID.
-+2005-08-08  Jakub Jelinek  <jakub@redhat.com>
-+
-+      * tst-stackguard1.c (do_test): Likewise.
-+
-+2005-07-29  Jakub Jelinek  <jakub@redhat.com>
-+
-+      * tst-stackguard1.c (do_test): Don't fail if the poor man's
-+      randomization doesn't work well enough.
-+
- 2005-07-11  Jakub Jelinek  <jakub@redhat.com>
-       [BZ #1102]
-@@ -4620,6 +4629,11 @@
-       Move definition inside libpthread, libc, librt check.  Provide
-       definition for rtld.
-+2004-09-02  Jakub Jelinek  <jakub@redhat.com>
-+
-+      * pthread_cond_destroy.c (__pthread_cond_destroy): If there are
-+      waiters, awake all waiters on the associated mutex.
-+
- 2004-09-02  Ulrich Drepper  <drepper@redhat.com>
-       * sysdeps/alpha/jmpbuf-unwind.h: Define __libc_unwind_longjmp.
-@@ -6694,6 +6708,11 @@
-       * Makefile [$(build-shared) = yes] (tests): Depend on $(test-modules).
-+2003-07-22  Jakub Jelinek  <jakub@redhat.com>
-+
-+      * descr.h: Don't include lowlevellock.h, pthreaddef.h and dl-sysdep.h
-+      if __need_struct_pthread_size, instead define lll_lock_t.
-+
- 2003-07-25  Jakub Jelinek  <jakub@redhat.com>
-       * tst-cancel17.c (do_test): Check if aio_cancel failed.
---- glibc-2.12-2-gc4ccff1/nptl/Makefile
-+++ glibc-2.12-1/nptl/Makefile
-@@ -341,7 +341,8 @@ endif
- extra-objs += $(crti-objs) $(crtn-objs)
- omit-deps += crti crtn
--CFLAGS-pt-initfini.s = -g0 -fPIC -fno-inline-functions $(fno-unit-at-a-time)
-+CFLAGS-pt-initfini.s = -g0 -fPIC -fno-inline-functions $(fno-unit-at-a-time) \
-+                     -fno-asynchronous-unwind-tables
- endif
- CFLAGS-flockfile.c = -D_IO_MTSAFE_IO
-@@ -527,15 +528,19 @@ $(addprefix $(objpfx), \
-     $(tests) $(xtests) $(test-srcs))): $(objpfx)libpthread.so \
-                                      $(objpfx)libpthread_nonshared.a
- $(objpfx)tst-unload: $(common-objpfx)dlfcn/libdl.so
--# $(objpfx)../libc.so is used instead of $(common-objpfx)libc.so,
-+# $(objpfx)linklibc.so is used instead of $(common-objpfx)libc.so,
- # since otherwise libpthread.so comes before libc.so when linking.
- $(addprefix $(objpfx), $(tests-reverse)): \
--  $(objpfx)../libc.so $(objpfx)libpthread.so \
-+  $(objpfx)linklibc.so $(objpfx)libpthread.so \
-   $(objpfx)libpthread_nonshared.a
- $(objpfx)../libc.so: $(common-objpfx)libc.so ;
- $(addprefix $(objpfx),$(tests-static) $(xtests-static)): $(objpfx)libpthread.a
- $(objpfx)tst-atfork2.out: $(objpfx)tst-atfork2mod.so
-+
-+$(objpfx)linklibc.so: $(common-objpfx)libc.so
-+      ln -s ../libc.so $@
-+generated += libclink.so
- else
- $(addprefix $(objpfx),$(tests) $(test-srcs)): $(objpfx)libpthread.a
- endif
---- glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h
-+++ glibc-2.12-1/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h
-@@ -189,4 +189,7 @@
- /* Typed memory objects are not available.  */
- #define _POSIX_TYPED_MEMORY_OBJECTS   -1
-+/* Streams are not available.  */
-+#define _XOPEN_STREAMS        -1
-+
- #endif /* bits/posix_opt.h */
---- glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/kernel-features.h
-+++ glibc-2.12-1/nptl/sysdeps/unix/sysv/linux/kernel-features.h
-@@ -0,0 +1,6 @@
-+#include_next <kernel-features.h>
-+
-+/* NPTL can always assume all clone thread flags work.  */
-+#ifndef __ASSUME_CLONE_THREAD_FLAGS
-+# define __ASSUME_CLONE_THREAD_FLAGS  1
-+#endif
---- glibc-2.12-2-gc4ccff1/nptl/tst-stackguard1.c
-+++ glibc-2.12-1/nptl/tst-stackguard1.c
-@@ -190,17 +190,21 @@ do_test (void)
-      the 16 runs, something is very wrong.  */
-   int ndifferences = 0;
-   int ndefaults = 0;
-+  int npartlyrandomized = 0;
-   for (i = 0; i < N; ++i) 
-     {
-       if (child_stack_chk_guards[i] != child_stack_chk_guards[i+1])
-       ndifferences++;
-       else if (child_stack_chk_guards[i] == default_guard)
-       ndefaults++;
-+      else if (*(char *) &child_stack_chk_guards[i] == 0)
-+      npartlyrandomized++;
-     }
--  printf ("differences %d defaults %d\n", ndifferences, ndefaults);
-+  printf ("differences %d defaults %d partly randomized %d\n",
-+        ndifferences, ndefaults, npartlyrandomized);
--  if (ndifferences < N / 2 && ndefaults < N / 2)
-+  if ((ndifferences + ndefaults + npartlyrandomized) < 3 * N / 4)
-     {
-       puts ("stack guard canaries are not randomized enough");
-       puts ("nor equal to the default canary value");
---- glibc-2.12-2-gc4ccff1/nscd/nscd.conf
-+++ glibc-2.12-1/nscd/nscd.conf
-@@ -33,7 +33,7 @@
- #     logfile                 /var/log/nscd.log
- #     threads                 4
- #     max-threads             32
--#     server-user             nobody
-+      server-user             nscd
- #     stat-user               somebody
-       debug-level             0
- #     reload-count            5
---- glibc-2.12-2-gc4ccff1/nscd/nscd.init
-+++ glibc-2.12-1/nscd/nscd.init
-@@ -9,6 +9,7 @@
- #             slow naming services like NIS, NIS+, LDAP, or hesiod.
- # processname: /usr/sbin/nscd
- # config: /etc/nscd.conf
-+# config: /etc/sysconfig/nscd
- #
- ### BEGIN INIT INFO
- # Provides: nscd
-@@ -28,20 +29,8 @@
- # Source function library.
- . /etc/init.d/functions
--# nscd does not run on any kernel lower than 2.2.0 because of threading
--# problems, so we require that in first place.
--case $(uname -r) in
--    2.[2-9].*)
--      # this is okay
--      ;;
--    [3-9]*)
--      # these are of course also okay
--      ;;
--    *)
--      #this is not
--      exit 1
--      ;;
--esac
-+# Source an auxiliary options file if we have one, and pick up NSCD_OPTIONS.
-+[ -r /etc/sysconfig/nscd ] && . /etc/sysconfig/nscd
- RETVAL=0
- prog=nscd
-@@ -50,7 +39,7 @@ start () {
-     [ -d /var/run/nscd ] || mkdir /var/run/nscd
-     [ -d /var/db/nscd ] || mkdir /var/db/nscd
-     echo -n $"Starting $prog: "
--    daemon /usr/sbin/nscd
-+    daemon /usr/sbin/nscd $NSCD_OPTIONS
-     RETVAL=$?
-     echo
-     [ $RETVAL -eq 0 ] && touch /var/lock/subsys/nscd
-@@ -83,7 +72,7 @@ restart() {
- # See how we were called.
- case "$1" in
-     start)
--      start
-+      [ -e /var/lock/subsys/nscd ] || start
-       RETVAL=$?
-       ;;
-     stop)
-@@ -99,14 +88,17 @@ case "$1" in
-       RETVAL=$?
-       ;;
-     try-restart | condrestart)
--      [ -e /var/lock/subsys/nscd ] && restart
-+      [ ! -e /var/lock/subsys/nscd ] || restart
-       RETVAL=$?
-       ;;
-     force-reload | reload)
-       echo -n $"Reloading $prog: "
--      killproc /usr/sbin/nscd -HUP
--      RETVAL=$?
--      echo
-+      RETVAL=0
-+      /usr/sbin/nscd -i passwd || RETVAL=$?
-+      /usr/sbin/nscd -i group || RETVAL=$?
-+      /usr/sbin/nscd -i hosts || RETVAL=$?
-+      /usr/sbin/nscd -i services || RETVAL=$?
-+      echo
-       ;;
-     *)
-       echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}"
---- glibc-2.12-2-gc4ccff1/posix/Makefile
-+++ glibc-2.12-1/posix/Makefile
-@@ -305,15 +305,8 @@ $(inst_libexecdir)/getconf: $(inst_bindi
-         mv -f $@/$$spec.new $@/$$spec; \
-       done < $(objpfx)getconf.speclist
--$(objpfx)getconf.speclist: $(objpfx)getconf
--ifeq (no,$(cross-compiling))
--      LC_ALL=C GETCONF_DIR=/dev/null \
--      $(run-program-prefix) $< _POSIX_V7_WIDTH_RESTRICTED_ENVS > $@.new
--      LC_ALL=C GETCONF_DIR=/dev/null \
--      $(run-program-prefix) $< _POSIX_V6_WIDTH_RESTRICTED_ENVS >> $@.new
--      LC_ALL=C GETCONF_DIR=/dev/null \
--      $(run-program-prefix) $< _XBS5_WIDTH_RESTRICTED_ENVS >> $@.new
--else
--      > $@.new
--endif
-+$(objpfx)getconf.speclist: getconf.speclist.h
-+      $(CC) -E $(CFLAGS) $(CPPFLAGS) $< \
-+        | sed -n -e '/START_OF_STRINGS/,$${/\(POSIX_V[67]\|_XBS5\)_/{s/^[^"]*"//;s/".*$$//;p}}' \
-+        > $@.new
-       mv -f $@.new $@
---- glibc-2.12-2-gc4ccff1/posix/gai.conf
-+++ glibc-2.12-1/posix/gai.conf
-@@ -41,7 +41,7 @@
- #
- # precedence  <mask>   <value>
- #    Add another rule to the RFC 3484 precedence table.  See section 2.1
--#    and 10.3 in RFC 3484.  The default is:
-+#    and 10.3 in RFC 3484.  The RFC requires:
- #
- #precedence  ::1/128       50
- #precedence  ::/0          40
-@@ -58,7 +58,7 @@
- #    Add another rule to the RFC 3484 scope table for IPv4 addresses.
- #    By default the scope IDs described in section 3.2 in RFC 3484 are
- #    used.  Changing these defaults should hardly ever be necessary.
--#    The defaults are equivalent to:
-+#    The definitions in RFC 1918 are equivalent to:
- #
- #scopev4 ::ffff:169.254.0.0/112  2
- #scopev4 ::ffff:127.0.0.0/104    2
-@@ -75,3 +75,5 @@
- #scopev4 ::ffff:169.254.0.0/112  2
- #scopev4 ::ffff:127.0.0.0/104    2
- #scopev4 ::ffff:0.0.0.0/96       14
-+#
-+#    This is what the Red Hat setting currently uses.
---- glibc-2.12-2-gc4ccff1/posix/getconf.speclist.h
-+++ glibc-2.12-1/posix/getconf.speclist.h
-@@ -0,0 +1,39 @@
-+#include <unistd.h>
-+const char *START_OF_STRINGS =
-+#if _POSIX_V7_ILP32_OFF32 == 1
-+"POSIX_V7_ILP32_OFF32"
-+#endif
-+#if _POSIX_V7_ILP32_OFFBIG == 1
-+"POSIX_V7_ILP32_OFFBIG"
-+#endif
-+#if _POSIX_V7_LP64_OFF64 == 1
-+"POSIX_V7_LP64_OFF64"
-+#endif
-+#if _POSIX_V7_LPBIG_OFFBIG == 1
-+"POSIX_V7_LPBIG_OFFBIG"
-+#endif
-+#if _POSIX_V6_ILP32_OFF32 == 1
-+"POSIX_V6_ILP32_OFF32"
-+#endif
-+#if _POSIX_V6_ILP32_OFFBIG == 1
-+"POSIX_V6_ILP32_OFFBIG"
-+#endif
-+#if _POSIX_V6_LP64_OFF64 == 1
-+"POSIX_V6_LP64_OFF64"
-+#endif
-+#if _POSIX_V6_LPBIG_OFFBIG == 1
-+"POSIX_V6_LPBIG_OFFBIG"
-+#endif
-+#if _XBS5_ILP32_OFF32 == 1
-+"XBS5_ILP32_OFF32"
-+#endif
-+#if _XBS5_ILP32_OFFBIG == 1
-+"XBS5_ILP32_OFFBIG"
-+#endif
-+#if _XBS5_LP64_OFF64 == 1
-+"XBS5_LP64_OFF64"
-+#endif
-+#if _XBS5_LPBIG_OFFBIG == 1
-+"XBS5_LPBIG_OFFBIG"
-+#endif
-+"";
---- glibc-2.12-2-gc4ccff1/streams/Makefile
-+++ glibc-2.12-1/streams/Makefile
-@@ -21,7 +21,7 @@
- #
- subdir        := streams
--headers               = stropts.h sys/stropts.h bits/stropts.h bits/xtitypes.h
-+#headers              = stropts.h sys/stropts.h bits/stropts.h bits/xtitypes.h
- routines      = isastream getmsg getpmsg putmsg putpmsg fattach fdetach
- include ../Rules
---- glibc-2.12-2-gc4ccff1/sysdeps/generic/dl-cache.h
-+++ glibc-2.12-1/sysdeps/generic/dl-cache.h
-@@ -36,6 +36,14 @@
- # define add_system_dir(dir) add_dir (dir)
- #endif
-+#ifndef arch_startup
-+# define arch_startup(argc, argv) do { } while (0)
-+#endif
-+
-+#ifndef add_arch_dirs
-+# define add_arch_dirs(config_file) do { } while (0)
-+#endif
-+
- #define CACHEMAGIC "ld.so-1.7.0"
- /* libc5 and glibc 2.0/2.1 use the same format.  For glibc 2.2 another
---- glibc-2.12-2-gc4ccff1/sysdeps/i386/Makefile
-+++ glibc-2.12-1/sysdeps/i386/Makefile
-@@ -2,6 +2,8 @@
- # Every i386 port in use uses gas syntax (I think).
- asm-CPPFLAGS += -DGAS_SYNTAX
-+sysdep-ASFLAGS += -U__i686
-+
- # The i386 `long double' is a distinct type we support.
- long-double-fcts = yes
-@@ -64,6 +66,14 @@ endif
- ifneq (,$(filter -mno-tls-direct-seg-refs,$(CFLAGS)))
- defines += -DNO_TLS_DIRECT_SEG_REFS
-+else
-+# .a libraries are not performance critical and so we
-+# build them without direct TLS segment references
-+# always.
-+CPPFLAGS-.o += -DNO_TLS_DIRECT_SEG_REFS
-+CFLAGS-.o += -mno-tls-direct-seg-refs
-+CPPFLAGS-.oS += -DNO_TLS_DIRECT_SEG_REFS
-+CFLAGS-.oS += -mno-tls-direct-seg-refs
- endif
- ifeq ($(subdir),elf)
---- glibc-2.12-2-gc4ccff1/sysdeps/ia64/Makefile
-+++ glibc-2.12-1/sysdeps/ia64/Makefile
-@@ -12,8 +12,8 @@ elide-routines.os += hp-timing
- ifeq (yes,$(build-shared))
- # Compatibility
--sysdep_routines += ia64libgcc
--shared-only-routines += ia64libgcc
-+sysdep_routines += libgcc-compat
-+shared-only-routines += libgcc-compat
- endif
- endif
---- glibc-2.12-2-gc4ccff1/sysdeps/ia64/ia64libgcc.S
-+++ glibc-2.12-1/sysdeps/ia64/ia64libgcc.S
-@@ -1,350 +0,0 @@
--/* From the Intel IA-64 Optimization Guide, choose the minimum latency
--   alternative.  */
--
--#include <sysdep.h>
--#undef ret
--
--#include <shlib-compat.h>
--
--#if SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_2_6)
--
--/* __divtf3
--   Compute a 80-bit IEEE double-extended quotient.
--   farg0 holds the dividend.  farg1 holds the divisor.  */
--
--ENTRY(___divtf3)
--      cmp.eq p7, p0 = r0, r0
--      frcpa.s0 f10, p6 = farg0, farg1
--      ;;
--(p6)  cmp.ne p7, p0 = r0, r0
--      .pred.rel.mutex p6, p7
--(p6)  fnma.s1 f11 = farg1, f10, f1
--(p6)  fma.s1 f12 = farg0, f10, f0
--      ;;
--(p6)  fma.s1 f13 = f11, f11, f0
--(p6)  fma.s1 f14 = f11, f11, f11
--      ;;
--(p6)  fma.s1 f11 = f13, f13, f11
--(p6)  fma.s1 f13 = f14, f10, f10
--      ;;
--(p6)  fma.s1 f10 = f13, f11, f10
--(p6)  fnma.s1 f11 = farg1, f12, farg0
--      ;;
--(p6)  fma.s1 f11 = f11, f10, f12
--(p6)  fnma.s1 f12 = farg1, f10, f1
--      ;;
--(p6)  fma.s1 f10 = f12, f10, f10
--(p6)  fnma.s1 f12 = farg1, f11, farg0
--      ;;
--(p6)  fma.s0 fret0 = f12, f10, f11
--(p7)  mov fret0 = f10
--      br.ret.sptk rp
--END(___divtf3)
--      .symver ___divtf3, __divtf3@GLIBC_2.2
--
--/* __divdf3
--   Compute a 64-bit IEEE double quotient.
--   farg0 holds the dividend.  farg1 holds the divisor.  */
--
--ENTRY(___divdf3)
--      cmp.eq p7, p0 = r0, r0
--      frcpa.s0 f10, p6 = farg0, farg1
--      ;;
--(p6)  cmp.ne p7, p0 = r0, r0
--      .pred.rel.mutex p6, p7
--(p6)  fmpy.s1 f11 = farg0, f10
--(p6)  fnma.s1 f12 = farg1, f10, f1
--      ;;
--(p6)  fma.s1 f11 = f12, f11, f11
--(p6)  fmpy.s1 f13 = f12, f12
--      ;;
--(p6)  fma.s1 f10 = f12, f10, f10
--(p6)  fma.s1 f11 = f13, f11, f11
--      ;;
--(p6)  fmpy.s1 f12 = f13, f13
--(p6)  fma.s1 f10 = f13, f10, f10
--      ;;
--(p6)  fma.d.s1 f11 = f12, f11, f11
--(p6)  fma.s1 f10 = f12, f10, f10
--      ;;
--(p6)  fnma.d.s1 f8 = farg1, f11, farg0
--      ;;
--(p6)  fma.d fret0 = f8, f10, f11
--(p7)  mov fret0 = f10
--      br.ret.sptk rp
--      ;;
--END(___divdf3)
--      .symver ___divdf3, __divdf3@GLIBC_2.2
--
--/* __divsf3
--   Compute a 32-bit IEEE float quotient.
--   farg0 holds the dividend.  farg1 holds the divisor.  */
--
--ENTRY(___divsf3)
--      cmp.eq p7, p0 = r0, r0
--      frcpa.s0 f10, p6 = farg0, farg1
--      ;;
--(p6)  cmp.ne p7, p0 = r0, r0
--      .pred.rel.mutex p6, p7
--(p6)  fmpy.s1 f8 = farg0, f10
--(p6)  fnma.s1 f9 = farg1, f10, f1
--      ;;
--(p6)  fma.s1 f8 = f9, f8, f8
--(p6)  fmpy.s1 f9 = f9, f9
--      ;;
--(p6)  fma.s1 f8 = f9, f8, f8
--(p6)  fmpy.s1 f9 = f9, f9
--      ;;
--(p6)  fma.d.s1 f10 = f9, f8, f8
--      ;;
--(p6)  fnorm.s.s0 fret0 = f10
--(p7)  mov fret0 = f10
--      br.ret.sptk rp
--      ;;
--END(___divsf3)
--      .symver ___divsf3, __divsf3@GLIBC_2.2
--
--/* __divdi3
--   Compute a 64-bit integer quotient.
--   in0 holds the dividend.  in1 holds the divisor.  */
--
--ENTRY(___divdi3)
--      .regstk 2,0,0,0
--      /* Transfer inputs to FP registers.  */
--      setf.sig f8 = in0
--      setf.sig f9 = in1
--      ;;
--      /* Convert the inputs to FP, so that they won't be treated as
--         unsigned.  */
--      fcvt.xf f8 = f8
--      fcvt.xf f9 = f9
--      ;;
--      /* Compute the reciprocal approximation.  */
--      frcpa.s1 f10, p6 = f8, f9
--      ;;
--      /* 3 Newton-Raphson iterations.  */
--(p6)  fnma.s1 f11 = f9, f10, f1
--(p6)  fmpy.s1 f12 = f8, f10
--      ;;
--(p6)  fmpy.s1 f13 = f11, f11
--(p6)  fma.s1 f12 = f11, f12, f12
--      ;;
--(p6)  fma.s1 f10 = f11, f10, f10
--(p6)  fma.s1 f11 = f13, f12, f12
--      ;;
--(p6)  fma.s1 f10 = f13, f10, f10
--(p6)  fnma.s1 f12 = f9, f11, f8
--      ;;
--(p6)  fma.s1 f10 = f12, f10, f11
--      ;;
--      /* Round quotient to an integer.  */
--      fcvt.fx.trunc.s1 f10 = f10
--      ;;
--      /* Transfer result to GP registers.  */
--      getf.sig ret0 = f10
--      br.ret.sptk rp
--      ;;
--END(___divdi3)
--      .symver ___divdi3, __divdi3@GLIBC_2.2
--
--/* __moddi3
--   Compute a 64-bit integer modulus.
--   in0 holds the dividend (a).  in1 holds the divisor (b).  */
--
--ENTRY(___moddi3)
--      .regstk 2,0,0,0
--      /* Transfer inputs to FP registers.  */
--      setf.sig f14 = in0
--      setf.sig f9 = in1
--      ;;
--      /* Convert the inputs to FP, so that they won't be treated as
--         unsigned.  */
--      fcvt.xf f8 = f14
--      fcvt.xf f9 = f9
--      ;;
--      /* Compute the reciprocal approximation.  */
--      frcpa.s1 f10, p6 = f8, f9
--      ;;
--      /* 3 Newton-Raphson iterations.  */
--(p6)  fmpy.s1 f12 = f8, f10
--(p6)  fnma.s1 f11 = f9, f10, f1
--      ;;
--(p6)  fma.s1 f12 = f11, f12, f12
--(p6)  fmpy.s1 f13 = f11, f11
--      ;;
--(p6)  fma.s1 f10 = f11, f10, f10
--(p6)  fma.s1 f11 = f13, f12, f12
--      ;;
--      sub in1 = r0, in1
--(p6)  fma.s1 f10 = f13, f10, f10
--(p6)  fnma.s1 f12 = f9, f11, f8
--      ;;
--      setf.sig f9 = in1
--(p6)  fma.s1 f10 = f12, f10, f11
--      ;;
--      fcvt.fx.trunc.s1 f10 = f10
--      ;;
--      /* r = q * (-b) + a  */
--      xma.l f10 = f10, f9, f14
--      ;;
--      /* Transfer result to GP registers.  */
--      getf.sig ret0 = f10
--      br.ret.sptk rp
--      ;;
--END(___moddi3)
--      .symver ___moddi3, __moddi3@GLIBC_2.2
--
--/* __udivdi3
--   Compute a 64-bit unsigned integer quotient.
--   in0 holds the dividend.  in1 holds the divisor.  */
--
--ENTRY(___udivdi3)
--      .regstk 2,0,0,0
--      /* Transfer inputs to FP registers.  */
--      setf.sig f8 = in0
--      setf.sig f9 = in1
--      ;;
--      /* Convert the inputs to FP, to avoid FP software-assist faults.  */
--      fcvt.xuf.s1 f8 = f8
--      fcvt.xuf.s1 f9 = f9
--      ;;
--      /* Compute the reciprocal approximation.  */
--      frcpa.s1 f10, p6 = f8, f9
--      ;;
--      /* 3 Newton-Raphson iterations.  */
--(p6)  fnma.s1 f11 = f9, f10, f1
--(p6)  fmpy.s1 f12 = f8, f10
--      ;;
--(p6)  fmpy.s1 f13 = f11, f11
--(p6)  fma.s1 f12 = f11, f12, f12
--      ;;
--(p6)  fma.s1 f10 = f11, f10, f10
--(p6)  fma.s1 f11 = f13, f12, f12
--      ;;
--(p6)  fma.s1 f10 = f13, f10, f10
--(p6)  fnma.s1 f12 = f9, f11, f8
--      ;;
--(p6)  fma.s1 f10 = f12, f10, f11
--      ;;
--      /* Round quotient to an unsigned integer.  */
--      fcvt.fxu.trunc.s1 f10 = f10
--      ;;
--      /* Transfer result to GP registers.  */
--      getf.sig ret0 = f10
--      br.ret.sptk rp
--      ;;
--END(___udivdi3)
--      .symver ___udivdi3, __udivdi3@GLIBC_2.2
--
--/* __umoddi3
--   Compute a 64-bit unsigned integer modulus.
--   in0 holds the dividend (a).  in1 holds the divisor (b).  */
--
--ENTRY(___umoddi3)
--      .regstk 2,0,0,0
--      /* Transfer inputs to FP registers.  */
--      setf.sig f14 = in0
--      setf.sig f9 = in1
--      ;;
--      /* Convert the inputs to FP, to avoid FP software assist faults.  */
--      fcvt.xuf.s1 f8 = f14
--      fcvt.xuf.s1 f9 = f9
--      ;;
--      /* Compute the reciprocal approximation.  */
--      frcpa.s1 f10, p6 = f8, f9
--      ;;
--      /* 3 Newton-Raphson iterations.  */
--(p6)  fmpy.s1 f12 = f8, f10
--(p6)  fnma.s1 f11 = f9, f10, f1
--      ;;
--(p6)  fma.s1 f12 = f11, f12, f12
--(p6)  fmpy.s1 f13 = f11, f11
--      ;;
--(p6)  fma.s1 f10 = f11, f10, f10
--(p6)  fma.s1 f11 = f13, f12, f12
--      ;;
--      sub in1 = r0, in1
--(p6)  fma.s1 f10 = f13, f10, f10
--(p6)  fnma.s1 f12 = f9, f11, f8
--      ;;
--      setf.sig f9 = in1
--(p6)  fma.s1 f10 = f12, f10, f11
--      ;;
--      /* Round quotient to an unsigned integer.  */
--      fcvt.fxu.trunc.s1 f10 = f10
--      ;;
--      /* r = q * (-b) + a  */
--      xma.l f10 = f10, f9, f14
--      ;;
--      /* Transfer result to GP registers.  */
--      getf.sig ret0 = f10
--      br.ret.sptk rp
--      ;;
--END(___umoddi3)
--      .symver ___umoddi3, __umoddi3@GLIBC_2.2
--
--/* __multi3
--   Compute a 128-bit multiply of 128-bit multiplicands.
--   in0/in1 holds one multiplicand (a), in2/in3 holds the other one (b).  */
--
--ENTRY(___multi3)
--      .regstk 4,0,0,0
--      setf.sig f6 = in1
--      movl r19 = 0xffffffff
--      setf.sig f7 = in2
--      ;;
--      and r14 = r19, in0
--      ;;
--      setf.sig f10 = r14
--      and r14 = r19, in2
--      xmpy.l f9 = f6, f7
--      ;;
--      setf.sig f6 = r14
--      shr.u r14 = in0, 32
--      ;;
--      setf.sig f7 = r14
--      shr.u r14 = in2, 32
--      ;;
--      setf.sig f8 = r14
--      xmpy.l f11 = f10, f6
--      xmpy.l f6 = f7, f6
--      ;;
--      getf.sig r16 = f11
--      xmpy.l f7 = f7, f8
--      ;;
--      shr.u r14 = r16, 32
--      and r16 = r19, r16
--      getf.sig r17 = f6
--      setf.sig f6 = in0
--      ;;
--      setf.sig f11 = r14
--      getf.sig r21 = f7
--      setf.sig f7 = in3
--      ;;
--      xma.l f11 = f10, f8, f11
--      xma.l f6 = f6, f7, f9
--      ;;
--      getf.sig r18 = f11
--      ;;
--      add r18 = r18, r17
--      ;;
--      and r15 = r19, r18
--      cmp.ltu p7, p6 = r18, r17
--      ;;
--      getf.sig r22 = f6
--(p7)  adds r14 = 1, r19
--      ;;
--(p7)  add r21 = r21, r14
--      shr.u r14 = r18, 32
--      shl r15 = r15, 32
--      ;;
--      add r20 = r21, r14
--      ;;
--      add ret0 = r15, r16
--      add ret1 = r22, r20
--      br.ret.sptk rp
--      ;;
--END(___multi3)
--      .symver ___multi3, __multi3@GLIBC_2.2
--
--#endif
---- glibc-2.12-2-gc4ccff1/sysdeps/ia64/libgcc-compat.c
-+++ glibc-2.12-1/sysdeps/ia64/libgcc-compat.c
-@@ -0,0 +1,84 @@
-+/* pre-.hidden libgcc compatibility
-+   Copyright (C) 2002 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 <stdint.h>
-+#include <shlib-compat.h>
-+
-+#if SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_2_6)
-+
-+typedef int int128_t __attribute__((__mode__(TI)));
-+
-+extern long double __divtf3 (long double, long double) attribute_hidden;
-+long double INTUSE (__divtf3) (long double x, long double y)
-+{
-+  return __divtf3 (x, y);
-+}
-+symbol_version (INTUSE (__divtf3), __divtf3, GLIBC_2.2);
-+
-+extern double __divdf3 (double, double) attribute_hidden;
-+double INTUSE (__divdf3) (double x, double y)
-+{
-+  return __divdf3 (x, y);
-+}
-+symbol_version (INTUSE (__divdf3), __divdf3, GLIBC_2.2);
-+
-+extern float __divsf3 (float, float) attribute_hidden;
-+float INTUSE (__divsf3) (float x, float y)
-+{
-+  return __divsf3 (x, y);
-+}
-+symbol_version (INTUSE (__divsf3), __divsf3, GLIBC_2.2);
-+
-+extern int64_t __divdi3 (int64_t, int64_t) attribute_hidden;
-+int64_t INTUSE (__divdi3) (int64_t x, int64_t y)
-+{
-+  return __divdi3 (x, y);
-+}
-+symbol_version (INTUSE (__divdi3), __divdi3, GLIBC_2.2);
-+
-+extern int64_t __moddi3 (int64_t, int64_t) attribute_hidden;
-+int64_t INTUSE (__moddi3) (int64_t x, int64_t y)
-+{
-+  return __moddi3 (x, y);
-+}
-+symbol_version (INTUSE (__moddi3), __moddi3, GLIBC_2.2);
-+
-+extern uint64_t __udivdi3 (uint64_t, uint64_t) attribute_hidden;
-+uint64_t INTUSE (__udivdi3) (uint64_t x, uint64_t y)
-+{
-+  return __udivdi3 (x, y);
-+}
-+symbol_version (INTUSE (__udivdi3), __udivdi3, GLIBC_2.2);
-+
-+extern uint64_t __umoddi3 (uint64_t, uint64_t) attribute_hidden;
-+uint64_t INTUSE (__umoddi3) (uint64_t x, uint64_t y)
-+{
-+  return __umoddi3 (x, y);
-+}
-+symbol_version (INTUSE (__umoddi3), __umoddi3, GLIBC_2.2);
-+
-+extern int128_t __multi3 (int128_t, int128_t) attribute_hidden;
-+int128_t INTUSE (__multi3) (int128_t x, int128_t y)
-+{
-+  return __multi3 (x, y);
-+}
-+symbol_version (INTUSE (__multi3), __multi3, GLIBC_2.2);
-+
-+#endif
---- glibc-2.12-2-gc4ccff1/sysdeps/posix/getaddrinfo.c
-+++ glibc-2.12-1/sysdeps/posix/getaddrinfo.c
-@@ -1099,10 +1099,12 @@ static const struct scopeentry
-     /* Link-local addresses: scope 2.  */
-     { { { 169, 254, 0, 0 } }, htonl_c (0xffff0000), 2 },
-     { { { 127, 0, 0, 0 } }, htonl_c (0xff000000), 2 },
-+#if 0
-     /* Site-local addresses: scope 5.  */
-     { { { 10, 0, 0, 0 } }, htonl_c (0xff000000), 5 },
-     { { { 172, 16, 0, 0 } }, htonl_c (0xfff00000), 5 },
-     { { { 192, 168, 0, 0 } }, htonl_c (0xffff0000), 5 },
-+#endif
-     /* Default: scope 14.  */
-     { { { 0, 0, 0, 0 } }, htonl_c (0x00000000), 14 }
-   };
---- glibc-2.12-2-gc4ccff1/sysdeps/powerpc/powerpc64/Makefile
-+++ glibc-2.12-1/sysdeps/powerpc/powerpc64/Makefile
-@@ -30,6 +30,7 @@ ifneq ($(elf),no)
- # we use -fpic instead which is much better.
- CFLAGS-initfini.s += -fpic -O1
- endif
-+CFLAGS-libc-start.c += -fno-asynchronous-unwind-tables
- endif
- ifeq ($(subdir),elf)
---- glibc-2.12-2-gc4ccff1/sysdeps/unix/nice.c
-+++ glibc-2.12-1/sysdeps/unix/nice.c
-@@ -42,7 +42,12 @@ nice (int incr)
-       __set_errno (save);
-     }
--  result = setpriority (PRIO_PROCESS, 0, prio + incr);
-+  prio += incr;
-+  if (prio < PRIO_MIN)
-+    prio = PRIO_MIN;
-+  else if (prio >= PRIO_MAX)
-+    prio = PRIO_MAX - 1;
-+  result = setpriority (PRIO_PROCESS, 0, prio);
-   if (result == -1)
-     {
-       if (errno == EACCES)
---- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/check_pf.c
-+++ glibc-2.12-1/sysdeps/unix/sysv/linux/check_pf.c
-@@ -27,13 +27,10 @@
- #include <unistd.h>
- #include <sys/socket.h>
--#include <asm/types.h>
--#include <linux/netlink.h>
--#include <linux/rtnetlink.h>
--
- #include <not-cancel.h>
- #include <kernel-features.h>
-+#include "netlinkaccess.h"
- #ifndef IFA_F_HOMEADDRESS
- # define IFA_F_HOMEADDRESS 0
---- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/dl-osinfo.h
-+++ glibc-2.12-1/sysdeps/unix/sysv/linux/dl-osinfo.h
-@@ -17,10 +17,13 @@
-    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-    02111-1307 USA.  */
-+#include <errno.h>
- #include <kernel-features.h>
- #include <dl-sysdep.h>
- #include <fcntl.h>
- #include <stdint.h>
-+#include <hp-timing.h>
-+#include <endian.h>
- #ifndef MIN
- # define MIN(a,b) (((a)<(b))?(a):(b))
-@@ -80,6 +83,32 @@ _dl_setup_stack_chk_guard (void *dl_rand
-       unsigned char *p = (unsigned char *) &ret;
-       p[sizeof (ret) - 1] = 255;
-       p[sizeof (ret) - 2] = '\n';
-+#ifdef HP_TIMING_NOW
-+      hp_timing_t hpt;
-+      HP_TIMING_NOW (hpt);
-+      hpt = (hpt & 0xffff) << 8;
-+      ret ^= hpt;
-+#endif
-+      uintptr_t stk;
-+      /* Avoid GCC being too smart.  */
-+      asm ("" : "=r" (stk) : "r" (p));
-+      stk &= 0x7ffff0;
-+#if __BYTE_ORDER == __LITTLE_ENDIAN
-+      stk <<= (__WORDSIZE - 23);
-+#elif __WORDSIZE == 64
-+      stk <<= 31;
-+#endif
-+      ret ^= stk;
-+      /* Avoid GCC being too smart.  */
-+      p = (unsigned char *) &errno;
-+      asm ("" : "=r" (stk) : "r" (p));
-+      stk &= 0x7fff00;
-+#if __BYTE_ORDER == __LITTLE_ENDIAN
-+      stk <<= (__WORDSIZE - 29);
-+#else
-+      stk >>= 8;
-+#endif
-+      ret ^= stk;
-     }
-   else
- #endif
---- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/futimesat.c
-+++ glibc-2.12-1/sysdeps/unix/sysv/linux/futimesat.c
-@@ -37,14 +37,14 @@ futimesat (fd, file, tvp)
- {
-   int result;
-+  if (file == NULL)
-+    return __futimes (fd, tvp);
-+
- #ifdef __NR_futimesat
- # ifndef __ASSUME_ATFCTS
-   if (__have_atfcts >= 0)
- # endif
-     {
--      if (file == NULL)
--      return __futimes (fd, tvp);
--
-       result = INLINE_SYSCALL (futimesat, 3, fd, file, tvp);
- # ifndef __ASSUME_ATFCTS
-       if (result == -1 && errno == ENOSYS)
-@@ -58,22 +58,7 @@ futimesat (fd, file, tvp)
- #ifndef __ASSUME_ATFCTS
-   char *buf = NULL;
--  if (file == NULL)
--    {
--      static const char procfd[] = "/proc/self/fd/%d";
--      /* Buffer for the path name we are going to use.  It consists of
--       - the string /proc/self/fd/
--       - the file descriptor number.
--       The final NUL is included in the sizeof.   A bit of overhead
--       due to the format elements compensates for possible negative
--       numbers.  */
--      size_t buflen = sizeof (procfd) + sizeof (int) * 3;
--      buf = alloca (buflen);
--
--      __snprintf (buf, buflen, procfd, fd);
--      file = buf;
--    }
--  else if (fd != AT_FDCWD && file[0] != '/')
-+  if (fd != AT_FDCWD && file[0] != '/')
-     {
-       size_t filelen = strlen (file);
-       if (__builtin_expect (filelen == 0, 0))
---- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/i386/dl-cache.h
-+++ glibc-2.12-1/sysdeps/unix/sysv/linux/i386/dl-cache.h
-@@ -0,0 +1,59 @@
-+/* Support for reading /etc/ld.so.cache files written by Linux ldconfig.
-+   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.  */
-+
-+static inline int
-+is_ia64 (void)
-+{
-+  unsigned int fl1, fl2;
-+
-+  /* See if we can use cpuid.  */
-+  __asm__ ("pushfl; pushfl; popl %0; movl %0,%1; xorl %2,%0;"
-+           "pushl %0; popfl; pushfl; popl %0; popfl"
-+           : "=&r" (fl1), "=&r" (fl2)
-+           : "i" (0x00200000));
-+  if (((fl1 ^ fl2) & 0x00200000) == 0)
-+    return 0;
-+
-+  /* Host supports cpuid.  See if cpuid gives capabilities, try
-+     CPUID(0).  Preserve %ebx and %ecx; cpuid insn clobbers these, we
-+     don't need their CPUID values here, and %ebx may be the PIC
-+     register.  */
-+  __asm__ ("pushl %%ecx; pushl %%ebx; cpuid; popl %%ebx; popl %%ecx"
-+           : "=a" (fl1) : "0" (0) : "edx", "cc");
-+  if (fl1 == 0)
-+    return 0;
-+
-+  /* Invoke CPUID(1), return %edx; caller can examine bits to
-+     determine what's supported.  */
-+  __asm__ ("pushl %%ecx; pushl %%ebx; cpuid; popl %%ebx; popl %%ecx"
-+           : "=d" (fl2), "=a" (fl1) : "1" (1) : "cc");
-+  return (fl2 & (1 << 30)) != 0;
-+}
-+
-+#define arch_startup(argc, argv) \
-+  do {                                                                        \
-+    /* On IA-64, try to execute 64-bit ldconfig if possible.          \
-+       This is because the badly designed /emul/ia32-linux hack               \
-+       will cause 32-bit ldconfig to do all sorts of weird things.  */        \
-+    if (is_ia64 ())                                                   \
-+      execv ("/emul/ia32-linux/../../sbin/ldconfig",                  \
-+           (char *const *) argv);                                     \
-+  } while (0)
-+
-+#include_next <dl-cache.h>
---- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/ia64/dl-cache.h
-+++ glibc-2.12-1/sysdeps/unix/sysv/linux/ia64/dl-cache.h
-@@ -22,4 +22,31 @@
- #define _dl_cache_check_flags(flags) \
-   ((flags) == _DL_CACHE_DEFAULT_ID)
-+#define EMUL_HACK "/emul/ia32-linux"
-+
-+#define arch_startup(argc, argv) unlink (EMUL_HACK LD_SO_CACHE)
-+
-+#define add_arch_dirs(config_file) \
-+  do {                                                        \
-+    int save_verbose = opt_verbose;                   \
-+    opt_verbose = 0;                                  \
-+                                                      \
-+    parse_conf (config_file, EMUL_HACK, true);                \
-+                                                      \
-+    /* Always add the standard search paths.  */      \
-+    add_system_dir (EMUL_HACK SLIBDIR);                       \
-+    if (strcmp (SLIBDIR, LIBDIR))                     \
-+      add_system_dir (EMUL_HACK LIBDIR);              \
-+                                                      \
-+    char emul_config_file[strlen (config_file)                \
-+                        + sizeof EMUL_HACK];          \
-+    strcpy (mempcpy (emul_config_file, EMUL_HACK,     \
-+                   strlen (EMUL_HACK)), config_file); \
-+                                                      \
-+    if (! access (emul_config_file, R_OK))            \
-+      parse_conf (emul_config_file, EMUL_HACK, true); \
-+                                                      \
-+    opt_verbose = save_verbose;                               \
-+  } while (0)
-+
- #include_next <dl-cache.h>
---- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c
-+++ glibc-2.12-1/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c
-@@ -0,0 +1,5 @@
-+#ifdef IS_IN_ldconfig
-+#include <sysdeps/i386/dl-procinfo.c>
-+#else
-+#include <sysdeps/generic/dl-procinfo.c>
-+#endif
---- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h
-+++ glibc-2.12-1/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h
-@@ -0,0 +1,5 @@
-+#ifdef IS_IN_ldconfig
-+#include <sysdeps/unix/sysv/linux/i386/dl-procinfo.h>
-+#else
-+#include <sysdeps/generic/dl-procinfo.h>
-+#endif
---- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed
-+++ glibc-2.12-1/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed
-@@ -1 +1 @@
--s_^\(RTLDLIST=\)\([^  ]*\)-ia64\(\.so\.[0-9.]*\)[     ]*$_\1"\2-ia64\3 \2\3"_
-+s_^\(RTLDLIST=\)\([^  ]*\)-ia64\(\.so\.[0-9.]*\)[     ]*$_\1"\2-ia64\3 /emul/ia32-linux\2\3"_
---- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/netlinkaccess.h
-+++ glibc-2.12-1/sysdeps/unix/sysv/linux/netlinkaccess.h
-@@ -25,6 +25,24 @@
- #include <kernel-features.h>
-+#ifndef IFA_MAX
-+/* 2.6.19 kernel headers helpfully removed some macros and
-+   moved lots of stuff into new headers, some of which aren't
-+   included by linux/rtnetlink.h.  */
-+#include <linux/if_addr.h>
-+#endif
-+
-+#ifndef IFA_RTA
-+# define IFA_RTA(r) \
-+  ((struct rtattr*) ((char*)(r) + NLMSG_ALIGN (sizeof (struct ifaddrmsg))))
-+# define IFA_PAYLOAD(n) NLMSG_PAYLOAD (n, sizeof (struct ifaddrmsg))
-+#endif
-+
-+#ifndef IFLA_RTA
-+# define IFLA_RTA(r) \
-+  ((struct rtattr*) ((char*)(r) + NLMSG_ALIGN (sizeof (struct ifinfomsg))))
-+# define IFLA_PAYLOAD(n) NLMSG_PAYLOAD (n, sizeof (struct ifinfomsg))
-+#endif
- struct netlink_res
- {
---- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/paths.h
-+++ glibc-2.12-1/sysdeps/unix/sysv/linux/paths.h
-@@ -62,7 +62,7 @@
- #define       _PATH_TTY       "/dev/tty"
- #define       _PATH_UNIX      "/boot/vmlinux"
- #define _PATH_UTMP    "/var/run/utmp"
--#define       _PATH_VI        "/usr/bin/vi"
-+#define       _PATH_VI        "/bin/vi"
- #define _PATH_WTMP    "/var/log/wtmp"
- /* Provide trailing slash, since mostly used for building pathnames. */
---- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c
-+++ glibc-2.12-1/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c
-@@ -1 +1 @@
--#include "../../fxstat.c"
-+#include "../../i386/fxstat.c"
---- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/tcsetattr.c
-+++ glibc-2.12-1/sysdeps/unix/sysv/linux/tcsetattr.c
-@@ -49,6 +49,7 @@ tcsetattr (fd, optional_actions, termios
- {
-   struct __kernel_termios k_termios;
-   unsigned long int cmd;
-+  int retval;
-   switch (optional_actions)
-     {
-@@ -80,6 +81,35 @@ tcsetattr (fd, optional_actions, termios
-   memcpy (&k_termios.c_cc[0], &termios_p->c_cc[0],
-         __KERNEL_NCCS * sizeof (cc_t));
--  return INLINE_SYSCALL (ioctl, 3, fd, cmd, &k_termios);
-+  retval = INLINE_SYSCALL (ioctl, 3, fd, cmd, &k_termios);
-+
-+  if (retval == 0 && cmd == TCSETS)
-+    {
-+      /* The Linux kernel has a bug which silently ignore the invalid
-+        c_cflag on pty. We have to check it here. */
-+      int save = errno;
-+      retval = INLINE_SYSCALL (ioctl, 3, fd, TCGETS, &k_termios);
-+      if (retval)
-+       {
-+         /* We cannot verify if the setting is ok. We don't return
-+            an error (?). */
-+         __set_errno (save);
-+         retval = 0;
-+       }
-+      else if ((termios_p->c_cflag & (PARENB | CREAD))
-+              != (k_termios.c_cflag & (PARENB | CREAD))
-+              || ((termios_p->c_cflag & CSIZE)
-+                  && ((termios_p->c_cflag & CSIZE)
-+                      != (k_termios.c_cflag & CSIZE))))
-+       {
-+         /* It looks like the Linux kernel silently changed the
-+            PARENB/CREAD/CSIZE bits in c_cflag. Report it as an
-+            error. */
-+         __set_errno (EINVAL);
-+         retval = -1;
-+       }
-+    }
-+
-+  return retval;
- }
- libc_hidden_def (tcsetattr)
---- glibc-2.12-2-gc4ccff1/timezone/zic.c
-+++ glibc-2.12-1/timezone/zic.c
-@@ -1921,7 +1921,7 @@ const int                        zonecount;
-               if (stdrp != NULL && stdrp->r_hiyear == 2037)
-                       return;
-       }
--      if (stdrp == NULL && zp->z_nrules != 0)
-+      if (stdrp == NULL && (zp->z_nrules != 0 || zp->z_stdoff != 0))
-               return;
-       abbrvar = (stdrp == NULL) ? "" : stdrp->r_abbrvar;
-       doabbr(result, zp->z_format, abbrvar, FALSE, TRUE);
diff --git a/src/patches/glibc/glibc-getlogin-r.patch b/src/patches/glibc/glibc-getlogin-r.patch
deleted file mode 100644 (file)
index 9181ce1..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-2010-05-05  Ulrich Drepper  <drepper@redhat.com>
-
-       [BZ #11571]
-       * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): Handle
-       too small buffers according to the standard.
-
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/getlogin_r.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/getlogin_r.c
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/getlogin_r.c
-@@ -81,13 +81,22 @@ __getlogin_r_loginuid (name, namesize)
-   if (tpwd == NULL)
-     goto fail;
--  strncpy (name, pwd.pw_name, namesize - 1);
--  name[namesize - 1] = '\0';
-+  int result = 0;
-+  size_t needed = strlen (pwd.pw_name) + 1;
-+  if (needed > namesize)
-+    {
-+      __set_errno (ERANGE);
-+      result = ERANGE;
-+      goto out;
-+    }
-+  memcpy (name, pwd.pw_name, needed);
-+
-+ out:
-   if (use_malloc)
-     free (buf);
--  return 0;
-+  return result;
- }
diff --git a/src/patches/glibc/glibc-localedata.patch b/src/patches/glibc/glibc-localedata.patch
deleted file mode 100644 (file)
index 15de7c6..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-2010-05-04  Andreas Schwab  <schwab@redhat.com>
-
-       * SUPPORTED (SUPPORTED-LOCALES): Fix name of tt_RU.UTF-8@iqtelif
-       locale.
-
-Index: glibc-2.12-2-gc4ccff1/localedata/SUPPORTED
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/SUPPORTED
-+++ glibc-2.12-2-gc4ccff1/localedata/SUPPORTED
-@@ -392,7 +392,7 @@ tr_TR.UTF-8/UTF-8 \
- tr_TR/ISO-8859-9 \
- ts_ZA/UTF-8 \
- tt_RU.UTF-8/UTF-8 \
--tt_RU@iqtelif.UTF-8/UTF-8 \
-+tt_RU.UTF-8@iqtelif/UTF-8 \
- ug_CN/UTF-8 \
- uk_UA.UTF-8/UTF-8 \
- uk_UA/KOI8-U \
diff --git a/src/patches/glibc/glibc-mq_open.patch b/src/patches/glibc/glibc-mq_open.patch
deleted file mode 100644 (file)
index a7a0f11..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-From: https://sourceware.org/bugzilla/show_bug.cgi?id=12841
-
---- libc/rt/bits/mqueue2.h     2009-05-16 19:23:37.000000000 +0200
-+++ libc/rt/bits/mqueue2.h     2011-06-04 19:05:38.322333773 +0200
-@@ -1,5 +1,5 @@ 
- /* Checking macros for mq functions.
--   Copyright (C) 2007 Free Software Foundation, Inc.
-+   Copyright (C) 2007, 2011 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
-@@ -25,16 +25,18 @@ 
-    parameter.  */
- extern mqd_t mq_open (__const char *__name, int __oflag, ...)
-      __THROW __nonnull ((1));
--extern mqd_t __mq_open_2 (__const char *__name, int __oflag) __nonnull ((1));
--extern mqd_t __REDIRECT (__mq_open_alias, (__const char *__name, int __oflag, ...),
--                       mq_open) __nonnull ((1));
-+extern mqd_t __mq_open_2 (__const char *__name, int __oflag)
-+     __THROW __nonnull ((1));
-+extern mqd_t __REDIRECT_NTH (__mq_open_alias, (__const char *__name,
-+                                             int __oflag, ...), mq_open)
-+     __nonnull ((1));
- __errordecl (__mq_open_wrong_number_of_args,
-            "mq_open can be called either with 2 or 4 arguments");
- __errordecl (__mq_open_missing_mode_and_attr,
-            "mq_open with O_CREAT in second argument needs 4 arguments");
- __extern_always_inline mqd_t
--mq_open (__const char *__name, int __oflag, ...)
-+__NTH (mq_open (__const char *__name, int __oflag, ...))
- {
-   if (__va_arg_pack_len () != 0 && __va_arg_pack_len () != 2)
-     __mq_open_wrong_number_of_args ();
diff --git a/src/patches/glibc/glibc-recvmmsg.patch b/src/patches/glibc/glibc-recvmmsg.patch
deleted file mode 100644 (file)
index 9e3aa7a..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-2010-05-21  Andreas Schwab  <schwab@redhat.com>
-
-       * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add recvmmsg
-       and internal_recvmmsg.
-       * sysdeps/unix/sysv/linux/recvmmsg.c: New file.
-       * sysdeps/unix/sysv/linux/internal_recvmmsg.S: New file.
-       * sysdeps/unix/sysv/linux/socketcall.h (SOCKOP_recvmmsg): Define.
-       * sysdeps/unix/sysv/linux/syscalls.list (recvmmsg): Remove.
-
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/Makefile
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/Makefile
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/Makefile
-@@ -12,7 +12,7 @@ CFLAGS-malloc.c += -DMORECORE_CLEARS=2
- endif
- ifeq ($(subdir),socket)
--sysdep_routines += internal_accept4
-+sysdep_routines += internal_accept4 recvmmsg internal_recvmmsg
- endif
- ifeq ($(subdir),misc)
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/internal_recvmmsg.S
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/internal_recvmmsg.S
-@@ -0,0 +1,14 @@
-+#include <kernel-features.h>
-+#include <sys/syscall.h>
-+#if !defined __NR_recvmmsg && defined __NR_socketcall
-+# define socket       recvmmsg
-+# ifdef __ASSUME_RECVMMSG
-+#  define __socket recvmmsg
-+# else
-+#  define __socket __internal_recvmmsg
-+# endif
-+# define NARGS 5
-+# define NEED_CANCELLATION
-+# define NO_WEAK_ALIAS
-+# include <socket.S>
-+#endif
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/kernel-features.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/kernel-features.h
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/kernel-features.h
-@@ -547,3 +547,8 @@
- #if __LINUX_KERNEL_VERSION >= 0x020620
- # define __ASSUME_F_GETOWN_EX 1
- #endif
-+
-+/* Support for the recvmmsg syscall was added in 2.6.33.  */
-+#if __LINUX_KERNEL_VERSION >= 0x020621
-+# define __ASSUME_RECVMMSG    1
-+#endif
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/recvmmsg.c
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/recvmmsg.c
-@@ -0,0 +1,100 @@
-+/* Copyright (C) 2010 Free Software Foundation, Inc.
-+   This file is part of the GNU C Library.
-+   Contributed by Andreas Schwab <schwab@redhat.com>, 2010.
-+
-+   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/socket.h>
-+
-+#include <sysdep-cancel.h>
-+#include <sys/syscall.h>
-+#include <kernel-features.h>
-+
-+
-+#ifdef __NR_recvmmsg
-+int
-+recvmmsg (int fd, struct mmsghdr *vmessages, unsigned int vlen, int flags,
-+        const struct timespec *tmo)
-+{
-+  if (SINGLE_THREAD_P)
-+    return INLINE_SYSCALL (recvmmsg, 5, fd, vmessages, vlen, flags, tmo);
-+
-+  int oldtype = LIBC_CANCEL_ASYNC ();
-+
-+  int result = INLINE_SYSCALL (recvmmsg, 5, fd, vmessages, vlen, flags, tmo);
-+
-+  LIBC_CANCEL_RESET (oldtype);
-+
-+  return result;
-+}
-+#elif defined __NR_socketcall
-+# ifndef __ASSUME_RECVMMSG
-+extern int __internal_recvmmsg (int fd, struct mmsghdr *vmessages,
-+                              unsigned int vlen, int flags,
-+                              const struct timespec *tmo)
-+     attribute_hidden;
-+
-+static int have_recvmmsg;
-+
-+int
-+recvmmsg (int fd, struct mmsghdr *vmessages, unsigned int vlen, int flags,
-+        const struct timespec *tmo)
-+{
-+  if (__builtin_expect (have_recvmmsg >= 0, 1))
-+    {
-+      int ret = __internal_recvmmsg (fd, vmessages, vlen, flags, tmo);
-+      /* The kernel returns -EINVAL for unknown socket operations.
-+       We need to convert that error to an ENOSYS error.  */
-+      if (__builtin_expect (ret < 0, 0)
-+        && have_recvmmsg == 0
-+        && errno == EINVAL)
-+      {
-+        /* Try another call, this time with an invalid file
-+           descriptor and all other parameters cleared.  This call
-+           will not cause any harm and it will return
-+           immediately.  */
-+        ret = __internal_recvmmsg (-1, 0, 0, 0, 0);
-+        if (errno == EINVAL)
-+          {
-+            have_recvmmsg = -1;
-+            __set_errno (ENOSYS);
-+          }
-+        else
-+          {
-+            have_recvmmsg = 1;
-+            __set_errno (EINVAL);
-+          }
-+        return -1;
-+      }
-+      return ret;
-+    }
-+  __set_errno (ENOSYS);
-+  return -1;
-+}
-+# else
-+/* When __ASSUME_RECVMMSG recvmmsg is defined in internal_recvmmsg.S.  */
-+# endif
-+#else
-+int
-+recvmmsg (int fd, struct mmsghdr *vmessages, unsigned int vlen, int flags,
-+        const struct timespec *tmo)
-+{
-+  __set_errno (ENOSYS);
-+  return -1;
-+}
-+stub_warning (recvmmsg)
-+#endif
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/socketcall.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/socketcall.h
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/socketcall.h
-@@ -44,5 +44,6 @@
- #define SOCKOP_sendmsg                16
- #define SOCKOP_recvmsg                17
- #define SOCKOP_accept4                18
-+#define SOCKOP_recvmmsg               19
- #endif /* sys/socketcall.h */
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/syscalls.list
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/syscalls.list
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/syscalls.list
-@@ -53,7 +53,6 @@ prctl                EXTRA   prctl           i:iiiii __prctl         prc
- putpmsg               -       putpmsg         i:ippii putpmsg
- query_module  EXTRA   query_module    i:sipip query_module
- quotactl      EXTRA   quotactl        i:isip  quotactl
--recvmmsg      EXTRA   recvmmsg        Ci:ipiip        recvmmsg
- remap_file_pages -    remap_file_pages i:piiii        __remap_file_pages remap_file_pages
- sched_getp    -       sched_getparam  i:ip    __sched_getparam        sched_getparam
- sched_gets    -       sched_getscheduler      i:i     __sched_getscheduler    sched_getscheduler
diff --git a/src/patches/glibc/glibc-rh1008310.patch b/src/patches/glibc/glibc-rh1008310.patch
deleted file mode 100644 (file)
index 3658a9f..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-diff -Nrup a/malloc/malloc.c b/malloc/malloc.c
---- a/malloc/malloc.c  2013-09-23 17:08:33.698331221 -0400
-+++ b/malloc/malloc.c  2013-09-23 21:04:25.901270645 -0400
-@@ -3879,6 +3879,13 @@ public_mEMALIGn(size_t alignment, size_t
-   /* Otherwise, ensure that it is at least a minimum chunk size */
-   if (alignment <  MINSIZE) alignment = MINSIZE;
-+  /* Check for overflow.  */
-+  if (bytes > SIZE_MAX - alignment - MINSIZE)
-+    {
-+      __set_errno (ENOMEM);
-+      return 0;
-+    }
-+
-   arena_get(ar_ptr, bytes + alignment + MINSIZE);
-   if(!ar_ptr)
-     return 0;
-@@ -3924,6 +3931,13 @@ public_vALLOc(size_t bytes)
-   size_t pagesz = mp_.pagesize;
-+  /* Check for overflow.  */
-+  if (bytes > SIZE_MAX - pagesz - MINSIZE)
-+    {
-+      __set_errno (ENOMEM);
-+      return 0;
-+    }
-+
-   __malloc_ptr_t (*hook) __MALLOC_PMT ((size_t, size_t,
-                                       __const __malloc_ptr_t)) =
-     force_reg (__memalign_hook);
-@@ -3975,6 +3989,13 @@ public_pVALLOc(size_t bytes)
-   size_t page_mask = mp_.pagesize - 1;
-   size_t rounded_bytes = (bytes + page_mask) & ~(page_mask);
-+  /* Check for overflow.  */
-+  if (bytes > SIZE_MAX - 2*pagesz - MINSIZE)
-+    {
-+      __set_errno (ENOMEM);
-+      return 0;
-+    }
-+
-   __malloc_ptr_t (*hook) __MALLOC_PMT ((size_t, size_t,
-                                       __const __malloc_ptr_t)) =
-     force_reg (__memalign_hook);
diff --git a/src/patches/glibc/glibc-rh1019916.patch b/src/patches/glibc/glibc-rh1019916.patch
deleted file mode 100644 (file)
index f67af90..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-commit 48b67d71ec677d1b3168e52a68b644784cead604
-Author: Andreas Schwab <schwab@redhat.com>
-Date:   Wed Sep 14 12:12:25 2011 +0200
-
-    Also relocate in dependency order when doing symbol dependency testing
-
-diff --git a/elf/rtld.c b/elf/rtld.c
-index 764140d..324d979 100644
---- a/elf/rtld.c
-+++ b/elf/rtld.c
-@@ -2027,24 +2027,21 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
-           {
-             /* We have to do symbol dependency testing.  */
-             struct relocate_args args;
--            struct link_map *l;
-+            unsigned int i;
-             args.reloc_mode = GLRO(dl_lazy) ? RTLD_LAZY : 0;
--            l = main_map;
--            while (l->l_next != NULL)
--              l = l->l_next;
--            do
-+            i = main_map->l_searchlist.r_nlist;
-+            while (i-- > 0)
-               {
-+                struct link_map *l = main_map->l_initfini[i];
-                 if (l != &GL(dl_rtld_map) && ! l->l_faked)
-                   {
-                     args.l = l;
-                     _dl_receive_error (print_unresolved, relocate_doit,
-                                        &args);
-                   }
--                l = l->l_prev;
-               }
--            while (l != NULL);
-             if ((GLRO(dl_debug_mask) & DL_DEBUG_PRELINK)
-                 && rtld_multiple_ref)
diff --git a/src/patches/glibc/glibc-rh1022022.patch b/src/patches/glibc/glibc-rh1022022.patch
deleted file mode 100644 (file)
index 6d23bb1..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
-index 81e928a..05883bd 100644
---- a/sysdeps/posix/getaddrinfo.c
-+++ b/sysdeps/posix/getaddrinfo.c
-@@ -832,8 +832,13 @@ gaih_inet (const char *name, const struct gaih_service *service,
-         while (!no_more)
-           {
-             no_data = 0;
--            nss_gethostbyname4_r fct4
--              = __nss_lookup_function (nip, "gethostbyname4_r");
-+            nss_gethostbyname4_r fct4 = NULL;
-+
-+            /* gethostbyname4_r sends out parallel A and AAAA queries and
-+               is thus only suitable for PF_UNSPEC.  */
-+            if (req->ai_family == PF_UNSPEC)
-+              fct4 = __nss_lookup_function (nip, "gethostbyname4_r");
-+
-             if (fct4 != NULL)
-               {
-                 int herrno;
diff --git a/src/patches/glibc/glibc-rh1023306.patch b/src/patches/glibc/glibc-rh1023306.patch
deleted file mode 100644 (file)
index 738052d..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-diff -pruN glibc-2.17-c758a686/nptl/Makefile glibc-2.17-c758a686.new/nptl/Makefile
---- glibc-2.17-c758a686/nptl/Makefile  2013-07-31 11:51:24.882747234 +0530
-+++ glibc-2.17-c758a686.new/nptl/Makefile      2013-07-31 11:58:55.964731526 +0530
-@@ -276,10 +276,7 @@ gen-as-const-headers = pthread-errnos.sy
- LDFLAGS-tst-cond24 = -lrt
- LDFLAGS-tst-cond25 = -lrt
--# The size is 1MB + 4KB.  The extra 4KB has been added to prevent allocatestack
--# from resizing the input size to avoid the 64K aliasing conflict on Intel
--# processors.
--DEFAULT_STACKSIZE=1052672
-+DEFAULT_STACKSIZE=1048576
- CFLAGS-tst-default-attr.c = -DDEFAULT_STACKSIZE=$(DEFAULT_STACKSIZE)
- tst-default-attr-ENV = GLIBC_PTHREAD_STACKSIZE=$(DEFAULT_STACKSIZE)
-diff -pruN glibc-2.17-c758a686/nptl/tst-default-attr.c glibc-2.17-c758a686.new/nptl/tst-default-attr.c
---- glibc-2.17-c758a686/nptl/tst-default-attr.c        2013-07-31 11:51:24.885747234 +0530
-+++ glibc-2.17-c758a686.new/nptl/tst-default-attr.c    2013-07-31 12:18:10.016691337 +0530
-@@ -38,6 +38,7 @@
- /* DEFAULT_STACKSIZE macro is defined in the Makefile.  */
- static size_t stacksize = DEFAULT_STACKSIZE;
-+long int pagesize;
- static int
- verify_stacksize_result (pthread_attr_t *attr)
-@@ -46,12 +47,20 @@ verify_stacksize_result (pthread_attr_t
-   RETURN_IF_FAIL (pthread_attr_getstacksize, attr, &stack);
--  if (stacksize != stack)
-+  /* pthread_create perturbs the stack size by a page if it aligns to 64K to
-+     avoid the 64K aliasing conflict.  We cannot simply add 4K to the size in
-+     the Makefile because it breaks the test on powerpc since the page size
-+     there is 64K, resulting in a resize in __pthread_initialize_minimal.
-+     Hence, our check is to ensure that the stack size is not more than a page
-+     more than the requested size.  */
-+  if (stack < stacksize || stack > stacksize + pagesize)
-     {
-       printf ("failed to set default stacksize (%zu, %zu)\n", stacksize, stack);
-       return 1;
-     }
-+  printf ("Requested %zu and got %zu\n", stacksize, stack);
-+
-   return 0;
- }
-@@ -101,6 +110,15 @@ run_threads (void)
- static int
- do_test (void)
- {
-+  pthread_attr_t attr;
-+
-+  pagesize = sysconf (_SC_PAGESIZE);
-+  if (pagesize < 0)
-+    {
-+      printf ("sysconf failed: %s\n", strerror (errno));
-+      return 1;
-+    }
-+
-   RETURN_IF_FAIL (run_threads);
-   return 0;
- }
diff --git a/src/patches/glibc/glibc-rh1025933.patch b/src/patches/glibc/glibc-rh1025933.patch
deleted file mode 100644 (file)
index 9dc98b9..0000000
+++ /dev/null
@@ -1,287 +0,0 @@
-commit 0699f766b10c86912b75f35bef697106b70c1cf6
-Author: Carlos O'Donell <carlos@redhat.com>
-Date:   Thu Apr 10 18:31:53 2014 -0400
-
-    nscd: Make SELinux checks dynamic.
-    
-    The SELinux team has indicated to me that glibc's SELinux checks
-    in nscd are not being carried out as they would expect the API
-    to be used today. They would like to move away from static header
-    defines for class and permissions and instead use dynamic checks
-    at runtime that provide an answer which is dependent on the runtime
-    status of SELinux i.e. more dynamic.
-    
-    The following patch is a minimal change that moves us forward in
-    this direction.
-    
-    It does the following:
-    
-    * Stop checking for SELinux headers that define NSCD__SHMEMHOST.
-      Check only for the presence or absence of the library.
-    
-    * Don't encode the specific SELinux permission constants into a
-      table at build time, and instead use the symbolic name for the
-      permission as expected.
-    
-    * Lookup the "What do we do if we don't know this permission?"
-      policy and use that if we find SELinux's policy is older than
-      the glibc policy e.g. we make a request for a permission that
-      SELinux doesn't know about.
-    
-    * Lastly, translate the class and permission and then make
-      the permission check. This is done every time we lookup
-      a permission, and this is the expected way to use the API.
-      SELinux will optimize this for us, and we expect the network
-      latencies to hide these extra library calls.
-    
-    Tested on x86, x86-64, and via Fedora Rawhide since November 2013.
-    
-    See:
-    https://sourceware.org/ml/libc-alpha/2014-04/msg00179.html
-
-diff --git a/configure b/configure
-index abefcdb..8b0b222 100755
---- a/configure
-+++ b/configure
-@@ -7774,64 +7774,10 @@ else
-   have_selinux=no
- fi
--  # See if we have the SELinux header with the NSCD permissions in it.
--  if test x$have_selinux = xyes ; then
--    { $as_echo "$as_me:$LINENO: checking for NSCD Flask permissions in selinux/av_permissions.h" >&5
--$as_echo_n "checking for NSCD Flask permissions in selinux/av_permissions.h... " >&6; }
--    cat >conftest.$ac_ext <<_ACEOF
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--#include <selinux/av_permissions.h>
--int
--main ()
--{
--#ifdef NSCD__SHMEMHOST
--                   return 0;
--                   #else
--                   #error NSCD__SHMEMHOST not defined
--                   #endif
--  ;
--  return 0;
--}
--_ACEOF
--rm -f conftest.$ac_objext
--if { (ac_try="$ac_compile"
--case "(($ac_try" in
--  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
--  *) ac_try_echo=$ac_try;;
--esac
--eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
--$as_echo "$ac_try_echo") >&5
--  (eval "$ac_compile") 2>conftest.er1
--  ac_status=$?
--  grep -v '^ *+' conftest.er1 >conftest.err
--  rm -f conftest.er1
--  cat conftest.err >&5
--  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } && {
--       test -z "$ac_c_werror_flag" ||
--       test ! -s conftest.err
--       } && test -s conftest.$ac_objext; then
--  have_selinux=yes
--else
--  $as_echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--      have_selinux=no
--fi
--
--rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
--    { $as_echo "$as_me:$LINENO: result: $have_selinux" >&5
--$as_echo "$have_selinux" >&6; }
--  fi
--
-   if test x$with_selinux = xyes ; then
-     if test x$have_selinux = xno ; then
--      { { $as_echo "$as_me:$LINENO: error: SELinux explicitly required, but sufficiently recent SELinux library not found" >&5
--$as_echo "$as_me: error: SELinux explicitly required, but sufficiently recent SELinux library not found" >&2;}
-+      { { $as_echo "$as_me:$LINENO: error: SELinux explicitly required, but SELinux library not found" >&5
-+$as_echo "$as_me: error: SELinux explicitly required, but SELinux library not found" >&2;}
-    { (exit 1); exit 1; }; }
-     fi
-   fi
-diff --git a/configure.in b/configure.in
-index 6291872..97a9591 100644
---- a/configure.in
-+++ b/configure.in
-@@ -1945,22 +1945,9 @@ else
-   # See if we have the SELinux library
-   AC_CHECK_LIB(selinux, is_selinux_enabled,
-              have_selinux=yes, have_selinux=no)
--  # See if we have the SELinux header with the NSCD permissions in it.
--  if test x$have_selinux = xyes ; then
--    AC_MSG_CHECKING([for NSCD Flask permissions in selinux/av_permissions.h])
--    AC_TRY_COMPILE([#include <selinux/av_permissions.h>],
--                  [#ifdef NSCD__SHMEMHOST
--                   return 0;
--                   #else
--                   #error NSCD__SHMEMHOST not defined
--                   #endif],
--                  have_selinux=yes, have_selinux=no)
--    AC_MSG_RESULT($have_selinux)
--  fi
--
-   if test x$with_selinux = xyes ; then
-     if test x$have_selinux = xno ; then
--      AC_MSG_ERROR([SELinux explicitly required, but sufficiently recent SELinux library not found])
-+      AC_MSG_ERROR([SELinux explicitly required, but SELinux library not found])
-     fi
-   fi
- fi
-diff --git a/nscd/selinux.c b/nscd/selinux.c
-index 46b0ea9..9a8a5a8 100644
---- a/nscd/selinux.c
-+++ b/nscd/selinux.c
-@@ -28,7 +28,6 @@
- #include <syslog.h>
- #include <unistd.h>
- #include <sys/prctl.h>
--#include <selinux/av_permissions.h>
- #include <selinux/avc.h>
- #include <selinux/flask.h>
- #include <selinux/selinux.h>
-@@ -44,35 +43,31 @@
- /* Global variable to tell if the kernel has SELinux support.  */
- int selinux_enabled;
--/* Define mappings of access vector permissions to request types.  */
--static const access_vector_t perms[LASTREQ] =
-+/* Define mappings of request type to AVC permission name.  */
-+static const char *perms[LASTREQ] =
- {
--  [GETPWBYNAME] = NSCD__GETPWD,
--  [GETPWBYUID] = NSCD__GETPWD,
--  [GETGRBYNAME] = NSCD__GETGRP,
--  [GETGRBYGID] = NSCD__GETGRP,
--  [GETHOSTBYNAME] = NSCD__GETHOST,
--  [GETHOSTBYNAMEv6] = NSCD__GETHOST,
--  [GETHOSTBYADDR] = NSCD__GETHOST,
--  [GETHOSTBYADDRv6] = NSCD__GETHOST,
--  [GETSTAT] = NSCD__GETSTAT,
--  [SHUTDOWN] = NSCD__ADMIN,
--  [INVALIDATE] = NSCD__ADMIN,
--  [GETFDPW] = NSCD__SHMEMPWD,
--  [GETFDGR] = NSCD__SHMEMGRP,
--  [GETFDHST] = NSCD__SHMEMHOST,
--  [GETAI] = NSCD__GETHOST,
--  [INITGROUPS] = NSCD__GETGRP,
--#ifdef NSCD__GETSERV
--  [GETSERVBYNAME] = NSCD__GETSERV,
--  [GETSERVBYPORT] = NSCD__GETSERV,
--  [GETFDSERV] = NSCD__SHMEMSERV,
--#endif
--#ifdef NSCD__GETNETGRP
--  [GETNETGRENT] = NSCD__GETNETGRP,
--  [INNETGR] = NSCD__GETNETGRP,
--  [GETFDNETGR] = NSCD__SHMEMNETGRP,
--#endif
-+  [GETPWBYNAME] = "getpwd",
-+  [GETPWBYUID] = "getpwd",
-+  [GETGRBYNAME] = "getgrp",
-+  [GETGRBYGID] = "getgrp",
-+  [GETHOSTBYNAME] = "gethost",
-+  [GETHOSTBYNAMEv6] = "gethost",
-+  [GETHOSTBYADDR] = "gethost",
-+  [GETHOSTBYADDRv6] = "gethost",
-+  [SHUTDOWN] = "admin",
-+  [GETSTAT] = "getstat",
-+  [INVALIDATE] = "admin",
-+  [GETFDPW] = "shmempwd",
-+  [GETFDGR] = "shmemgrp",
-+  [GETFDHST] = "shmemhost",
-+  [GETAI] = "gethost",
-+  [INITGROUPS] = "getgrp",
-+  [GETSERVBYNAME] = "getserv",
-+  [GETSERVBYPORT] = "getserv",
-+  [GETFDSERV] = "shmemserv",
-+  [GETNETGRENT] = "getnetgrp",
-+  [INNETGR] = "getnetgrp",
-+  [GETFDNETGR] = "shmemnetgrp",
- };
- /* Store an entry ref to speed AVC decisions.  */
-@@ -344,7 +339,16 @@ nscd_avc_init (void)
- /* Check the permission from the caller (via getpeercon) to nscd.
--   Returns 0 if access is allowed, 1 if denied, and -1 on error.  */
-+   Returns 0 if access is allowed, 1 if denied, and -1 on error.
-+
-+   The SELinux policy, enablement, and permission bits are all dynamic and the
-+   caching done by glibc is not entirely correct.  This nscd support should be
-+   rewritten to use selinux_check_permission.  A rewrite is risky though and
-+   requires some refactoring.  Currently we use symbolic mappings instead of
-+   compile time constants (which SELinux upstream says are going away), and we
-+   use security_deny_unknown to determine what to do if selinux-policy* doesn't
-+   have a definition for the the permission or object class we are looking
-+   up.  */
- int
- nscd_request_avc_has_perm (int fd, request_type req)
- {
-@@ -354,6 +358,33 @@ nscd_request_avc_has_perm (int fd, request_type req)
-   security_id_t ssid = NULL;
-   security_id_t tsid = NULL;
-   int rc = -1;
-+  security_class_t sc_nscd;
-+  access_vector_t perm;
-+  int avc_deny_unknown;
-+
-+  /* Check if SELinux denys or allows unknown object classes
-+     and permissions.  It is 0 if they are allowed, 1 if they
-+     are not allowed and -1 on error.  */
-+  if ((avc_deny_unknown = security_deny_unknown ()) == -1)
-+    dbg_log (_("Error querying policy for undefined object classes "
-+             "or permissions."));
-+
-+  /* Get the security class for nscd.  If this fails we will likely be
-+     unable to do anything unless avc_deny_unknown is 0.  */
-+  sc_nscd = string_to_security_class ("nscd");
-+  if (perm == 0 && avc_deny_unknown == 1)
-+    dbg_log (_("Error getting security class for nscd."));
-+
-+  /* Convert permission to AVC bits.  */
-+  perm = string_to_av_perm (sc_nscd, perms[req]);
-+  if (perm == 0 && avc_deny_unknown == 1)
-+      dbg_log (_("Error translating permission name "
-+               "\"%s\" to access vector bit."), perms[req]);
-+
-+  /* If the nscd security class was not found or perms were not
-+     found and AVC does not deny unknown values then allow it.  */
-+  if ((sc_nscd == 0 || perm == 0) && avc_deny_unknown == 0)
-+    return 0;
-   if (getpeercon (fd, &scon) < 0)
-     {
-@@ -372,15 +403,13 @@ nscd_request_avc_has_perm (int fd, request_type req)
-       goto out;
-     }
--#ifndef NSCD__GETSERV
--  if (perms[req] == 0)
--    {
--      dbg_log (_("compile-time support for database policy missing"));
--      goto out;
--    }
--#endif
--
--  rc = avc_has_perm (ssid, tsid, SECCLASS_NSCD, perms[req], &aeref, NULL) < 0;
-+  /* The SELinux API for avc_has_perm conflates access denied and error into
-+     the return code -1, while nscd_request_avs_has_perm has distinct error
-+     (-1) and denied (1) return codes. We map the avc_has_perm access denied or
-+     error into an access denied at the nscd interface level (we do accurately
-+     report error for the getpeercon, getcon, and avc_context_to_sid interfaces
-+     used above).  */
-+  rc = avc_has_perm (ssid, tsid, sc_nscd, perm, &aeref, NULL) < 0;
- out:
-   if (scon)
diff --git a/src/patches/glibc/glibc-rh1027101.patch b/src/patches/glibc/glibc-rh1027101.patch
deleted file mode 100644 (file)
index 7825682..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-commit 362b47fe09ca9a928d444c7e2f7992f7f61bfc3e
-Author: Maxim Kuvyrkov <maxim@kugelworks.com>
-Date:   Tue Dec 24 09:44:50 2013 +1300
-
-    Fix race in free() of fastbin chunk: BZ #15073
-    
-    Perform sanity check only if we have_lock.  Due to lockless nature of fastbins
-    we need to be careful derefencing pointers to fastbin entries (chunksize(old)
-    in this case) in multithreaded environments.
-    
-    The fix is to add have_lock to the if-condition checks.  The rest of the patch
-    only makes code more readable.
-    
-       * malloc/malloc.c (_int_free): Perform sanity check only if we
-       have_lock.
-
-diff --git a/malloc/malloc.c b/malloc/malloc.c
-index b1668b5..5e419ad 100644
---- a/malloc/malloc.c
-+++ b/malloc/malloc.c
-@@ -3783,25 +3783,29 @@ _int_free(mstate av, mchunkptr p, int have_lock)
-     fb = &fastbin (av, idx);
- #ifdef ATOMIC_FASTBINS
--    mchunkptr fd;
--    mchunkptr old = *fb;
-+    /* Atomically link P to its fastbin: P->FD = *FB; *FB = P;  */
-+    mchunkptr old = *fb, old2;
-     unsigned int old_idx = ~0u;
-     do
-       {
--      /* Another simple check: make sure the top of the bin is not the
--         record we are going to add (i.e., double free).  */
-+      /* Check that the top of the bin is not the record we are going to add
-+         (i.e., double free).  */
-       if (__builtin_expect (old == p, 0))
-         {
-           errstr = "double free or corruption (fasttop)";
-           goto errout;
-         }
--      if (old != NULL)
-+      /* Check that size of fastbin chunk at the top is the same as
-+         size of the chunk that we are adding.  We can dereference OLD
-+         only if we have the lock, otherwise it might have already been
-+         deallocated.  See use of OLD_IDX below for the actual check.  */
-+      if (have_lock && old != NULL)
-         old_idx = fastbin_index(chunksize(old));
--      p->fd = fd = old;
-+      p->fd = old2 = old;
-       }
--    while ((old = catomic_compare_and_exchange_val_rel (fb, p, fd)) != fd);
-+    while ((old = catomic_compare_and_exchange_val_rel (fb, p, old2)) != old2);
--    if (fd != NULL && __builtin_expect (old_idx != idx, 0))
-+    if (have_lock && old != NULL && __builtin_expect (old_idx != idx, 0))
-       {
-       errstr = "invalid fastbin entry (free)";
-       goto errout;
diff --git a/src/patches/glibc/glibc-rh1027261.patch b/src/patches/glibc/glibc-rh1027261.patch
deleted file mode 100644 (file)
index 8599cf0..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-commit 4d653a59ffeae0f46f76a40230e2cfa9587b7e7e
-Author: Siddhesh Poyarekar <siddhesh@redhat.com>
-Date:   Fri May 30 22:43:52 2014 +0530
-
-    Add mmap usage in malloc_info output
-    
-    The current malloc_info xml output only has information about
-    allocations on the heap.  Display information about number of mappings
-    and total mmapped size to this to complete the picture.
-
-diff -pruN a/malloc/malloc.c b/malloc/malloc.c
---- a/malloc/malloc.c  2014-06-02 07:35:22.573256155 +0530
-+++ b/malloc/malloc.c  2014-06-02 07:34:58.856257177 +0530
-@@ -6553,12 +6553,14 @@ malloc_info (int options, FILE *fp)
-   fprintf (fp,
-          "<total type=\"fast\" count=\"%zu\" size=\"%zu\"/>\n"
-          "<total type=\"rest\" count=\"%zu\" size=\"%zu\"/>\n"
-+         "<total type=\"mmap\" count=\"%d\" size=\"%zu\"/>\n"
-          "<system type=\"current\" size=\"%zu\"/>\n"
-          "<system type=\"max\" size=\"%zu\"/>\n"
-          "<aspace type=\"total\" size=\"%zu\"/>\n"
-          "<aspace type=\"mprotect\" size=\"%zu\"/>\n"
-          "</malloc>\n",
-          total_nfastblocks, total_fastavail, total_nblocks, total_avail,
-+         mp_.n_mmaps, mp_.mmapped_mem,
-          total_system, total_max_system,
-          total_aspace, total_aspace_mprotect);
diff --git a/src/patches/glibc/glibc-rh1028285.patch b/src/patches/glibc/glibc-rh1028285.patch
deleted file mode 100644 (file)
index 3bf8c4f..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-From a5675717e35a02a3eba7e13701c6f9c0d7222e13 Mon Sep 17 00:00:00 2001
-From: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
-Date: Fri, 7 Jun 2013 14:50:23 -0500
-Subject: [PATCH 2/2] PowerPC: gettimeofday optimization by using IFUNC
-
-Backport of ef26eece6331a1f6d959818e37c438cc7ce68e53 from master.
----
- sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h |   10 ++++
- sysdeps/unix/sysv/linux/powerpc/gettimeofday.c   |   49 +++++++++++++++-------
- 2 files changed, 44 insertions(+), 15 deletions(-)
-
-commit 76a9b9986141b1a7d9fd290c349d27fcee780c7a
-Author: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
-Date:   Thu Nov 7 05:34:22 2013 -0600
-
-    PowerPC: Fix vDSO missing ODP entries
-    
-    This patch fixes the vDSO symbol used directed in IFUNC resolver where
-    they do not have an associated ODP entry leading to undefined behavior
-    in some cases. It adds an artificial OPD static entry to such cases
-    and set its TOC to non 0 to avoid triggering lazy resolutions.
-
-commit d98720e07f67fbeec00f9e1347840404240d3c48
-Author: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
-Date:   Mon Jan 20 12:29:51 2014 -0600
-
-    PowerPC: Fix gettimeofday ifunc selection
-    
-    The IFUNC selector for gettimeofday runs before _libc_vdso_platform_setup where
-    __vdso_gettimeofday is set. The selector then sets __gettimeofday (the internal
-    version used within GLIBC) to use the system call version instead of the vDSO one.
-    This patch changes the check if vDSO is available to get its value directly
-    instead of rely on __vdso_gettimeofday.
-    
-    This patch changes it by getting the vDSO value directly.
-    
-    It fixes BZ#16431.
-
-diff -pruN a/sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h b/sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h
---- a/sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h 2014-05-20 14:46:51.026871920 +0530
-+++ b/sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h 2014-05-20 14:44:39.294877321 +0530
-@@ -33,6 +33,36 @@ extern void *__vdso_get_tbfreq;
- extern void *__vdso_getcpu;
-+#if defined(__PPC64__) || defined(__powerpc64__)
-+/* The correct solution is for _dl_vdso_vsym to return the address of the OPD
-+   for the kernel VDSO function.  That address would then be stored in the
-+   __vdso_* variables and returned as the result of the IFUNC resolver function.
-+   Yet, the kernel does not contain any OPD entries for the VDSO functions
-+   (incomplete implementation).  However, PLT relocations for IFUNCs still expect
-+   the address of an OPD to be returned from the IFUNC resolver function (since
-+   PLT entries on PPC64 are just copies of OPDs).  The solution for now is to
-+   create an artificial static OPD for each VDSO function returned by a resolver
-+   function.  The TOC value is set to a non-zero value to avoid triggering lazy
-+   symbol resolution via .glink0/.plt0 for a zero TOC (requires thread-safe PLT
-+   sequences) when the dynamic linker isn't prepared for it e.g. RTLD_NOW.  None
-+   of the kernel VDSO routines use the TOC or AUX values so any non-zero value
-+   will work.  Note that function pointer comparisons will not use this artificial
-+   static OPD since those are resolved via ADDR64 relocations and will point at
-+   the non-IFUNC default OPD for the symbol.  Lastly, because the IFUNC relocations
-+   are processed immediately at startup the resolver functions and this code need
-+   not be thread-safe, but if the caller writes to a PLT slot it must do so in a
-+   thread-safe manner with all the required barriers.  */
-+#define VDSO_IFUNC_RET(value)                            \
-+  ({                                                     \
-+    static Elf64_FuncDesc vdso_opd = { .fd_toc = ~0x0 }; \
-+    vdso_opd.fd_func = (Elf64_Addr)value;                \
-+    &vdso_opd;                                           \
-+  })
-+
-+#else
-+#define VDSO_IFUNC_RET(value)  ((void *) (value))
-+#endif
-+
- #endif
- #endif /* _LIBC_VDSO_H */
-diff -pruN a/sysdeps/unix/sysv/linux/powerpc/gettimeofday.c b/sysdeps/unix/sysv/linux/powerpc/gettimeofday.c
---- a/sysdeps/unix/sysv/linux/powerpc/gettimeofday.c   2010-05-04 16:57:23.000000000 +0530
-+++ b/sysdeps/unix/sysv/linux/powerpc/gettimeofday.c   2014-05-20 14:44:39.298877321 +0530
-@@ -16,27 +16,51 @@
-    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-    02111-1307 USA.  */
--#include <sysdep.h>
--#include <bp-checks.h>
--#include <stddef.h>
- #include <sys/time.h>
--#include <time.h>
--#include <hp-timing.h>
--#undef __gettimeofday
--#include <bits/libc-vdso.h>
-+#ifdef SHARED
--/* Get the current time of day and timezone information,
--   putting it into *TV and *TZ.  If TZ is NULL, *TZ is not filled.
--   Returns 0 on success, -1 on errors.  */
--
--int
--__gettimeofday (tv, tz)
--     struct timeval *tv;
--     struct timezone *tz;
-+# include <dl-vdso.h>
-+# include <bits/libc-vdso.h>
-+# include <dl-machine.h>
-+
-+void *gettimeofday_ifunc (void) __asm__ ("__gettimeofday");
-+
-+static int
-+__gettimeofday_syscall (struct timeval *tv, struct timezone *tz)
-+{
-+  return INLINE_SYSCALL (gettimeofday, 2, tv, tz);
-+}
-+
-+void *
-+gettimeofday_ifunc (void)
-+{
-+  PREPARE_VERSION (linux2615, "LINUX_2.6.15", 123718565);
-+
-+  /* If the vDSO is not available we fall back syscall.  */
-+  void *vdso_gettimeofday = _dl_vdso_vsym ("__kernel_gettimeofday", &linux2615);
-+  return (vdso_gettimeofday ? VDSO_IFUNC_RET (vdso_gettimeofday)
-+        : (void*)__gettimeofday_syscall);
-+}
-+asm (".type __gettimeofday, %gnu_indirect_function");
-+
-+/* This is doing "libc_hidden_def (__gettimeofday)" but the compiler won't
-+   let us do it in C because it doesn't know we're defining __gettimeofday
-+   here in this file.  */
-+asm (".globl __GI___gettimeofday\n"
-+     "__GI___gettimeofday = __gettimeofday");
-+
-+#else
-+
-+# include <sysdep.h>
-+# include <errno.h>
-+
-+int
-+__gettimeofday (struct timeval *tv, struct timezone *tz)
- {
--  return INLINE_VSYSCALL (gettimeofday, 2, CHECK_1 (tv), CHECK_1 (tz));
-+  return INLINE_SYSCALL (gettimeofday, 2, tv, tz);
- }
-+#endif
- INTDEF (__gettimeofday)
- weak_alias (__gettimeofday, gettimeofday)
diff --git a/src/patches/glibc/glibc-rh1032628.patch b/src/patches/glibc/glibc-rh1032628.patch
deleted file mode 100644 (file)
index 6140c19..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-commit 028478fa40d85a73b19638dbe3f83b1acebf370c
-Author: Ulrich Drepper <drepper@gmail.com>
-Date:   Thu Mar 10 12:51:33 2011 -0500
-
-    Fix copy relocations handling of unique objects.
-
- 2011-03-06  Ulrich Drepper  <drepper@gmail.com>
-
-and a part of:
-
-commit 33f85a3fb9fe432e0ebf6a3481bc2d5e29cb605f
-Author: Ulrich Drepper <drepper@gmail.com>
-Date:   Thu Mar 10 03:18:21 2011 -0500
-
-    Don't run tests checking xecutable stack when SELinux is enforcing.
-
-since the latter incorrectly had a bit of the former changes.
-
-Additionally, the test case needs -lstdc++ to build.
-
-diff --git a/elf/Makefile b/elf/Makefile
-index c427679..56cb1b1 100644
---- a/elf/Makefile
-+++ b/elf/Makefile
-@@ -201,7 +201,7 @@ tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \
-        unload3 unload4 unload5 unload6 unload7 unload8 tst-global1 order2 \
-        tst-audit1 tst-audit2 tst-audit9 \
-        tst-stackguard1 tst-addr1 tst-thrlock \
--       tst-unique1 tst-unique2
-+       tst-unique1 tst-unique2 tst-unique3
- #      reldep9
- test-srcs = tst-pathopt
- tests-execstack-yes = tst-execstack tst-execstack-needed tst-execstack-prog
-@@ -255,6 +255,7 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \
-               order2mod1 order2mod2 order2mod3 order2mod4 \
-               tst-unique1mod1 tst-unique1mod2 \
-               tst-unique2mod1 tst-unique2mod2 \
-+              tst-unique3lib tst-unique3lib2 \
-               tst-auditmod9a tst-auditmod9b
- ifeq (yes,$(have-initfini-array))
- modules-names += tst-array2dep tst-array5dep
-@@ -1178,6 +1179,11 @@ $(objpfx)tst-unique1.out: $(objpfx)tst-unique1mod1.so \
- $(objpfx)tst-unique2: $(libdl) $(objpfx)tst-unique2mod1.so
- $(objpfx)tst-unique2.out: $(objpfx)tst-unique2mod2.so
-+LDLIBS-tst-unique3lib.so = -lstdc++
-+LDLIBS-tst-unique3lib2.so = -lstdc++
-+$(objpfx)tst-unique3: $(libdl) $(objpfx)tst-unique3lib.so
-+$(objpfx)tst-unique3.out: $(objpfx)tst-unique3lib2.so
-+
- ifeq (yes,$(config-cflags-avx))
- CFLAGS-tst-audit4.c += -mavx
- CFLAGS-tst-auditmod4a.c += -mavx
-diff --git a/elf/dl-lookup.c b/elf/dl-lookup.c
-index 78c8669..874a4bb 100644
---- a/elf/dl-lookup.c
-+++ b/elf/dl-lookup.c
-@@ -364,8 +363,19 @@ do_lookup_x (const char *undef_name, uint_fast32_t new_hash,
-                     if (entries[idx].hashval == new_hash
-                         && strcmp (entries[idx].name, undef_name) == 0)
-                       {
--                        result->s = entries[idx].sym;
--                        result->m = (struct link_map *) entries[idx].map;
-+                        if ((type_class & ELF_RTYPE_CLASS_COPY) != 0)
-+                          {
-+                            /* We possibly have to initialize the central
-+                               copy from the copy addressed through the
-+                               relocation.  */
-+                            result->s = sym;
-+                            result->m = (struct link_map *) map;
-+                          }
-+                        else
-+                          {
-+                            result->s = entries[idx].sym;
-+                            result->m = (struct link_map *) entries[idx].map;
-+                          }
-                         __rtld_lock_unlock_recursive (tab->lock);
-                         return 1;
-                       }
-diff --git a/elf/tst-unique3.cc b/elf/tst-unique3.cc
-new file mode 100644
-index 0000000..b2c9593
---- /dev/null
-+++ b/elf/tst-unique3.cc
-@@ -0,0 +1,23 @@
-+#include "tst-unique3.h"
-+#include <cstdio>
-+#include "../dlfcn/dlfcn.h"
-+
-+int t = S<char>::i;
-+
-+int
-+main (void)
-+{
-+  std::printf ("%d %d\n", S<char>::i, t);
-+  int result = S<char>::i++ != 1 || t != 1;
-+  result |= in_lib ();
-+  void *d = dlopen ("$ORIGIN/tst-unique3lib2.so", RTLD_LAZY);
-+  int (*fp) ();
-+  if (d == NULL || (fp = (int(*)()) dlsym (d, "in_lib2")) == NULL)
-+    {
-+      std::printf ("failed to get symbol in_lib2\n");
-+      return 1;
-+    }
-+  result |= fp ();
-+  dlclose (d);
-+  return result;
-+}
-diff --git a/elf/tst-unique3.h b/elf/tst-unique3.h
-new file mode 100644
-index 0000000..716d236
---- /dev/null
-+++ b/elf/tst-unique3.h
-@@ -0,0 +1,8 @@
-+// BZ 12510
-+template<typename T>
-+struct S
-+{
-+  static int i;
-+};
-+
-+extern int in_lib (void);
-diff --git a/elf/tst-unique3lib.cc b/elf/tst-unique3lib.cc
-new file mode 100644
-index 0000000..fa8e85a
---- /dev/null
-+++ b/elf/tst-unique3lib.cc
-@@ -0,0 +1,11 @@
-+#include <cstdio>
-+#include "tst-unique3.h"
-+template<typename T> int S<T>::i = 1;
-+static int i = S<char>::i;
-+
-+int
-+in_lib (void)
-+{
-+  std::printf ("in_lib: %d %d\n", S<char>::i, i);
-+  return S<char>::i++ != 2 || i != 1;
-+}
-diff --git a/elf/tst-unique3lib2.cc b/elf/tst-unique3lib2.cc
-new file mode 100644
-index 0000000..17d817e
---- /dev/null
-+++ b/elf/tst-unique3lib2.cc
-@@ -0,0 +1,12 @@
-+#include <cstdio>
-+#include "tst-unique3.h"
-+
-+template<typename T> int S<T>::i;
-+
-+extern "C"
-+int
-+in_lib2 ()
-+{
-+  std::printf ("in_lib2: %d\n", S<char>::i);
-+  return S<char>::i != 3;
-+}
-diff --git a/include/bits/dlfcn.h b/include/bits/dlfcn.h
-index cb4a5c2..c31a645 100644
---- a/include/bits/dlfcn.h
-+++ b/include/bits/dlfcn.h
-@@ -1,4 +1,3 @@
- #include_next <bits/dlfcn.h>
--extern void _dl_mcount_wrapper_check (void *__selfpc);
- libc_hidden_proto (_dl_mcount_wrapper_check)
diff --git a/src/patches/glibc/glibc-rh1039988.patch b/src/patches/glibc/glibc-rh1039988.patch
deleted file mode 100644 (file)
index 253b311..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-commit 9a3c6a6ff602c88d7155139a7d7d0000b7b7e946
-Author: Siddhesh Poyarekar <siddhesh@redhat.com>
-Date:   Thu Jan 2 10:05:27 2014 +0530
-
-    Fix return code from getent netgroup when the netgroup is not found (bz #16366)
-    
-    nscd incorrectly returns a success even when the netgroup in question
-    is not found and adds a positive result in the cache.  this patch
-    fixes this behaviour by adding a negative lookup entry to cache and
-    returning an error when the netgroup is not found.
-
-diff --git a/nscd/netgroupcache.c b/nscd/netgroupcache.c
-index 50936ee..9fc1664 100644
---- a/nscd/netgroupcache.c
-+++ b/nscd/netgroupcache.c
-@@ -65,6 +65,55 @@ struct dataset
-   char strdata[0];
- };
-+/* Sends a notfound message and prepares a notfound dataset to write to the
-+   cache.  Returns true if there was enough memory to allocate the dataset and
-+   returns the dataset in DATASETP, total bytes to write in TOTALP and the
-+   timeout in TIMEOUTP.  KEY_COPY is set to point to the copy of the key in the
-+   dataset. */
-+static bool
-+do_notfound (struct database_dyn *db, int fd, request_header *req,
-+             const char *key, struct dataset **datasetp, ssize_t *totalp,
-+             time_t *timeoutp, char **key_copy)
-+{
-+  struct dataset *dataset;
-+  ssize_t total;
-+  time_t timeout;
-+  bool cacheable = false;
-+
-+  total = sizeof (notfound);
-+  timeout = time (NULL) + db->negtimeout;
-+
-+  if (fd != -1)
-+    TEMP_FAILURE_RETRY (send (fd, &notfound, total, MSG_NOSIGNAL));
-+
-+  dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len, 1);
-+  /* If we cannot permanently store the result, so be it.  */
-+  if (dataset != NULL)
-+    {
-+      dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
-+      dataset->head.recsize = total;
-+      dataset->head.notfound = true;
-+      dataset->head.nreloads = 0;
-+      dataset->head.usable = true;
-+
-+      /* Compute the timeout time.  */
-+      timeout = dataset->head.timeout = time (NULL) + db->negtimeout;
-+      dataset->head.ttl = db->negtimeout;
-+
-+      /* This is the reply.  */
-+      memcpy (&dataset->resp, &notfound, total);
-+
-+      /* Copy the key data.  */
-+      memcpy (dataset->strdata, key, req->key_len);
-+      *key_copy = dataset->strdata;
-+
-+      cacheable = true;
-+    }
-+  *timeoutp = timeout;
-+  *totalp = total;
-+  *datasetp = dataset;
-+  return cacheable;
-+}
- static time_t
- addgetnetgrentX (struct database_dyn *db, int fd, request_header *req,
-@@ -84,6 +133,7 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req,
-   struct dataset *dataset;
-   bool cacheable = false;
-   ssize_t total;
-+  bool found = false;
-   char *key_copy = NULL;
-   struct __netgrent data;
-@@ -103,35 +153,8 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req,
-       && __nss_database_lookup ("netgroup", NULL, NULL, &netgroup_database))
-     {
-       /* No such service.  */
--      total = sizeof (notfound);
--      timeout = time (NULL) + db->negtimeout;
--
--      if (fd != -1)
--      TEMP_FAILURE_RETRY (send (fd, &notfound, total, MSG_NOSIGNAL));
--
--      dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len, 1);
--      /* If we cannot permanently store the result, so be it.  */
--      if (dataset != NULL)
--      {
--        dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
--        dataset->head.recsize = total;
--        dataset->head.notfound = true;
--        dataset->head.nreloads = 0;
--        dataset->head.usable = true;
--
--        /* Compute the timeout time.  */
--        timeout = dataset->head.timeout = time (NULL) + db->negtimeout;
--        dataset->head.ttl = db->negtimeout;
--
--        /* This is the reply.  */
--        memcpy (&dataset->resp, &notfound, total);
--
--        /* Copy the key data.  */
--        memcpy (dataset->strdata, key, req->key_len);
--
--        cacheable = true;
--      }
--
-+      cacheable = do_notfound (db, fd, req, key, &dataset, &total, &timeout,
-+                             &key_copy);
-       goto writeout;
-     }
-@@ -167,6 +190,7 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req,
-         if (status == NSS_STATUS_SUCCESS)
-           {
-+            found = true;
-             union
-             {
-               enum nss_status (*f) (struct __netgrent *, char *, size_t,
-@@ -326,6 +350,15 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req,
-       }
-     }
-+  /* No results.  Return a failure and write out a notfound record in the
-+     cache.  */
-+  if (!found)
-+    {
-+      cacheable = do_notfound (db, fd, req, key, &dataset, &total, &timeout,
-+                             &key_copy);
-+      goto writeout;
-+    }
-+
-   total = buffilled;
-   /* Fill in the dataset.  */
diff --git a/src/patches/glibc/glibc-rh1043557.patch b/src/patches/glibc/glibc-rh1043557.patch
deleted file mode 100644 (file)
index affbe96..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-commit af37a8a3496327a6e5617a2c76f17aa1e8db835e
-Author: Siddhesh Poyarekar <siddhesh@redhat.com>
-Date:   Mon Jan 27 11:32:44 2014 +0530
-
-    Avoid undefined behaviour in netgroupcache
-    
-    Using a buffer after it has been reallocated is undefined behaviour,
-    so get offsets of the triplets in the old buffer before reallocating
-    it.
-
-commit 5d41dadf31bc8a2f9c34c40d52a442d3794e405c
-Author: Siddhesh Poyarekar <siddhesh@redhat.com>
-Date:   Fri Jan 24 13:51:15 2014 +0530
-
-    Adjust pointers to triplets in netgroup query data (BZ #16474)
-    
-    The _nss_*_getnetgrent_r query populates the netgroup results in the
-    allocated buffer and then sets the result triplet to point to strings
-    in the buffer.  This is a problem when the buffer is reallocated since
-    the pointers to the triplet strings are no longer valid.  The pointers
-    need to be adjusted so that they now point to strings in the
-    reallocated buffer.
-
-commit 980cb5180e1b71224a57ca52b995c959b7148c09
-Author: Siddhesh Poyarekar <siddhesh@redhat.com>
-Date:   Thu Jan 16 10:20:22 2014 +0530
-
-    Don't use alloca in addgetnetgrentX (BZ #16453)
-
-    addgetnetgrentX has a buffer which is grown as per the needs of the
-    requested size either by using alloca or by falling back to malloc if
-    the size is larger than 1K.  There are two problems with the alloca
-    bits: firstly, it doesn't really extend the buffer since it does not
-    use the return value of the extend_alloca macro, which is the location
-    of the reallocated buffer.  Due to this the buffer does not actually
-    extend itself and hence a subsequent write may overwrite stuff on the
-    stack.
-
-    The second problem is more subtle - the buffer growth on the stack is
-    discontinuous due to block scope local variables.  Combine that with
-    the fact that unlike realloc, extend_alloca does not copy over old
-    content and you have a situation where the buffer just has garbage in
-    the space where it should have had data.
-
-    This could have been fixed by adding code to copy over old data
-    whenever we call extend_alloca, but it seems unnecessarily
-    complicated.  This code is not exactly a performance hotspot (it's
-    called when there is a cache miss, so factors like network lookup or
-    file reads will dominate over memory allocation/reallocation), so this
-    premature optimization is unnecessary.
-    
-    Thanks Brad Hubbard <bhubbard@redhat.com> for his help with debugging
-    the problem.
-
-diff -pruN glibc-2.12-2-gc4ccff1/nscd/netgroupcache.c glibc-2.12-2-gc4ccff1.patched/nscd/netgroupcache.c
---- glibc-2.12-2-gc4ccff1/nscd/netgroupcache.c 2014-04-09 12:13:58.618582111 +0530
-+++ glibc-2.12-2-gc4ccff1.patched/nscd/netgroupcache.c 2014-04-09 12:07:21.486598665 +0530
-@@ -93,7 +93,6 @@ addgetnetgrentX (struct database_dyn *db
-   size_t buffilled = sizeof (*dataset);
-   char *buffer = NULL;
-   size_t nentries = 0;
--  bool use_malloc = false;
-   size_t group_len = strlen (key) + 1;
-   union
-   {
-@@ -138,7 +137,7 @@ addgetnetgrentX (struct database_dyn *db
-     }
-   memset (&data, '\0', sizeof (data));
--  buffer = alloca (buflen);
-+  buffer = xmalloc (buflen);
-   first_needed.elem.next = &first_needed.elem;
-   memcpy (first_needed.elem.name, key, group_len);
-   data.needed_groups = &first_needed.elem;
-@@ -218,21 +217,24 @@ addgetnetgrentX (struct database_dyn *db
-                               if (buflen - req->key_len - bufused < needed)
-                                 {
--                                  size_t newsize = MAX (2 * buflen,
--                                                        buflen + 2 * needed);
--                                  if (use_malloc || newsize > 1024 * 1024)
--                                    {
--                                      buflen = newsize;
--                                      char *newbuf = xrealloc (use_malloc
--                                                               ? buffer
--                                                               : NULL,
--                                                               buflen);
--
--                                      buffer = newbuf;
--                                      use_malloc = true;
--                                    }
--                                  else
--                                    extend_alloca (buffer, buflen, newsize);
-+                                  buflen += MAX (buflen, 2 * needed);
-+                                  /* Save offset in the old buffer.  We don't
-+                                     bother with the NULL check here since
-+                                     we'll do that later anyway.  */
-+                                  size_t nhostdiff = nhost - buffer;
-+                                  size_t nuserdiff = nuser - buffer;
-+                                  size_t ndomaindiff = ndomain - buffer;
-+
-+                                  char *newbuf = xrealloc (buffer, buflen);
-+                                  /* Fix up the triplet pointers into the new
-+                                     buffer.  */
-+                                  nhost = (nhost ? newbuf + nhostdiff
-+                                           : NULL);
-+                                  nuser = (nuser ? newbuf + nuserdiff
-+                                           : NULL);
-+                                  ndomain = (ndomain ? newbuf + ndomaindiff
-+                                             : NULL);
-+                                  buffer = newbuf;
-                                 }
-                               nhost = memcpy (buffer + bufused,
-@@ -299,18 +301,8 @@ addgetnetgrentX (struct database_dyn *db
-                     }
-                   else if (status == NSS_STATUS_UNAVAIL && e == ERANGE)
-                     {
--                      size_t newsize = 2 * buflen;
--                      if (use_malloc || newsize > 1024 * 1024)
--                        {
--                          buflen = newsize;
--                          char *newbuf = xrealloc (use_malloc
--                                                   ? buffer : NULL, buflen);
--
--                          buffer = newbuf;
--                          use_malloc = true;
--                        }
--                      else
--                        extend_alloca (buffer, buflen, newsize);
-+                      buflen *= 2;
-+                      buffer = xrealloc (buffer, buflen);
-                     }
-                 }
-@@ -446,8 +438,7 @@ addgetnetgrentX (struct database_dyn *db
-     }
-  out:
--  if (use_malloc)
--    free (buffer);
-+  free (buffer);
-   *resultp = dataset;
diff --git a/src/patches/glibc/glibc-rh1044628.patch b/src/patches/glibc/glibc-rh1044628.patch
deleted file mode 100644 (file)
index e5ff3ca..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-commit cf26a0cb6a0bbaca46a01ddad6662e5e5159a32a
-Author: Siddhesh Poyarekar <siddhesh@redhat.com>
-Date:   Thu May 15 12:33:11 2014 +0530
-
-    Return EAI_AGAIN for AF_UNSPEC when herrno is TRY_AGAIN (BZ #16849)
-    
-    getaddrinfo correctly returns EAI_AGAIN for AF_INET and AF_INET6
-    queries.  For AF_UNSPEC however, an older change
-    (a682a1bf553b1efe4dbb03207fece5b719cec482) broke the check and due to
-    that the returned error was EAI_NONAME.
-    
-    This patch fixes the check so that a non-authoritative not-found is
-    returned as EAI_AGAIN to the user instead of EAI_NONAME.
-
-diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
-index 6258330..8f392b9 100644
---- a/sysdeps/posix/getaddrinfo.c
-+++ b/sysdeps/posix/getaddrinfo.c
-@@ -867,8 +867,7 @@ gaih_inet (const char *name, const struct gaih_service *service,
-                     if (status != NSS_STATUS_TRYAGAIN
-                         || rc != ERANGE || herrno != NETDB_INTERNAL)
-                       {
--                        if (status == NSS_STATUS_TRYAGAIN
--                            && herrno == TRY_AGAIN)
-+                        if (herrno == TRY_AGAIN)
-                           no_data = EAI_AGAIN;
-                         else
-                           no_data = herrno == NO_DATA;
diff --git a/src/patches/glibc/glibc-rh1053178.patch b/src/patches/glibc/glibc-rh1053178.patch
deleted file mode 100644 (file)
index a662cfe..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-#
-# Based on the commit:
-#
-# commit 6c82a2f8d7c8e21e39237225c819f182ae438db3
-# Author: Carlos O'Donell <carlos@redhat.com>
-# Date:   Fri Sep 6 01:02:30 2013 -0400
-#
-#    Coordinate IPv6 definitions for Linux and glibc
-#    
-#    This change synchronizes the glibc headers with the Linux kernel
-#    headers and arranges to coordinate the definition of structures
-#    already defined the Linux kernel UAPI headers.
-#    
-#    It is now safe to include glibc's netinet/in.h or Linux's linux/in6.h
-#    in any order in a userspace application and you will get the same
-#    ABI. The ABI is guaranteed by UAPI and glibc.
-#
-# 2013-09-05  Carlos O'Donell  <carlos@redhat.com>
-#          Cong Wang  <amwang@redhat.com>
-# 
-#      * sysdeps/unix/sysv/linux/bits/in.h
-#      [_UAPI_LINUX_IN6_H]: Define __USE_KERNEL_IPV6_DEFS.
-#      * inet/netinet/in.h: Move in_addr definition and bits/in.h inclusion
-#      before __USE_KERNEL_IPV6_DEFS uses.
-#      * inet/netinet/in.h [!__USE_KERNEL_IPV6_DEFS]: Define IPPROTO_MH, and
-#      IPPROTO_BEETPH.
-#      [__USE_KERNEL_IPV6_DEFS]: Don't define any of IPPROTO_*, in6_addr,
-#      sockaddr_in6, or ipv6_mreq.
-# 
-diff -urN glibc-2.12-2-gc4ccff1/inet/netinet/in.h glibc-2.12-2-gc4ccff1.mod/inet/netinet/in.h
---- glibc-2.12-2-gc4ccff1/inet/netinet/in.h    2010-05-04 07:27:23.000000000 -0400
-+++ glibc-2.12-2-gc4ccff1.mod/inet/netinet/in.h        2015-02-18 13:06:56.436802873 -0500
-@@ -28,13 +28,21 @@
- __BEGIN_DECLS
-+/* Internet address.  */
-+typedef uint32_t in_addr_t;
-+struct in_addr
-+  {
-+    in_addr_t s_addr;
-+  };
-+
-+/* Get system-specific definitions.  */
-+#include <bits/in.h>
-+
- /* Standard well-defined IP protocols.  */
- enum
-   {
-     IPPROTO_IP = 0,      /* Dummy protocol for TCP.  */
- #define IPPROTO_IP            IPPROTO_IP
--    IPPROTO_HOPOPTS = 0,   /* IPv6 Hop-by-Hop options.  */
--#define IPPROTO_HOPOPTS               IPPROTO_HOPOPTS
-     IPPROTO_ICMP = 1,    /* Internet Control Message Protocol.  */
- #define IPPROTO_ICMP          IPPROTO_ICMP
-     IPPROTO_IGMP = 2,    /* Internet Group Management Protocol. */
-@@ -57,10 +65,6 @@
- #define IPPROTO_DCCP          IPPROTO_DCCP
-     IPPROTO_IPV6 = 41,     /* IPv6 header.  */
- #define IPPROTO_IPV6          IPPROTO_IPV6
--    IPPROTO_ROUTING = 43,  /* IPv6 routing header.  */
--#define IPPROTO_ROUTING               IPPROTO_ROUTING
--    IPPROTO_FRAGMENT = 44, /* IPv6 fragmentation header.  */
--#define IPPROTO_FRAGMENT      IPPROTO_FRAGMENT
-     IPPROTO_RSVP = 46,           /* Reservation Protocol.  */
- #define IPPROTO_RSVP          IPPROTO_RSVP
-     IPPROTO_GRE = 47,    /* General Routing Encapsulation.  */
-@@ -69,14 +73,10 @@
- #define IPPROTO_ESP           IPPROTO_ESP
-     IPPROTO_AH = 51,       /* authentication header.  */
- #define IPPROTO_AH            IPPROTO_AH
--    IPPROTO_ICMPV6 = 58,   /* ICMPv6.  */
--#define IPPROTO_ICMPV6                IPPROTO_ICMPV6
--    IPPROTO_NONE = 59,     /* IPv6 no next header.  */
--#define IPPROTO_NONE          IPPROTO_NONE
--    IPPROTO_DSTOPTS = 60,  /* IPv6 destination options.  */
--#define IPPROTO_DSTOPTS               IPPROTO_DSTOPTS
-     IPPROTO_MTP = 92,    /* Multicast Transport Protocol.  */
- #define IPPROTO_MTP           IPPROTO_MTP
-+    IPPROTO_BEETPH = 94,   /* IP option pseudo header for BEET.  */
-+#define IPPROTO_BEETPH                IPPROTO_BEETPH
-     IPPROTO_ENCAP = 98,          /* Encapsulation Header.  */
- #define IPPROTO_ENCAP         IPPROTO_ENCAP
-     IPPROTO_PIM = 103,           /* Protocol Independent Multicast.  */
-@@ -92,6 +92,28 @@
-     IPPROTO_MAX
-   };
-+/* If __USER_KERNEL_IPV6_DEFS is defined then the user has included the kernel
-+   network headers first and we should use those ABI-identical definitions
-+   instead of our own.  */
-+#ifndef __USE_KERNEL_IPV6_DEFS
-+enum
-+  {
-+    IPPROTO_HOPOPTS = 0,   /* IPv6 Hop-by-Hop options.  */
-+#define IPPROTO_HOPOPTS               IPPROTO_HOPOPTS
-+    IPPROTO_ROUTING = 43,  /* IPv6 routing header.  */
-+#define IPPROTO_ROUTING               IPPROTO_ROUTING
-+    IPPROTO_FRAGMENT = 44, /* IPv6 fragmentation header.  */
-+#define IPPROTO_FRAGMENT      IPPROTO_FRAGMENT
-+    IPPROTO_ICMPV6 = 58,   /* ICMPv6.  */
-+#define IPPROTO_ICMPV6                IPPROTO_ICMPV6
-+    IPPROTO_NONE = 59,     /* IPv6 no next header.  */
-+#define IPPROTO_NONE          IPPROTO_NONE
-+    IPPROTO_DSTOPTS = 60,  /* IPv6 destination options.  */
-+#define IPPROTO_DSTOPTS               IPPROTO_DSTOPTS
-+    IPPROTO_MH = 135,      /* IPv6 mobility header.  */
-+#define IPPROTO_MH            IPPROTO_MH
-+  };
-+#endif /* !__USE_KERNEL_IPV6_DEFS */
- /* Type to represent a port.  */
- typedef uint16_t in_port_t;
-@@ -136,15 +158,6 @@
-     IPPORT_USERRESERVED = 5000
-   };
--
--/* Internet address.  */
--typedef uint32_t in_addr_t;
--struct in_addr
--  {
--    in_addr_t s_addr;
--  };
--
--
- /* Definitions of the bits in an Internet address integer.
-    On subnets, host and network parts are found according to
-@@ -193,7 +206,7 @@
- #define INADDR_ALLRTRS_GROUP    ((in_addr_t) 0xe0000002) /* 224.0.0.2 */
- #define INADDR_MAX_LOCAL_GROUP  ((in_addr_t) 0xe00000ff) /* 224.0.0.255 */
--
-+#ifndef __USE_KERNEL_IPV6_DEFS
- /* IPv6 address */
- struct in6_addr
-   {
-@@ -211,6 +224,7 @@
- # define s6_addr32            __in6_u.__u6_addr32
- #endif
-   };
-+#endif /* !__USE_KERNEL_IPV6_DEFS */
- extern const struct in6_addr in6addr_any;        /* :: */
- extern const struct in6_addr in6addr_loopback;   /* ::1 */
-@@ -235,6 +249,7 @@
-                          sizeof (struct in_addr)];
-   };
-+#ifndef __USE_KERNEL_IPV6_DEFS
- /* Ditto, for IPv6.  */
- struct sockaddr_in6
-   {
-@@ -244,7 +259,7 @@
-     struct in6_addr sin6_addr;        /* IPv6 address */
-     uint32_t sin6_scope_id;   /* IPv6 scope-id */
-   };
--
-+#endif /* !__USE_KERNEL_IPV6_DEFS */
- #if defined __USE_MISC || defined __USE_GNU
- /* IPv4 multicast request.  */
-@@ -270,7 +285,7 @@
-   };
- #endif
--
-+#ifndef __USE_KERNEL_IPV6_DEFS
- /* Likewise, for IPv6.  */
- struct ipv6_mreq
-   {
-@@ -280,7 +295,7 @@
-     /* local interface */
-     unsigned int ipv6mr_interface;
-   };
--
-+#endif /* !__USE_KERNEL_IPV6_DEFS */
- #if defined __USE_MISC || defined __USE_GNU
- /* Multicast group request.  */
-@@ -351,10 +366,6 @@
-                                     * sizeof (struct sockaddr_storage)))
- #endif
--
--/* Get system-specific definitions.  */
--#include <bits/in.h>
--
- /* Functions to convert between host and network byte order.
-    Please note that these functions normally take `unsigned long int' or
-diff -urN glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/bits/in.h glibc-2.12-2-gc4ccff1.mod/sysdeps/unix/sysv/linux/bits/in.h
---- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/bits/in.h    2015-02-18 13:04:15.547734092 -0500
-+++ glibc-2.12-2-gc4ccff1.mod/sysdeps/unix/sysv/linux/bits/in.h        2015-02-18 13:06:56.436802873 -0500
-@@ -22,6 +22,18 @@
- # error "Never use <bits/in.h> directly; include <netinet/in.h> instead."
- #endif
-+/* If the application has already included linux/in6.h from a linux-based
-+   kernel then we will not define the IPv6 IPPROTO_* defines, in6_addr (nor the
-+   defines), sockaddr_in6, or ipv6_mreq.  The ABI used by the linux-kernel and
-+   glibc match exactly.  Neither the linux kernel nor glibc should break this
-+   ABI without coordination.  */
-+#ifdef _UAPI_LINUX_IN6_H
-+/* This is not quite the same API since the kernel always defines s6_addr16 and
-+   s6_addr32. This is not a violation of POSIX since POSIX says "at least the
-+   following member" and that holds true.  */
-+# define __USE_KERNEL_IPV6_DEFS
-+#endif
-+
- /* Options for use with `getsockopt' and `setsockopt' at the IP level.
-    The first word in the comment at the right is the data type used;
-    "bool" means a boolean value stored in an `int'.  */
diff --git a/src/patches/glibc/glibc-rh1054846.patch b/src/patches/glibc/glibc-rh1054846.patch
deleted file mode 100644 (file)
index 50b4109..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-commit fbd6b5a4052316f7eb03c4617eebfaafc59dcc06
-Author: Siddhesh Poyarekar <siddhesh@redhat.com>
-Date:   Thu Mar 27 07:15:22 2014 +0530
-
-    Fix nscd lookup for innetgr when netgroup has wildcards (BZ #16758)
-    
-    nscd works correctly when the request in innetgr is a wildcard,
-    i.e. when one or more of host, user or domain parameters is NULL.
-    However, it does not work when the the triplet in the netgroup
-    definition has a wildcard.  This is easy to reproduce for a triplet
-    defined as follows:
-    
-        foonet (,foo,)
-    
-    Here, an innetgr call that looks like this:
-    
-        innetgr ("foonet", "foohost", "foo", NULL);
-    
-    should succeed and so should:
-    
-        innetgr ("foonet", NULL, "foo", "foodomain");
-    
-    It does succeed with nscd disabled, but not with nscd enabled.  This
-    fix adds this additional check for all three parts of the triplet so
-    that it gives the correct result.
-    
-       [BZ #16758]
-       * nscd/netgroupcache.c (addinnetgrX): Succeed if triplet has
-       blank values.
-
-diff --git a/nscd/netgroupcache.c b/nscd/netgroupcache.c
-index 5ba1e1f..5d15aa4 100644
---- a/nscd/netgroupcache.c
-+++ b/nscd/netgroupcache.c
-@@ -560,15 +560,19 @@ addinnetgrX (struct database_dyn *db, int fd, request_header *req,
-       {
-         bool success = true;
--        if (host != NULL)
-+        /* For the host, user and domain in each triplet, we assume success
-+           if the value is blank because that is how the wildcard entry to
-+           match anything is stored in the netgroup cache.  */
-+        if (host != NULL && *triplets != '\0')
-           success = strcmp (host, triplets) == 0;
-         triplets = (const char *) rawmemchr (triplets, '\0') + 1;
--        if (success && user != NULL)
-+        if (success && user != NULL && *triplets != '\0')
-           success = strcmp (user, triplets) == 0;
-         triplets = (const char *) rawmemchr (triplets, '\0') + 1;
--        if (success && (domain == NULL || strcmp (domain, triplets) == 0))
-+        if (success && (domain == NULL || *triplets == '\0'
-+                        || strcmp (domain, triplets) == 0))
-           {
-             dataset->resp.result = 1;
-             break;
diff --git a/src/patches/glibc/glibc-rh1066724.patch b/src/patches/glibc/glibc-rh1066724.patch
deleted file mode 100644 (file)
index a03f1d1..0000000
+++ /dev/null
@@ -1,620 +0,0 @@
-diff --git a/malloc/Makefile b/malloc/Makefile
-index e7ec1ab..5330a3b 100644
---- a/malloc/Makefile
-+++ b/malloc/Makefile
-@@ -27,7 +27,8 @@ all:
- dist-headers := malloc.h
- headers := $(dist-headers) obstack.h mcheck.h
- tests := mallocbug tst-malloc tst-valloc tst-calloc tst-obstack \
--       tst-mallocstate tst-mcheck tst-mallocfork tst-trim1
-+       tst-mallocstate tst-mcheck tst-mallocfork tst-trim1 \
-+       tst-malloc-backtrace
- test-srcs = tst-mtrace
- distribute = thread-m.h mtrace.pl mcheck-init.c stackinfo.h memusage.h \
-@@ -49,6 +50,9 @@ extra-libs-others = $(extra-libs)
- libmemusage-routines = memusage
- libmemusage-inhibit-o = $(filter-out .os,$(object-suffixes))
-+$(objpfx)tst-malloc-backtrace: $(common-objpfx)nptl/libpthread.so \
-+                             $(common-objpfx)nptl/libpthread_nonshared.a
-+
- # These should be removed by `make clean'.
- extra-objs = mcheck-init.o libmcheck.a
-diff --git a/malloc/arena.c b/malloc/arena.c
-index 18bea2b..5180516 100644
---- a/malloc/arena.c
-+++ b/malloc/arena.c
-@@ -123,7 +123,7 @@ int __malloc_initialized = -1;
- #ifdef PER_THREAD
- #define arena_lock(ptr, size) do { \
--  if(ptr) \
-+  if(ptr && !arena_is_corrupt (ptr)) \
-     (void)mutex_lock(&ptr->mutex); \
-   else \
-     ptr = arena_get2(ptr, (size), false); \
-@@ -1011,7 +1011,21 @@ reused_arena (bool retrying)
-   if (retrying && result == &main_arena)
-     result = result->next;
--  /* No arena available.  Wait for the next in line.  */
-+  /* Make sure that the arena we get is not corrupted.  */
-+  mstate begin = result;
-+  while (arena_is_corrupt (result))
-+    {
-+      result = result->next;
-+      if (result == begin)
-+       break;
-+    }
-+
-+  /* We could not find any arena that was either not corrupted or not the one
-+     we wanted to avoid.  */
-+  if (result == begin)
-+    return NULL;
-+
-+  /* No arena available without contention.  Wait for the next in line.  */
-   (void)mutex_lock(&result->mutex);
-  out:
-diff --git a/malloc/hooks.c b/malloc/hooks.c
-index cc83d21..38d2542 100644
---- a/malloc/hooks.c
-+++ b/malloc/hooks.c
-@@ -220,7 +220,8 @@ top_check()
-     return 0;
-   mutex_unlock(&main_arena);
--  malloc_printerr (check_action, "malloc: top chunk is corrupt", t);
-+  malloc_printerr (check_action, "malloc: top chunk is corrupt", t,
-+                 &main_arena);
-   mutex_lock(&main_arena);
-   /* Try to set up a new top chunk. */
-@@ -283,7 +284,7 @@ free_check(mem, caller) Void_t* mem; const Void_t *caller;
-   if(!p) {
-     (void)mutex_unlock(&main_arena.mutex);
--    malloc_printerr(check_action, "free(): invalid pointer", mem);
-+    malloc_printerr(check_action, "free(): invalid pointer", mem, &main_arena);
-     return;
-   }
- #if HAVE_MMAP
-@@ -329,7 +330,8 @@ realloc_check(oldmem, bytes, caller)
-   const mchunkptr oldp = mem2chunk_check(oldmem, &magic_p);
-   (void)mutex_unlock(&main_arena.mutex);
-   if(!oldp) {
--    malloc_printerr(check_action, "realloc(): invalid pointer", oldmem);
-+    malloc_printerr(check_action, "realloc(): invalid pointer", oldmem,
-+                  &main_arena);
-     return malloc_check(bytes, NULL);
-   }
-   const INTERNAL_SIZE_T oldsize = chunksize(oldp);
-diff --git a/malloc/malloc.c b/malloc/malloc.c
-index 597c7b0..20ac534 100644
---- a/malloc/malloc.c
-+++ b/malloc/malloc.c
-@@ -1633,7 +1633,7 @@ static size_t   mUSABLe(Void_t*);
- static void     mSTATs(void);
- static int      mALLOPt(int, int);
- static struct mallinfo mALLINFo(mstate);
--static void malloc_printerr(int action, const char *str, void *ptr);
-+static void malloc_printerr(int action, const char *str, void *ptr, mstate av);
- static Void_t* internal_function mem2mem_check(Void_t *p, size_t sz);
- static int internal_function top_check(void);
-@@ -2114,7 +2114,8 @@ typedef struct malloc_chunk* mbinptr;
-   BK = P->bk;                                                          \
-   if (__builtin_expect (FD->bk != P || BK->fd != P, 0)) {            \
-     mutex_unlock(&(AV)->mutex);                                              \
--    malloc_printerr (check_action, "corrupted double-linked list", P); \
-+    malloc_printerr (check_action, "corrupted double-linked list", P,  \
-+                   AV);                                              \
-     mutex_lock(&(AV)->mutex);                                        \
-   } else {                                                           \
-     FD->bk = BK;                                                       \
-@@ -2344,6 +2345,15 @@ typedef struct malloc_chunk* mfastbinptr;
- #define set_noncontiguous(M)   ((M)->flags |=  NONCONTIGUOUS_BIT)
- #define set_contiguous(M)      ((M)->flags &= ~NONCONTIGUOUS_BIT)
-+/* ARENA_CORRUPTION_BIT is set if a memory corruption was detected on the
-+   arena.  Such an arena is no longer used to allocate chunks.  Chunks
-+   allocated in that arena before detecting corruption are not freed.  */
-+
-+#define ARENA_CORRUPTION_BIT (4U)
-+
-+#define arena_is_corrupt(A)    (((A)->flags & ARENA_CORRUPTION_BIT))
-+#define set_arena_corrupt(A)   ((A)->flags |= ARENA_CORRUPTION_BIT)
-+
- /*
-    Set value of max_fast.
-    Use impossibly small value if 0.
-@@ -3002,8 +3012,9 @@ static Void_t* sYSMALLOc(nb, av) INTERNAL_SIZE_T nb; mstate av;
-     rather than expanding top.
-   */
--  if ((unsigned long)(nb) >= (unsigned long)(mp_.mmap_threshold) &&
--      (mp_.n_mmaps < mp_.n_mmaps_max)) {
-+  if (av == NULL
-+      || ((unsigned long)(nb) >= (unsigned long)(mp_.mmap_threshold) &&
-+        (mp_.n_mmaps < mp_.n_mmaps_max))) {
-     char* mm;             /* return value from mmap call*/
-@@ -3079,6 +3090,10 @@ static Void_t* sYSMALLOc(nb, av) INTERNAL_SIZE_T nb; mstate av;
-   }
- #endif
-+  /* There are no usable arenas and mmap also failed.  */
-+  if (av == NULL)
-+    return 0;
-+
-   /* Record incoming configuration of top */
-   old_top  = av->top;
-@@ -3260,7 +3275,7 @@ static Void_t* sYSMALLOc(nb, av) INTERNAL_SIZE_T nb; mstate av;
-     else if (contiguous(av) && old_size && brk < old_end) {
-       /* Oops!  Someone else killed our space..  Can't touch anything.  */
-       mutex_unlock(&av->mutex);
--      malloc_printerr (3, "break adjusted to free malloc space", brk);
-+      malloc_printerr (3, "break adjusted to free malloc space", brk, av);
-       mutex_lock(&av->mutex);
-     }
-@@ -3542,7 +3557,7 @@ munmap_chunk(p) mchunkptr p;
-   if (__builtin_expect (((block | total_size) & (mp_.pagesize - 1)) != 0, 0))
-     {
-       malloc_printerr (check_action, "munmap_chunk(): invalid pointer",
--                     chunk2mem (p));
-+                     chunk2mem (p), NULL);
-       return;
-     }
-@@ -3625,65 +3640,31 @@ public_mALLOc(size_t bytes)
-   if (__builtin_expect (hook != NULL, 0))
-     return (*hook)(bytes, RETURN_ADDRESS (0));
--  arena_lookup(ar_ptr);
--#if 0
--  // XXX We need double-word CAS and fastbins must be extended to also
--  // XXX hold a generation counter for each entry.
--  if (ar_ptr) {
--    INTERNAL_SIZE_T nb;               /* normalized request size */
--    checked_request2size(bytes, nb);
--    if (nb <= get_max_fast ()) {
--      long int idx = fastbin_index(nb);
--      mfastbinptr* fb = &fastbin (ar_ptr, idx);
--      mchunkptr pp = *fb;
--      mchunkptr v;
--      do
--      {
--        v = pp;
--        if (v == NULL)
--          break;
--      }
--      while ((pp = catomic_compare_and_exchange_val_acq (fb, v->fd, v)) != v);
--      if (v != 0) {
--      if (__builtin_expect (fastbin_index (chunksize (v)) != idx, 0))
--        malloc_printerr (check_action, "malloc(): memory corruption (fast)",
--                         chunk2mem (v));
--      check_remalloced_chunk(ar_ptr, v, nb);
--      void *p = chunk2mem(v);
--      if (__builtin_expect (perturb_byte, 0))
--        alloc_perturb (p, bytes);
--      return p;
--      }
--    }
--  }
--#endif
-+  arena_get(ar_ptr, bytes);
--  arena_lock(ar_ptr, bytes);
--  if(!ar_ptr)
--    return 0;
-   victim = _int_malloc(ar_ptr, bytes);
--  if(!victim) {
-+  if(!victim && ar_ptr != NULL) {
-     /* Maybe the failure is due to running out of mmapped areas. */
-     if(ar_ptr != &main_arena) {
-       (void)mutex_unlock(&ar_ptr->mutex);
-       ar_ptr = &main_arena;
-       (void)mutex_lock(&ar_ptr->mutex);
-       victim = _int_malloc(ar_ptr, bytes);
--      (void)mutex_unlock(&ar_ptr->mutex);
-     } else {
- #if USE_ARENAS
-       /* ... or sbrk() has failed and there is still a chance to mmap() */
-       mstate prev = ar_ptr->next ? ar_ptr : 0;
-       (void)mutex_unlock(&ar_ptr->mutex);
-       ar_ptr = arena_get2(prev, bytes, true);
--      if(ar_ptr) {
-+      if(ar_ptr)
-       victim = _int_malloc(ar_ptr, bytes);
--      (void)mutex_unlock(&ar_ptr->mutex);
--      }
- #endif
-     }
--  } else
-+  }
-+
-+  if (ar_ptr != NULL)
-     (void)mutex_unlock(&ar_ptr->mutex);
-+
-   assert(!victim || chunk_is_mmapped(mem2chunk(victim)) ||
-        ar_ptr == arena_for_chunk(mem2chunk(victim)));
-   return victim;
-@@ -3773,6 +3754,11 @@ public_rEALLOc(Void_t* oldmem, size_t bytes)
-   /* its size */
-   const INTERNAL_SIZE_T oldsize = chunksize(oldp);
-+  if (chunk_is_mmapped (oldp))
-+    ar_ptr = NULL;
-+  else
-+    ar_ptr = arena_for_chunk (oldp);
-+
-   /* Little security check which won't hurt performance: the
-      allocator never wrapps around at the end of the address space.
-      Therefore we can exclude some size values which might appear
-@@ -3780,7 +3766,8 @@ public_rEALLOc(Void_t* oldmem, size_t bytes)
-   if (__builtin_expect ((uintptr_t) oldp > (uintptr_t) -oldsize, 0)
-       || __builtin_expect (misaligned_chunk (oldp), 0))
-     {
--      malloc_printerr (check_action, "realloc(): invalid pointer", oldmem);
-+      malloc_printerr (check_action, "realloc(): invalid pointer", oldmem,
-+                     ar_ptr);
-       return NULL;
-     }
-@@ -3806,7 +3793,6 @@ public_rEALLOc(Void_t* oldmem, size_t bytes)
-   }
- #endif
--  ar_ptr = arena_for_chunk(oldp);
- #if THREAD_STATS
-   if(!mutex_trylock(&ar_ptr->mutex))
-     ++(ar_ptr->stat_lock_direct);
-@@ -3887,31 +3873,29 @@ public_mEMALIGn(size_t alignment, size_t bytes)
-     }
-   arena_get(ar_ptr, bytes + alignment + MINSIZE);
--  if(!ar_ptr)
--    return 0;
-   p = _int_memalign(ar_ptr, alignment, bytes);
--  if(!p) {
-+  if(!p && ar_ptr != NULL) {
-     /* Maybe the failure is due to running out of mmapped areas. */
-     if(ar_ptr != &main_arena) {
-       (void)mutex_unlock(&ar_ptr->mutex);
-       ar_ptr = &main_arena;
-       (void)mutex_lock(&ar_ptr->mutex);
-       p = _int_memalign(ar_ptr, alignment, bytes);
--      (void)mutex_unlock(&ar_ptr->mutex);
-     } else {
- #if USE_ARENAS
-       /* ... or sbrk() has failed and there is still a chance to mmap() */
-       mstate prev = ar_ptr->next ? ar_ptr : 0;
-       (void)mutex_unlock(&ar_ptr->mutex);
-       ar_ptr = arena_get2(prev, bytes, true);
--      if(ar_ptr) {
-+      if(ar_ptr)
-       p = _int_memalign(ar_ptr, alignment, bytes);
--      (void)mutex_unlock(&ar_ptr->mutex);
--      }
- #endif
-     }
--  } else
-+  }
-+  
-+  if (ar_ptr != NULL)
-     (void)mutex_unlock(&ar_ptr->mutex);
-+
-   assert(!p || chunk_is_mmapped(mem2chunk(p)) ||
-        ar_ptr == arena_for_chunk(mem2chunk(p)));
-   return p;
-@@ -3945,31 +3929,29 @@ public_vALLOc(size_t bytes)
-     return (*hook)(pagesz, bytes, RETURN_ADDRESS (0));
-   arena_get(ar_ptr, bytes + pagesz + MINSIZE);
--  if(!ar_ptr)
--    return 0;
-   p = _int_valloc(ar_ptr, bytes);
--  if(!p) {
-+  if(!p && ar_ptr != NULL) {
-     /* Maybe the failure is due to running out of mmapped areas. */
-     if(ar_ptr != &main_arena) {
-       (void)mutex_unlock(&ar_ptr->mutex);
-       ar_ptr = &main_arena;
-       (void)mutex_lock(&ar_ptr->mutex);
-       p = _int_memalign(ar_ptr, pagesz, bytes);
--      (void)mutex_unlock(&ar_ptr->mutex);
-     } else {
- #if USE_ARENAS
-       /* ... or sbrk() has failed and there is still a chance to mmap() */
-       mstate prev = ar_ptr->next ? ar_ptr : 0;
-       (void)mutex_unlock(&ar_ptr->mutex);
-       ar_ptr = arena_get2(prev, bytes, true);
--      if(ar_ptr) {
-+      if(ar_ptr)
-       p = _int_memalign(ar_ptr, pagesz, bytes);
--      (void)mutex_unlock(&ar_ptr->mutex);
--      }
- #endif
-     }
--  } else
-+  }
-+
-+  if (ar_ptr != NULL)
-     (void)mutex_unlock(&ar_ptr->mutex);
-+
-   assert(!p || chunk_is_mmapped(mem2chunk(p)) ||
-        ar_ptr == arena_for_chunk(mem2chunk(p)));
-@@ -4004,28 +3986,28 @@ public_pVALLOc(size_t bytes)
-   arena_get(ar_ptr, bytes + 2*pagesz + MINSIZE);
-   p = _int_pvalloc(ar_ptr, bytes);
--  if(!p) {
-+  if(!p && ar_ptr != NULL) {
-     /* Maybe the failure is due to running out of mmapped areas. */
-     if(ar_ptr != &main_arena) {
-       (void)mutex_unlock(&ar_ptr->mutex);
-       ar_ptr = &main_arena;
-       (void)mutex_lock(&ar_ptr->mutex);
-       p = _int_memalign(ar_ptr, pagesz, rounded_bytes);
--      (void)mutex_unlock(&ar_ptr->mutex);
-     } else {
- #if USE_ARENAS
-       /* ... or sbrk() has failed and there is still a chance to mmap() */
-       mstate prev = ar_ptr->next ? ar_ptr : 0;
-       (void)mutex_unlock(&ar_ptr->mutex);
-       ar_ptr = arena_get2(prev, bytes + 2*pagesz + MINSIZE, true);
--      if(ar_ptr) {
-+      if(ar_ptr)
-       p = _int_memalign(ar_ptr, pagesz, rounded_bytes);
--      (void)mutex_unlock(&ar_ptr->mutex);
--      }
- #endif
-     }
--  } else
-+  }
-+
-+  if (ar_ptr != NULL)
-     (void)mutex_unlock(&ar_ptr->mutex);
-+
-   assert(!p || chunk_is_mmapped(mem2chunk(p)) ||
-        ar_ptr == arena_for_chunk(mem2chunk(p)));
-@@ -4072,55 +4054,65 @@ public_cALLOc(size_t n, size_t elem_size)
-   sz = bytes;
-   arena_get(av, sz);
--  if(!av)
--    return 0;
--  /* Check if we hand out the top chunk, in which case there may be no
--     need to clear. */
-+  if (av)
-+    {
-+      /* Check if we hand out the top chunk, in which case there may be no
-+       need to clear. */
- #if MORECORE_CLEARS
--  oldtop = top(av);
--  oldtopsize = chunksize(top(av));
-+      oldtop = top(av);
-+      oldtopsize = chunksize(top(av));
- #if MORECORE_CLEARS < 2
--  /* Only newly allocated memory is guaranteed to be cleared.  */
--  if (av == &main_arena &&
--      oldtopsize < mp_.sbrk_base + av->max_system_mem - (char *)oldtop)
--    oldtopsize = (mp_.sbrk_base + av->max_system_mem - (char *)oldtop);
-+      /* Only newly allocated memory is guaranteed to be cleared.  */
-+      if (av == &main_arena &&
-+        oldtopsize < mp_.sbrk_base + av->max_system_mem - (char *)oldtop)
-+      oldtopsize = (mp_.sbrk_base + av->max_system_mem - (char *)oldtop);
- #endif
--  if (av != &main_arena)
-+      if (av != &main_arena)
-+      {
-+        heap_info *heap = heap_for_ptr (oldtop);
-+        if (oldtopsize < (char *) heap + heap->mprotect_size - (char *) oldtop)
-+          oldtopsize = (char *) heap + heap->mprotect_size - (char *) oldtop;
-+      }
-+#endif
-+    }
-+  else
-     {
--      heap_info *heap = heap_for_ptr (oldtop);
--      if (oldtopsize < (char *) heap + heap->mprotect_size - (char *) oldtop)
--      oldtopsize = (char *) heap + heap->mprotect_size - (char *) oldtop;
-+      /* No usable arenas.  */
-+      oldtop = 0;
-+      oldtopsize = 0;
-     }
--#endif
-   mem = _int_malloc(av, sz);
--
-   assert(!mem || chunk_is_mmapped(mem2chunk(mem)) ||
-        av == arena_for_chunk(mem2chunk(mem)));
--  if (mem == 0) {
-+  if (mem == 0 && av != NULL) {
-     /* Maybe the failure is due to running out of mmapped areas. */
-     if(av != &main_arena) {
-       (void)mutex_unlock(&av->mutex);
-       (void)mutex_lock(&main_arena.mutex);
-       mem = _int_malloc(&main_arena, sz);
--      (void)mutex_unlock(&main_arena.mutex);
-     } else {
- #if USE_ARENAS
-       /* ... or sbrk() has failed and there is still a chance to mmap() */
-       mstate prev = av->next ? av : 0;
-       (void)mutex_unlock(&av->mutex);
-       av = arena_get2(prev, sz, true);
--      if(av) {
-+      if(av)
-       mem = _int_malloc(av, sz);
--      (void)mutex_unlock(&av->mutex);
--      }
- #endif
-     }
-     if (mem == 0) return 0;
--  } else
-+  }
-+
-+  if (av != NULL)
-     (void)mutex_unlock(&av->mutex);
-+
-+  /* Allocation failed even after a retry.  */
-+  if (mem == 0)
-+    return 0;
-+
-   p = mem2chunk(mem);
-   /* Two optional cases in which clearing not necessary */
-@@ -4175,6 +4167,8 @@ public_cALLOc(size_t n, size_t elem_size)
- }
- #ifndef _LIBC
-+/* XXX These functions are not patched to detect arena corruption because they
-+   are not built in glibc.  */
- Void_t**
- public_iCALLOc(size_t n, size_t elem_size, Void_t** chunks)
-@@ -4309,6 +4303,16 @@ _int_malloc(mstate av, size_t bytes)
-   checked_request2size(bytes, nb);
-+  /* There are no usable arenas.  Fall back to sysmalloc to get a chunk from
-+     mmap.  */
-+  if (__glibc_unlikely (av == NULL))
-+    {
-+      void *p = sYSMALLOc (nb, av);
-+      if (p != NULL)
-+      alloc_perturb (p, bytes);
-+      return p;
-+    }
-+
-   /*
-     If the size qualifies as a fastbin, first check corresponding bin.
-     This code is safe to execute even if av is not yet initialized, so we
-@@ -4337,7 +4341,7 @@ _int_malloc(mstate av, size_t bytes)
-         errstr = "malloc(): memory corruption (fast)";
-       errout:
-         mutex_unlock(&av->mutex);
--        malloc_printerr (check_action, errstr, chunk2mem (victim));
-+        malloc_printerr (check_action, errstr, chunk2mem (victim), av);
-         mutex_lock(&av->mutex);
-         return NULL;
-       }
-@@ -4429,7 +4433,7 @@ _int_malloc(mstate av, size_t bytes)
-       {
-         void *p = chunk2mem(victim);
-         mutex_unlock(&av->mutex);
--        malloc_printerr (check_action, "malloc(): memory corruption", p);
-+        malloc_printerr (check_action, "malloc(): memory corruption", p, av);
-         mutex_lock(&av->mutex);
-       }
-       size = chunksize(victim);
-@@ -4829,7 +4833,7 @@ _int_free(mstate av, mchunkptr p)
-       if (have_lock || locked)
-       (void)mutex_unlock(&av->mutex);
- #endif
--      malloc_printerr (check_action, errstr, chunk2mem(p));
-+      malloc_printerr (check_action, errstr, chunk2mem(p), av);
- #ifdef ATOMIC_FASTBINS
-       if (have_lock)
-       mutex_lock(&av->mutex);
-@@ -5281,7 +5285,7 @@ _int_realloc(mstate av, mchunkptr oldp, INTERNAL_SIZE_T oldsize,
-       errstr = "realloc(): invalid old size";
-     errout:
-       mutex_unlock(&av->mutex);
--      malloc_printerr (check_action, errstr, chunk2mem(oldp));
-+      malloc_printerr (check_action, errstr, chunk2mem(oldp), av);
-       mutex_lock(&av->mutex);
-       return NULL;
-     }
-@@ -5881,6 +5885,10 @@ static int mTRIm(mstate av, size_t pad)
- static int mTRIm(av, pad) mstate av; size_t pad;
- #endif
- {
-+  /* Don't touch corrupt arenas.  */
-+  if (arena_is_corrupt (av))
-+    return 0;
-+
-   /* Ensure initialization/consolidation */
-   malloc_consolidate (av);
-@@ -6320,8 +6328,14 @@ int mALLOPt(param_number, value) int param_number; int value;
- extern char **__libc_argv attribute_hidden;
- static void
--malloc_printerr(int action, const char *str, void *ptr)
-+malloc_printerr(int action, const char *str, void *ptr, mstate ar_ptr)
- {
-+  /* Avoid using this arena in future.  We do not attempt to synchronize this
-+     with anything else because we minimally want to ensure that __libc_message
-+     gets its resources safely without stumbling on the current corruption.  */
-+  if (ar_ptr)
-+    set_arena_corrupt (ar_ptr);
-+
-   if ((action & 5) == 5)
-     __libc_message (action & 2, "%s\n", str);
-   else if (action & 1)
-diff --git a/malloc/tst-malloc-backtrace.c b/malloc/tst-malloc-backtrace.c
-new file mode 100644
-index 0000000..796a42f
---- /dev/null
-+++ b/malloc/tst-malloc-backtrace.c
-@@ -0,0 +1,50 @@
-+/* Verify that backtrace does not deadlock on itself on memory corruption.
-+   Copyright (C) 2015 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, see
-+   <http://www.gnu.org/licenses/>.  */
-+
-+
-+#include <stdlib.h>
-+
-+#define SIZE 4096
-+
-+/* Wrap free with a function to prevent gcc from optimizing it out.  */
-+static void
-+__attribute__((noinline))
-+call_free (void *ptr)
-+{
-+  free (ptr);
-+  *(size_t *)(ptr - sizeof (size_t)) = 1;
-+}
-+
-+int
-+do_test (void)
-+{
-+  void *ptr1 = malloc (SIZE);
-+  void *ptr2 = malloc (SIZE);
-+
-+  call_free ((void *) ptr1);
-+  ptr1 = malloc (SIZE);
-+
-+  /* Not reached.  The return statement is to put ptr2 into use so that gcc
-+     doesn't optimize out that malloc call.  */
-+  return (ptr1 == ptr2);
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#define EXPECTED_SIGNAL SIGABRT
-+
-+#include "../test-skeleton.c"
diff --git a/src/patches/glibc/glibc-rh1074342.patch b/src/patches/glibc/glibc-rh1074342.patch
deleted file mode 100644 (file)
index 121127e..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-commit c44496df2f090a56d3bf75df930592dac6bba46f
-Author: Siddhesh Poyarekar <siddhesh@redhat.com>
-Date:   Wed Mar 12 17:27:22 2014 +0530
-
-    Provide correct buffer length to netgroup queries in nscd (BZ #16695)
-    
-    The buffer to query netgroup entries is allocated sufficient space for
-    the netgroup entries and the key to be appended at the end, but it
-    sends in an incorrect available length to the NSS netgroup query
-    functions, resulting in overflow of the buffer in some special cases.
-    The fix here is to factor in the key length when sending the available
-    buffer and buffer length to the query functions.
-
-diff --git a/nscd/netgroupcache.c b/nscd/netgroupcache.c
-index 426d3c5..5ba1e1f 100644
---- a/nscd/netgroupcache.c
-+++ b/nscd/netgroupcache.c
-@@ -202,7 +202,7 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req,
-                 {
-                   int e;
-                   status = getfct.f (&data, buffer + buffilled,
--                                     buflen - buffilled, &e);
-+                                     buflen - buffilled - req->key_len, &e);
-                   if (status == NSS_STATUS_RETURN
-                       || status == NSS_STATUS_NOTFOUND)
-                     /* This was either the last one for this group or the
diff --git a/src/patches/glibc/glibc-rh1074353.patch b/src/patches/glibc/glibc-rh1074353.patch
deleted file mode 100644 (file)
index c8aa8b0..0000000
+++ /dev/null
@@ -1,398 +0,0 @@
-commit bc8f194c8c29e46e8ee4034f06e46988dfff38f7
-Author: Siddhesh Poyarekar <siddhesh@redhat.com>
-Date:   Wed Apr 30 12:00:39 2014 +0530
-
-    Initialize all of datahead structure in nscd (BZ #16791)
-    
-    The datahead structure has an unused padding field that remains
-    uninitialized.  Valgrind prints out a warning for it on querying a
-    netgroups entry.  This is harmless, but is a potential data leak since
-    it would result in writing out an uninitialized byte to the cache
-    file.  Besides, this happens only when there is a cache miss, so we're
-    not adding computation to any fast path.
-
-commit 1cdeb2372ddecac0dfe0c132a033e9590ffa07d2
-Author: Siddhesh Poyarekar <siddhesh@redhat.com>
-Date:   Wed Apr 30 11:57:09 2014 +0530
-
-    Consolidate code to initialize nscd dataset header
-    
-    This patch consolidates the code to initialize the header of a dataset
-    into a single set of functions (one for positive and another for
-    negative datasets) primarily to reduce repetition of code.  The
-    secondary reason is to simplify Patch 2/2 which fixes the problem of
-    an uninitialized byte in the header by initializing an unused field in
-    the structure and hence preventing a possible data leak into the cache
-    file.
-
-diff --git a/nscd/aicache.c b/nscd/aicache.c
-index 98d40a1..d7966bd 100644
---- a/nscd/aicache.c
-+++ b/nscd/aicache.c
-@@ -383,17 +383,12 @@ addhstaiX (struct database_dyn *db, int fd, request_header *req,
-         cp = family;
-       }
--      /* Fill in the rest of the dataset.  */
--      dataset->head.allocsize = total + req->key_len;
--      dataset->head.recsize = total - offsetof (struct dataset, resp);
--      dataset->head.notfound = false;
--      dataset->head.nreloads = he == NULL ? 0 : (dh->nreloads + 1);
--      dataset->head.usable = true;
--
--      /* Compute the timeout time.  */
--      dataset->head.ttl = ttl == INT32_MAX ? db->postimeout : ttl;
--      timeout = dataset->head.timeout = time (NULL) + dataset->head.ttl;
-+      timeout = datahead_init_pos (&dataset->head, total + req->key_len,
-+                                 total - offsetof (struct dataset, resp),
-+                                 he == NULL ? 0 : dh->nreloads + 1,
-+                                 ttl == INT32_MAX ? db->postimeout : ttl);
-+      /* Fill in the rest of the dataset.  */
-       dataset->resp.version = NSCD_VERSION;
-       dataset->resp.found = 1;
-       dataset->resp.naddrs = naddrs;
-@@ -528,15 +523,9 @@ next_nip:
-       else if ((dataset = mempool_alloc (db, (sizeof (struct dataset)
-                                             + req->key_len), 1)) != NULL)
-       {
--        dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
--        dataset->head.recsize = total;
--        dataset->head.notfound = true;
--        dataset->head.nreloads = 0;
--        dataset->head.usable = true;
--
--        /* Compute the timeout time.  */
--        timeout = dataset->head.timeout = time (NULL) + db->negtimeout;
--        dataset->head.ttl = db->negtimeout;
-+        timeout = datahead_init_neg (&dataset->head,
-+                                     sizeof (struct dataset) + req->key_len,
-+                                     total, db->negtimeout);
-         /* This is the reply.  */
-         memcpy (&dataset->resp, &notfound, total);
-diff --git a/nscd/grpcache.c b/nscd/grpcache.c
-index b5a33eb..df59fa7 100644
---- a/nscd/grpcache.c
-+++ b/nscd/grpcache.c
-@@ -128,14 +128,10 @@ cache_addgr (struct database_dyn *db, int fd, request_header *req,
-           }
-         else if ((dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len, 1)) != NULL)
-           {
--            dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
--            dataset->head.recsize = total;
--            dataset->head.notfound = true;
--            dataset->head.nreloads = 0;
--            dataset->head.usable = true;
--
--            /* Compute the timeout time.  */
--            timeout = dataset->head.timeout = t + db->negtimeout;
-+            timeout = datahead_init_neg (&dataset->head,
-+                                         (sizeof (struct dataset)
-+                                          + req->key_len), total,
-+                                         db->negtimeout);
-             /* This is the reply.  */
-             memcpy (&dataset->resp, &notfound, total);
-@@ -232,14 +228,10 @@ cache_addgr (struct database_dyn *db, int fd, request_header *req,
-         dataset_temporary = true; 
-       }
--      dataset->head.allocsize = total + n;
--      dataset->head.recsize = total - offsetof (struct dataset, resp);
--      dataset->head.notfound = false;
--      dataset->head.nreloads = he == NULL ? 0 : (dh->nreloads + 1);
--      dataset->head.usable = true;
--
--      /* Compute the timeout time.  */
--      timeout = dataset->head.timeout = t + db->postimeout;
-+      timeout = datahead_init_pos (&dataset->head, total + n,
-+                                 total - offsetof (struct dataset, resp),
-+                                 he == NULL ? 0 : dh->nreloads + 1,
-+                                 db->postimeout);
-       dataset->resp.version = NSCD_VERSION;
-       dataset->resp.found = 1;
-diff --git a/nscd/hstcache.c b/nscd/hstcache.c
-index a79b67a..d4f1ad2 100644
---- a/nscd/hstcache.c
-+++ b/nscd/hstcache.c
-@@ -152,15 +152,11 @@ cache_addhst (struct database_dyn *db, int fd, request_header *req,
-         else if ((dataset = mempool_alloc (db, (sizeof (struct dataset)
-                                                 + req->key_len), 1)) != NULL)
-           {
--            dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
--            dataset->head.recsize = total;
--            dataset->head.notfound = true;
--            dataset->head.nreloads = 0;
--            dataset->head.usable = true;
--
--            /* Compute the timeout time.  */
--            dataset->head.ttl = ttl == INT32_MAX ? db->negtimeout : ttl;
--            timeout = dataset->head.timeout = t + dataset->head.ttl;
-+            timeout = datahead_init_neg (&dataset->head,
-+                                         (sizeof (struct dataset)
-+                                          + req->key_len), total,
-+                                         (ttl == INT32_MAX
-+                                          ? db->negtimeout : ttl));
-             /* This is the reply.  */
-             memcpy (&dataset->resp, resp, total);
-@@ -257,15 +253,10 @@ cache_addhst (struct database_dyn *db, int fd, request_header *req,
-         alloca_used = true;
-       }
--      dataset->head.allocsize = total + req->key_len;
--      dataset->head.recsize = total - offsetof (struct dataset, resp);
--      dataset->head.notfound = false;
--      dataset->head.nreloads = he == NULL ? 0 : (dh->nreloads + 1);
--      dataset->head.usable = true;
--
--      /* Compute the timeout time.  */
--      dataset->head.ttl = ttl == INT32_MAX ? db->postimeout : ttl;
--      timeout = dataset->head.timeout = t + dataset->head.ttl;
-+      timeout = datahead_init_pos (&dataset->head, total + req->key_len,
-+                                 total - offsetof (struct dataset, resp),
-+                                 he == NULL ? 0 : dh->nreloads + 1,
-+                                 ttl == INT32_MAX ? db->postimeout : ttl);
-       dataset->resp.version = NSCD_VERSION;
-       dataset->resp.found = 1;
-diff --git a/nscd/initgrcache.c b/nscd/initgrcache.c
-index 1bf9f0d..361319f 100644
---- a/nscd/initgrcache.c
-+++ b/nscd/initgrcache.c
-@@ -213,14 +213,10 @@ addinitgroupsX (struct database_dyn *db, int fd, request_header *req,
-         else if ((dataset = mempool_alloc (db, (sizeof (struct dataset)
-                                                 + req->key_len), 1)) != NULL)
-           {
--            dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
--            dataset->head.recsize = total;
--            dataset->head.notfound = true;
--            dataset->head.nreloads = 0;
--            dataset->head.usable = true;
--
--            /* Compute the timeout time.  */
--            timeout = dataset->head.timeout = time (NULL) + db->negtimeout;
-+            timeout = datahead_init_neg (&dataset->head,
-+                                         (sizeof (struct dataset)
-+                                          + req->key_len), total,
-+                                         db->negtimeout);
-             /* This is the reply.  */
-             memcpy (&dataset->resp, &notfound, total);
-@@ -276,14 +272,10 @@ addinitgroupsX (struct database_dyn *db, int fd, request_header *req,
-         alloca_used = true;
-       }
--      dataset->head.allocsize = total + req->key_len;
--      dataset->head.recsize = total - offsetof (struct dataset, resp);
--      dataset->head.notfound = false;
--      dataset->head.nreloads = he == NULL ? 0 : (dh->nreloads + 1);
--      dataset->head.usable = true;
--
--      /* Compute the timeout time.  */
--      timeout = dataset->head.timeout = time (NULL) + db->postimeout;
-+      timeout = datahead_init_pos (&dataset->head, total + req->key_len,
-+                                 total - offsetof (struct dataset, resp),
-+                                 he == NULL ? 0 : dh->nreloads + 1,
-+                                 db->postimeout);
-       dataset->resp.version = NSCD_VERSION;
-       dataset->resp.found = 1;
-diff --git a/nscd/netgroupcache.c b/nscd/netgroupcache.c
-index 820d823..b3d40e9 100644
---- a/nscd/netgroupcache.c
-+++ b/nscd/netgroupcache.c
-@@ -90,15 +90,9 @@ do_notfound (struct database_dyn *db, int fd, request_header *req,
-   /* If we cannot permanently store the result, so be it.  */
-   if (dataset != NULL)
-     {
--      dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
--      dataset->head.recsize = total;
--      dataset->head.notfound = true;
--      dataset->head.nreloads = 0;
--      dataset->head.usable = true;
--
--      /* Compute the timeout time.  */
--      timeout = dataset->head.timeout = time (NULL) + db->negtimeout;
--      dataset->head.ttl = db->negtimeout;
-+      timeout = datahead_init_neg (&dataset->head,
-+                                 sizeof (struct dataset) + req->key_len,
-+                                 total, db->negtimeout);
-       /* This is the reply.  */
-       memcpy (&dataset->resp, &notfound, total);
-@@ -359,13 +353,10 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req,
-   /* Fill in the dataset.  */
-   dataset = (struct dataset *) buffer;
--  dataset->head.allocsize = total + req->key_len;
--  dataset->head.recsize = total - offsetof (struct dataset, resp);
--  dataset->head.notfound = false;
--  dataset->head.nreloads = he == NULL ? 0 : (dh->nreloads + 1);
--  dataset->head.usable = true;
--  dataset->head.ttl = db->postimeout;
--  timeout = dataset->head.timeout = time (NULL) + dataset->head.ttl;
-+  timeout = datahead_init_pos (&dataset->head, total + req->key_len,
-+                             total - offsetof (struct dataset, resp),
-+                             he == NULL ? 0 : dh->nreloads + 1,
-+                             db->postimeout);
-   dataset->resp.version = NSCD_VERSION;
-   dataset->resp.found = 1;
-@@ -541,12 +532,12 @@ addinnetgrX (struct database_dyn *db, int fd, request_header *req,
-       dataset = &dataset_mem;
-     }
--  dataset->head.allocsize = sizeof (*dataset) + req->key_len;
--  dataset->head.recsize = sizeof (innetgroup_response_header);
-+  datahead_init_pos (&dataset->head, sizeof (*dataset) + req->key_len,
-+                   sizeof (innetgroup_response_header),
-+                   he == NULL ? 0 : dh->nreloads + 1, result->head.ttl);
-+  /* Set the notfound status and timeout based on the result from
-+     getnetgrent.  */
-   dataset->head.notfound = result->head.notfound;
--  dataset->head.nreloads = he == NULL ? 0 : (dh->nreloads + 1);
--  dataset->head.usable = true;
--  dataset->head.ttl = result->head.ttl;
-   dataset->head.timeout = timeout;
-   dataset->resp.version = NSCD_VERSION;
-diff --git a/nscd/nscd-client.h b/nscd/nscd-client.h
-index 98f77e7..ee16df6 100644
---- a/nscd/nscd-client.h
-+++ b/nscd/nscd-client.h
-@@ -236,6 +236,48 @@ struct datahead
-   } data[0];
- };
-+static inline time_t
-+datahead_init_common (struct datahead *head, nscd_ssize_t allocsize,
-+                    nscd_ssize_t recsize, uint32_t ttl)
-+{
-+  /* Initialize so that we don't write out junk in uninitialized data to the
-+     cache.  */
-+  memset (head, 0, sizeof (*head));
-+
-+  head->allocsize = allocsize;
-+  head->recsize = recsize;
-+  head->usable = true;
-+
-+  head->ttl = ttl;
-+
-+  /* Compute and return the timeout time.  */
-+  return head->timeout = time (NULL) + ttl;
-+}
-+
-+static inline time_t
-+datahead_init_pos (struct datahead *head, nscd_ssize_t allocsize,
-+                 nscd_ssize_t recsize, uint8_t nreloads, uint32_t ttl)
-+{
-+  time_t ret = datahead_init_common (head, allocsize, recsize, ttl);
-+
-+  head->notfound = false;
-+  head->nreloads = nreloads;
-+
-+  return ret;
-+}
-+
-+static inline time_t
-+datahead_init_neg (struct datahead *head, nscd_ssize_t allocsize,
-+                 nscd_ssize_t recsize, uint32_t ttl)
-+{
-+  time_t ret = datahead_init_common (head, allocsize, recsize, ttl);
-+
-+  /* We don't need to touch nreloads here since it is set to our desired value
-+     (0) when we clear the structure.  */
-+  head->notfound = true;
-+
-+  return ret;
-+}
- /* Structure for one hash table entry.  */
- struct hashentry
-diff --git a/nscd/pwdcache.c b/nscd/pwdcache.c
-index fa355c3..41c245b 100644
---- a/nscd/pwdcache.c
-+++ b/nscd/pwdcache.c
-@@ -135,14 +135,10 @@ cache_addpw (struct database_dyn *db, int fd, request_header *req,
-         else if ((dataset = mempool_alloc (db, (sizeof (struct dataset)
-                                                 + req->key_len), 1)) != NULL)
-           {
--            dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
--            dataset->head.recsize = total;
--            dataset->head.notfound = true;
--            dataset->head.nreloads = 0;
--            dataset->head.usable = true;
--
--            /* Compute the timeout time.  */
--            timeout = dataset->head.timeout = t + db->negtimeout;
-+            timeout = datahead_init_neg (&dataset->head,
-+                                         (sizeof (struct dataset)
-+                                          + req->key_len), total,
-+                                         db->negtimeout);
-             /* This is the reply.  */
-             memcpy (&dataset->resp, &notfound, total);
-@@ -215,14 +211,10 @@ cache_addpw (struct database_dyn *db, int fd, request_header *req,
-         alloca_used = true;
-       }
--      dataset->head.allocsize = total + n;
--      dataset->head.recsize = total - offsetof (struct dataset, resp);
--      dataset->head.notfound = false;
--      dataset->head.nreloads = he == NULL ? 0 : (dh->nreloads + 1);
--      dataset->head.usable = true;
--
--      /* Compute the timeout time.  */
--      timeout = dataset->head.timeout = t + db->postimeout;
-+      timeout = datahead_init_pos (&dataset->head, total + n,
-+                                 total - offsetof (struct dataset, resp),
-+                                 he == NULL ? 0 : dh->nreloads + 1,
-+                                 db->postimeout);
-       dataset->resp.version = NSCD_VERSION;
-       dataset->resp.found = 1;
-diff --git a/nscd/servicescache.c b/nscd/servicescache.c
-index 12ce9b2..95bdcfe 100644
---- a/nscd/servicescache.c
-+++ b/nscd/servicescache.c
-@@ -120,14 +120,10 @@ cache_addserv (struct database_dyn *db, int fd, request_header *req,
-         else if ((dataset = mempool_alloc (db, (sizeof (struct dataset)
-                                                 + req->key_len), 1)) != NULL)
-           {
--            dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
--            dataset->head.recsize = total;
--            dataset->head.notfound = true;
--            dataset->head.nreloads = 0;
--            dataset->head.usable = true;
--
--            /* Compute the timeout time.  */
--            timeout = dataset->head.timeout = t + db->negtimeout;
-+            timeout = datahead_init_neg (&dataset->head,
-+                                         (sizeof (struct dataset)
-+                                          + req->key_len), total,
-+                                         db->negtimeout);
-             /* This is the reply.  */
-             memcpy (&dataset->resp, &notfound, total);
-@@ -207,14 +203,10 @@ cache_addserv (struct database_dyn *db, int fd, request_header *req,
-         alloca_used = true;
-       }
--      dataset->head.allocsize = total + req->key_len;
--      dataset->head.recsize = total - offsetof (struct dataset, resp);
--      dataset->head.notfound = false;
--      dataset->head.nreloads = he == NULL ? 0 : (dh->nreloads + 1);
--      dataset->head.usable = true;
--
--      /* Compute the timeout time.  */
--      timeout = dataset->head.timeout = t + db->postimeout;
-+      timeout = datahead_init_pos (&dataset->head, total + req->key_len,
-+                                 total - offsetof (struct dataset, resp),
-+                                 he == NULL ? 0 : dh->nreloads + 1,
-+                                 db->postimeout);
-       dataset->resp.version = NSCD_VERSION;
-       dataset->resp.found = 1;
diff --git a/src/patches/glibc/glibc-rh1082379.patch b/src/patches/glibc/glibc-rh1082379.patch
deleted file mode 100644 (file)
index 60a0ece..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-commit ea7d8b95e2fcb81f68b04ed7787a3dbda023991a
-Author: Siddhesh Poyarekar <siddhesh@redhat.com>
-Date:   Thu Mar 27 19:48:15 2014 +0530
-
-    Avoid overlapping addresses to stpcpy calls in nscd (BZ #16760)
-    
-    Calls to stpcpy from nscd netgroups code will have overlapping source
-    and destination when all three values in the returned triplet are
-    non-NULL and in the expected (host,user,domain) order.  This is seen
-    in valgrind as:
-    
-    ==3181== Source and destination overlap in stpcpy(0x19973b48, 0x19973b48)
-    ==3181==    at 0x4C2F30A: stpcpy (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
-    ==3181==    by 0x12567A: addgetnetgrentX (string3.h:111)
-    ==3181==    by 0x12722D: addgetnetgrent (netgroupcache.c:665)
-    ==3181==    by 0x11114C: nscd_run_worker (connections.c:1338)
-    ==3181==    by 0x4E3C102: start_thread (pthread_create.c:309)
-    ==3181==    by 0x59B81AC: clone (clone.S:111)
-    ==3181==
-    
-    Fix this by using memmove instead of stpcpy.
-
-diff --git a/nscd/netgroupcache.c b/nscd/netgroupcache.c
-index 5d15aa4..820d823 100644
---- a/nscd/netgroupcache.c
-+++ b/nscd/netgroupcache.c
-@@ -216,6 +216,10 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req,
-                           const char *nuser = data.val.triple.user;
-                           const char *ndomain = data.val.triple.domain;
-+                          size_t hostlen = strlen (nhost ?: "") + 1;
-+                          size_t userlen = strlen (nuser ?: "") + 1;
-+                          size_t domainlen = strlen (ndomain ?: "") + 1;
-+
-                           if (nhost == NULL || nuser == NULL || ndomain == NULL
-                               || nhost > nuser || nuser > ndomain)
-                             {
-@@ -233,9 +237,6 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req,
-                                    : last + strlen (last) + 1 - buffer);
-                               /* We have to make temporary copies.  */
--                              size_t hostlen = strlen (nhost ?: "") + 1;
--                              size_t userlen = strlen (nuser ?: "") + 1;
--                              size_t domainlen = strlen (ndomain ?: "") + 1;
-                               size_t needed = hostlen + userlen + domainlen;
-                               if (buflen - req->key_len - bufused < needed)
-@@ -269,9 +270,12 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req,
-                             }
-                           char *wp = buffer + buffilled;
--                          wp = stpcpy (wp, nhost) + 1;
--                          wp = stpcpy (wp, nuser) + 1;
--                          wp = stpcpy (wp, ndomain) + 1;
-+                          wp = memmove (wp, nhost ?: "", hostlen);
-+                          wp += hostlen;
-+                          wp = memmove (wp, nuser ?: "", userlen);
-+                          wp += userlen;
-+                          wp = memmove (wp, ndomain ?: "", domainlen);
-+                          wp += domainlen;
-                           buffilled = wp - buffer;
-                           ++nentries;
-                         }
diff --git a/src/patches/glibc/glibc-rh1085273.patch b/src/patches/glibc/glibc-rh1085273.patch
deleted file mode 100644 (file)
index ee0f289..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-commit d41242129ba693cdbc8db85b846fcaccf9f0b7c4
-Author: Siddhesh Poyarekar <siddhesh@redhat.com>
-Date:   Thu Jan 2 10:03:12 2014 +0530
-
-    Fix infinite loop in nscd when netgroup is empty (bz #16365)
-    
-    Currently, when a user looks up a netgroup that does not have any
-    members, nscd goes into an infinite loop trying to find members in the
-    group.  This is because it does not handle cases when getnetgrent
-    returns an NSS_STATUS_NOTFOUND (which is what it does on empty group).
-    Fixed to handle this in the same way as NSS_STATUS_RETURN, similar to
-    what getgrent does by itself.
-
-diff --git a/nscd/netgroupcache.c b/nscd/netgroupcache.c
-index baebdd7..50936ee 100644
---- a/nscd/netgroupcache.c
-+++ b/nscd/netgroupcache.c
-@@ -180,9 +180,10 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req,
-                   int e;
-                   status = getfct.f (&data, buffer + buffilled,
-                                      buflen - buffilled, &e);
--                  if (status == NSS_STATUS_RETURN)
--                    /* This was the last one for this group.  Look
--                       at next group if available.  */
-+                  if (status == NSS_STATUS_RETURN
-+                      || status == NSS_STATUS_NOTFOUND)
-+                    /* This was either the last one for this group or the
-+                       group was empty.  Look at next group if available.  */
-                     break;
-                   if (status == NSS_STATUS_SUCCESS)
-                     {
diff --git a/src/patches/glibc/glibc-rh1085289.patch b/src/patches/glibc/glibc-rh1085289.patch
deleted file mode 100644 (file)
index 9bd284e..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-commit dd3022d75e6fb8957843d6d84257a5d8457822d5
-Author: Siddhesh Poyarekar <siddhesh@redhat.com>
-Date:   Thu Mar 27 19:49:51 2014 +0530
-
-    Return NULL for wildcard values in getnetgrent from nscd (BZ #16759)
-    
-    getnetgrent is supposed to return NULL for values that are wildcards
-    in the (host, user, domain) triplet.  This works correctly with nscd
-    disabled, but with it enabled, it returns a blank ("") instead of a
-    NULL.  This is easily seen with the output of `getent netgroup foonet`
-    for a netgroup foonet defined as follows in /etc/netgroup:
-    
-        foonet (,foo,)
-    
-    The output with nscd disabled is:
-    
-        foonet ( ,foo,)
-    
-    while with nscd enabled, it is:
-    
-        foonet (,foo,)
-    
-    The extra space with nscd disabled is due to the fact that `getent
-    netgroup` adds it if the return value from getnetgrent is NULL for
-    either host or user.
-
-diff --git a/inet/getnetgrent_r.c b/inet/getnetgrent_r.c
-index 62cdfda..f6d064d 100644
---- a/inet/getnetgrent_r.c
-+++ b/inet/getnetgrent_r.c
-@@ -235,6 +235,14 @@ endnetgrent (void)
- libc_hidden_proto (internal_getnetgrent_r)
-+static const char *
-+get_nonempty_val (const char *in)
-+{
-+  if (*in == '\0')
-+    return NULL;
-+  return in;
-+}
-+
- static enum nss_status
- nscd_getnetgrent (struct __netgrent *datap, char *buffer, size_t buflen,
-                 int *errnop)
-@@ -243,11 +251,11 @@ nscd_getnetgrent (struct __netgrent *datap, char *buffer, size_t buflen,
-     return NSS_STATUS_UNAVAIL;
-   datap->type = triple_val;
--  datap->val.triple.host = datap->cursor;
-+  datap->val.triple.host = get_nonempty_val (datap->cursor);
-   datap->cursor = (char *) __rawmemchr (datap->cursor, '\0') + 1;
--  datap->val.triple.user = datap->cursor;
-+  datap->val.triple.user = get_nonempty_val (datap->cursor);
-   datap->cursor = (char *) __rawmemchr (datap->cursor, '\0') + 1;
--  datap->val.triple.domain = datap->cursor;
-+  datap->val.triple.domain = get_nonempty_val (datap->cursor);
-   datap->cursor = (char *) __rawmemchr (datap->cursor, '\0') + 1;
-   return NSS_STATUS_SUCCESS;
diff --git a/src/patches/glibc/glibc-rh1085312.patch b/src/patches/glibc/glibc-rh1085312.patch
deleted file mode 100644 (file)
index bafb303..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-commit 58b930ae216bfa98cd60212b954b07b9963d6d04
-Author: Siddhesh Poyarekar <siddhesh@redhat.com>
-Date:   Wed Sep 10 21:51:50 2014 +0530
-
-    Return failure in getnetgrent only when all netgroups have been searched (#17363)
-    
-    The netgroups lookup code fails when one of the groups in the search
-    tree is empty.  In such a case it only returns the leaves of the tree
-    after the blank netgroup.  This is because the line parser returns a
-    NOTFOUND status when the netgroup exists but is empty.  The
-    __getnetgrent_internal implementation needs to be fixed to try
-    remaining groups if the current group is entry.  This patch implements
-    this fix.  Tested on x86_64.
-    
-       [BZ #17363]
-       * inet/getnetgrent_r.c (__internal_getnetgrent_r): Try next
-       group if the current group is empty.
-
-diff --git a/inet/getnetgrent_r.c b/inet/getnetgrent_r.c
-index f6d064d..e101537 100644
---- a/inet/getnetgrent_r.c
-+++ b/inet/getnetgrent_r.c
-@@ -297,7 +297,10 @@ __internal_getnetgrent_r (char **hostp, char **userp, char **domainp,
-     {
-       status = (*fct) (datap, buffer, buflen, &errno);
--      if (status == NSS_STATUS_RETURN)
-+      if (status == NSS_STATUS_RETURN
-+        /* The service returned a NOTFOUND, but there are more groups that we
-+           need to resolve before we give up.  */
-+        || (status == NSS_STATUS_NOTFOUND && datap->needed_groups != NULL))
-       {
-         /* This was the last one for this group.  Look at next group
-            if available.  */
diff --git a/src/patches/glibc/glibc-rh1087833.patch b/src/patches/glibc/glibc-rh1087833.patch
deleted file mode 100644 (file)
index ca8f1f0..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-commit c3ec475c5dd16499aa040908e11d382c3ded9692
-Author: Siddhesh Poyarekar <siddhesh@redhat.com>
-Date:   Mon May 26 11:40:08 2014 +0530
-
-    Use NSS_STATUS_TRYAGAIN to indicate insufficient buffer (BZ #16878)
-    
-    The netgroups nss modules in the glibc tree use NSS_STATUS_UNAVAIL
-    (with errno as ERANGE) when the supplied buffer does not have
-    sufficient space for the result.  This is wrong, because the canonical
-    way to indicate insufficient buffer is to set the errno to ERANGE and
-    the status to NSS_STATUS_TRYAGAIN, as is used by all other modules.
-    
-    This fixes nscd behaviour when the nss_ldap module returns
-    NSS_STATUS_TRYAGAIN to indicate that a netgroup entry is too long to
-    fit into the supplied buffer.
-
-diff --git a/nscd/netgroupcache.c b/nscd/netgroupcache.c
-index b3d40e9..edab174 100644
---- a/nscd/netgroupcache.c
-+++ b/nscd/netgroupcache.c
-@@ -197,11 +197,6 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req,
-                   int e;
-                   status = getfct.f (&data, buffer + buffilled,
-                                      buflen - buffilled - req->key_len, &e);
--                  if (status == NSS_STATUS_RETURN
--                      || status == NSS_STATUS_NOTFOUND)
--                    /* This was either the last one for this group or the
--                       group was empty.  Look at next group if available.  */
--                    break;
-                   if (status == NSS_STATUS_SUCCESS)
-                     {
-                       if (data.type == triple_val)
-@@ -320,11 +315,18 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req,
-                             }
-                         }
-                     }
--                  else if (status == NSS_STATUS_UNAVAIL && e == ERANGE)
-+                  else if (status == NSS_STATUS_TRYAGAIN && e == ERANGE)
-                     {
-                       buflen *= 2;
-                       buffer = xrealloc (buffer, buflen);
-                     }
-+                  else if (status == NSS_STATUS_RETURN
-+                           || status == NSS_STATUS_NOTFOUND
-+                           || status == NSS_STATUS_UNAVAIL)
-+                    /* This was either the last one for this group or the
-+                       group was empty or the NSS module had an internal
-+                       failure.  Look at next group if available.  */
-+                    break;
-                 }
-             enum nss_status (*endfct) (struct __netgrent *);
-diff --git a/nss/nss_files/files-netgrp.c b/nss/nss_files/files-netgrp.c
-index 34eae4c..bc0b367 100644
---- a/nss/nss_files/files-netgrp.c
-+++ b/nss/nss_files/files-netgrp.c
-@@ -252,7 +252,7 @@ _nss_netgroup_parseline (char **cursor, struct __netgrent *result,
-   if (cp - host > buflen)
-     {
-       *errnop = ERANGE;
--      status = NSS_STATUS_UNAVAIL;
-+      status = NSS_STATUS_TRYAGAIN;
-     }
-   else
-     {
diff --git a/src/patches/glibc/glibc-rh1088301.patch b/src/patches/glibc/glibc-rh1088301.patch
deleted file mode 100644 (file)
index d26eb14..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-diff --git a/resolv/arpa/nameser.h b/resolv/arpa/nameser.h
-index fb8513b..372d5cd 100644
---- a/resolv/arpa/nameser.h
-+++ b/resolv/arpa/nameser.h
-@@ -293,6 +293,9 @@ typedef enum __ns_type {
-       ns_t_sink = 40,         /*%< Kitchen sink (experimentatl) */
-       ns_t_opt = 41,          /*%< EDNS0 option (meta-RR) */
-       ns_t_apl = 42,          /*%< Address prefix list (RFC3123) */
-+      ns_t_rrsig = 46,        /*%< DNSSEC RRset Signature (RFC4034) */
-+      ns_t_nsec = 47,         /*%< DNSSEC Next-Secure Record (RFC4034)*/
-+      ns_t_dnskey = 48,       /*%< DNSSEC key record (RFC4034) */
-       ns_t_tkey = 249,        /*%< Transaction key */
-       ns_t_tsig = 250,        /*%< Transaction signature. */
-       ns_t_ixfr = 251,        /*%< Incremental zone transfer. */
-diff --git a/resolv/arpa/nameser_compat.h b/resolv/arpa/nameser_compat.h
-index d59c9e4..284bff7 100644
---- a/resolv/arpa/nameser_compat.h
-+++ b/resolv/arpa/nameser_compat.h
-@@ -164,6 +164,9 @@ typedef struct {
- #define T_NAPTR               ns_t_naptr
- #define T_A6          ns_t_a6
- #define T_DNAME               ns_t_dname
-+#define T_RRSIG               ns_t_rrsig
-+#define T_NSEC                ns_t_nsec
-+#define T_DNSKEY      ns_t_dnskey
- #define       T_TSIG          ns_t_tsig
- #define       T_IXFR          ns_t_ixfr
- #define T_AXFR                ns_t_axfr
-diff --git a/resolv/gethnamaddr.c b/resolv/gethnamaddr.c
-index a861a84..ae55fac 100644
---- a/resolv/gethnamaddr.c
-+++ b/resolv/gethnamaddr.c
-@@ -331,23 +331,36 @@ getanswer (const querybuf *answer, int anslen, const char *qname, int qtype)
-                       buflen -= n;
-                       continue;
-               }
--              if ((type == T_SIG) || (type == T_KEY) || (type == T_NXT)) {
--                      /* We don't support DNSSEC yet.  For now, ignore
--                       * the record and send a low priority message
--                       * to syslog.
--                       */
--                      syslog(LOG_DEBUG|LOG_AUTH,
-+              if ((type == T_SIG) || (type == T_KEY) || (type == T_NXT)
-+                  || (type == T_RRSIG) || (type == T_NSEC)
-+                  || (type == T_DNSKEY)) {
-+                      /* We don't support DNSSEC responses yet, but we do
-+                       * allow setting the DO bit.  If the DNS server sent us
-+                       * these records without us asking for it, ignore the
-+                       * record and send a low priority message to syslog.
-+                       */
-+                      if ((_res.options & RES_USE_DNSSEC) == 0) {
-+                              syslog(LOG_DEBUG|LOG_AUTH,
-              "gethostby*.getanswer: asked for \"%s %s %s\", got type \"%s\"",
--                             qname, p_class(C_IN), p_type(qtype),
--                             p_type(type));
-+                                      qname, p_class(C_IN), p_type(qtype),
-+                                      p_type(type));
-+                      }
-                       cp += n;
-                       continue;
-               }
-               if (type != qtype) {
--                      syslog(LOG_NOTICE|LOG_AUTH,
-+                      /* Skip logging if we received a DNAME when we have set
-+                       * the DO bit.  DNAME records are a convenient way to
-+                       * set up DNSSEC records and such setups can make this
-+                       * log message needlessly noisy.
-+                       */
-+                      if (!((_res.options & RES_USE_DNSSEC)
-+                            && type == T_DNAME)) {
-+                              syslog(LOG_NOTICE|LOG_AUTH,
-              "gethostby*.getanswer: asked for \"%s %s %s\", got type \"%s\"",
--                             qname, p_class(C_IN), p_type(qtype),
--                             p_type(type));
-+                                      qname, p_class(C_IN), p_type(qtype),
-+                                      p_type(type));
-+                      }
-                       cp += n;
-                       continue;               /* XXX - had_error++ ? */
-               }
-diff --git a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c
-index f715ab0..510d388 100644
---- a/resolv/nss_dns/dns-host.c
-+++ b/resolv/nss_dns/dns-host.c
-@@ -822,13 +822,20 @@ getanswer_r (const querybuf *answer, int anslen, const char *qname, int qtype,
-       }
-       if (__builtin_expect (type == T_SIG, 0)
-         || __builtin_expect (type == T_KEY, 0)
--        || __builtin_expect (type == T_NXT, 0))
-+        || __builtin_expect (type == T_NXT, 0)
-+        || __builtin_expect (type == T_RRSIG, 0)
-+        || __builtin_expect (type == T_NSEC, 0)
-+        || __builtin_expect (type == T_DNSKEY, 0))
-       {
--        /* We don't support DNSSEC yet.  For now, ignore the record
--           and send a low priority message to syslog.  */
--        syslog (LOG_DEBUG | LOG_AUTH,
--             "gethostby*.getanswer: asked for \"%s %s %s\", got type \"%s\"",
--                qname, p_class (C_IN), p_type(qtype), p_type (type));
-+        /* We don't support DNSSEC responses yet, but we do allow setting the
-+           DO bit.  If the DNS server sent us these records without us asking
-+           for it, ignore the record and send a low priority message to
-+           syslog.  */
-+        if ((_res.options & RES_USE_DNSSEC) == 0)
-+          syslog (LOG_DEBUG | LOG_AUTH,
-+                  "gethostby*.getanswer: asked for \"%s %s %s\", "
-+                  "got type \"%s\"",
-+                  qname, p_class (C_IN), p_type(qtype), p_type (type));
-         cp += n;
-         continue;
-       }
-@@ -837,9 +844,14 @@ getanswer_r (const querybuf *answer, int anslen, const char *qname, int qtype,
-       have_to_map = 1;
-       else if (__builtin_expect (type != qtype, 0))
-       {
--        syslog (LOG_NOTICE | LOG_AUTH,
--             "gethostby*.getanswer: asked for \"%s %s %s\", got type \"%s\"",
--                qname, p_class (C_IN), p_type (qtype), p_type (type));
-+        /* Skip logging if we received a DNAME when we have set the DO bit.
-+           DNAME records are a convenient way to set up DNSSEC records and
-+           such setups can make this log message needlessly noisy.  */
-+        if (!((_res.options & RES_USE_DNSSEC) && type == T_DNAME))
-+          syslog (LOG_NOTICE | LOG_AUTH,
-+                  "gethostby*.getanswer: asked for \"%s %s %s\", "
-+                  "got type \"%s\"",
-+                  qname, p_class (C_IN), p_type (qtype), p_type (type));
-         cp += n;
-         continue;                     /* XXX - had_error++ ? */
-       }
-diff --git a/resolv/res_debug.c b/resolv/res_debug.c
-index 7843439..4a49629 100644
---- a/resolv/res_debug.c
-+++ b/resolv/res_debug.c
-@@ -450,6 +450,8 @@ const struct res_sym __p_type_syms[] = {
-       {ns_t_kx,       "KX",           "Key Exchange"},
-       {ns_t_cert,     "CERT",         "Certificate"},
-       {ns_t_any,      "ANY",          "\"any\""},
-+      /* TODO Add RRSIG, NSEC and DNSKEY once we actually do something with
-+         them.  */
-       {0,             NULL,           NULL}
- };
- libresolv_hidden_data_def (__p_type_syms)
diff --git a/src/patches/glibc/glibc-rh1091915.patch b/src/patches/glibc/glibc-rh1091915.patch
deleted file mode 100644 (file)
index d1af874..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-commit 3cb26316b45b23dc5cfecbafdc489b28c3a52029
-Author: Siddhesh Poyarekar <siddhesh@redhat.com>
-Date:   Thu Jan 29 10:30:09 2015 +0530
-
-    Initialize nscd stats data [BZ #17892]
-    
-    The padding bytes in the statsdata struct are not initialized, due to
-    which valgrind throws a warning:
-    
-    ==11384== Memcheck, a memory error detector
-    ==11384== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
-    ==11384== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info
-    ==11384== Command: nscd -d
-    ==11384==
-    Fri 25 Apr 2014 10:34:53 AM CEST - 11384: handle_request: request received (Version = 2) from PID 11396
-    Fri 25 Apr 2014 10:34:53 AM CEST - 11384:       GETSTAT
-    ==11384== Thread 6:
-    ==11384== Syscall param socketcall.sendto(msg) points to uninitialised byte(s)
-    ==11384==    at 0x4E4ACDC: send (in /lib64/libpthread-2.12.so)
-    ==11384==    by 0x11AF6B: send_stats (in /usr/sbin/nscd)
-    ==11384==    by 0x112F75: nscd_run_worker (in /usr/sbin/nscd)
-    ==11384==    by 0x4E439D0: start_thread (in /lib64/libpthread-2.12.so)
-    ==11384==    by 0x599AB6C: clone (in /lib64/libc-2.12.so)
-    ==11384==  Address 0x15708395 is on thread 6's stack
-    
-    Fix the warning by initializing the structure.
-
-diff --git a/nscd/nscd_stat.c b/nscd/nscd_stat.c
-index 0f1f3c0..7aaa21b 100644
---- a/nscd/nscd_stat.c
-+++ b/nscd/nscd_stat.c
-@@ -94,6 +94,8 @@ send_stats (int fd, struct database_dyn dbs[lastdb])
-   struct statdata data;
-   int cnt;
-+  memset (&data, 0, sizeof (data));
-+
-   memcpy (data.version, compilation, sizeof (compilation));
-   data.debug_level = debug_level;
-   data.runtime = time (NULL) - start_time;
diff --git a/src/patches/glibc/glibc-rh1099025-2.patch b/src/patches/glibc/glibc-rh1099025-2.patch
deleted file mode 100644 (file)
index 58fe121..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-commit d6c33fda03457ca8ca87a562fa2681af16ca4ea5
-Author: Roland McGrath <roland@hack.frob.com>
-Date:   Thu May 24 11:37:30 2012 -0700
-
-    Switch gettimeofday from INTUSE to libc_hidden_proto.
-
-diff --git a/include/sys/time.h b/include/sys/time.h
-index d5de942..599e189 100644
---- a/include/sys/time.h
-+++ b/include/sys/time.h
-@@ -4,9 +4,8 @@
- /* Now document the internal interfaces.  */
- extern int __gettimeofday (struct timeval *__tv,
-                          struct timezone *__tz);
--extern int __gettimeofday_internal (struct timeval *__tv,
--                                  struct timezone *__tz)
--      attribute_hidden;
-+libc_hidden_proto (__gettimeofday)
-+libc_hidden_proto (gettimeofday)
- extern int __settimeofday (__const struct timeval *__tv,
-                          __const struct timezone *__tz)
-       attribute_hidden;
-@@ -22,8 +21,4 @@ extern int __utimes (const char *__file, const struct timeval __tvp[2])
-       attribute_hidden;
- extern int __futimes (int fd, __const struct timeval tvp[2]) attribute_hidden;
--#ifndef NOT_IN_libc
--# define __gettimeofday(tv, tz) INTUSE(__gettimeofday) (tv, tz)
--#endif
--
- #endif
-diff --git a/sysdeps/mach/gettimeofday.c b/sysdeps/mach/gettimeofday.c
-index 88dca8e..293a775 100644
---- a/sysdeps/mach/gettimeofday.c
-+++ b/sysdeps/mach/gettimeofday.c
-@@ -20,8 +20,6 @@
- #include <sys/time.h>
- #include <mach.h>
--#undef __gettimeofday
--
- /* Get the current time of day and timezone information,
-    putting it into *TV and *TZ.  If TZ is NULL, *TZ is not filled.
-    Returns 0 on success, -1 on errors.  */
-@@ -42,6 +40,6 @@ __gettimeofday (tv, tz)
-     }
-   return 0;
- }
--
--INTDEF(__gettimeofday)
-+libc_hidden_def (__gettimeofday)
- weak_alias (__gettimeofday, gettimeofday)
-+libc_hidden_weak (gettimeofday)
-diff --git a/sysdeps/posix/gettimeofday.c b/sysdeps/posix/gettimeofday.c
-index 31b3dd3..1108ff0 100644
---- a/sysdeps/posix/gettimeofday.c
-+++ b/sysdeps/posix/gettimeofday.c
-@@ -19,8 +19,6 @@
- #include <time.h>
- #include <sys/time.h>
--#undef __gettimeofday
--
- /* Get the current time of day and timezone information,
-    putting it into *TV and *TZ.  If TZ is NULL, *TZ is not filled.
-    Returns 0 on success, -1 on errors.  */
-@@ -66,6 +64,6 @@ __gettimeofday (tv, tz)
-   return 0;
- }
--
--INTDEF(__gettimeofday)
-+libc_hidden_def (__gettimeofday)
- weak_alias (__gettimeofday, gettimeofday)
-+libc_hidden_weak (gettimeofday)
-diff --git a/sysdeps/unix/syscalls.list b/sysdeps/unix/syscalls.list
-index 39c40ed..bd780f5 100644
---- a/sysdeps/unix/common/syscalls.list
-+++ b/sysdeps/unix/common/syscalls.list
-@@ -5,7 +5,7 @@ getpid         -       getpid          Ei:     __getpid        getpid
- fchown                -       fchown          i:iii   __fchown        fchown
- ftruncate     -       ftruncate       i:ii    __ftruncate     ftruncate
- getrusage     -       getrusage       i:ip    __getrusage     getrusage
--gettimeofday  -       gettimeofday    i:PP    __gettimeofday  gettimeofday __gettimeofday_internal
-+gettimeofday  -       gettimeofday    i:pP    __gettimeofday  gettimeofday
- settimeofday  -       settimeofday    i:PP    __settimeofday  settimeofday
- setpgid               -       setpgrp         i:ii    __setpgid       setpgid
- setregid      -       setregid        i:ii    __setregid      setregid
-diff --git a/sysdeps/unix/sysv/linux/powerpc/gettimeofday.c b/sysdeps/unix/sysv/linux/powerpc/gettimeofday.c
-index b2ef2da..7376135 100644
---- a/sysdeps/unix/sysv/linux/powerpc/gettimeofday.c
-+++ b/sysdeps/unix/sysv/linux/powerpc/gettimeofday.c
-@@ -35,5 +35,6 @@ __gettimeofday (tv, tz)
- }
--
--#endif
--INTDEF (__gettimeofday)
-+libc_hidden_def (__gettimeofday)
-+
-+#endif
- weak_alias (__gettimeofday, gettimeofday)
-+libc_hidden_weak (gettimeofday)
-diff --git a/sysdeps/unix/sysv/linux/s390/gettimeofday.c b/sysdeps/unix/sysv/linux/s390/gettimeofday.c
-index 63faef8..efbf1e8 100644
---- a/sysdeps/unix/sysv/linux/s390/gettimeofday.c
-+++ b/sysdeps/unix/sysv/linux/s390/gettimeofday.c
-@@ -22,7 +22,6 @@
- #include <time.h>
- #include <hp-timing.h>
--#undef __gettimeofday
- #include <bits/libc-vdso.h>
- /* Get the current time of day and timezone information,
-@@ -36,6 +35,6 @@ __gettimeofday (tv, tz)
- {
-   return INLINE_VSYSCALL (gettimeofday, 2, CHECK_1 (tv), CHECK_1 (tz));
- }
--
--INTDEF (__gettimeofday)
-+libc_hidden_def (__gettimeofday)
- weak_alias (__gettimeofday, gettimeofday)
-+libc_hidden_weak (gettimeofday)
-diff --git a/time/gettimeofday.c b/time/gettimeofday.c
-index cfe6549..7eb770c 100644
---- a/time/gettimeofday.c
-+++ b/time/gettimeofday.c
-@@ -18,8 +18,6 @@
- #include <errno.h>
- #include <sys/time.h>
--#undef __gettimeofday
--
- /* Get the current time of day and timezone information,
-    putting it into *TV and *TZ.  If TZ is NULL, *TZ is not filled.
-    Returns 0 on success, -1 on errors.  */
-@@ -31,8 +29,9 @@ __gettimeofday (tv, tz)
-   __set_errno (ENOSYS);
-   return -1;
- }
--stub_warning (gettimeofday)
--
--INTDEF(__gettimeofday)
-+libc_hidden_def (__gettimeofday)
- weak_alias (__gettimeofday, gettimeofday)
-+libc_hidden_weak (gettimeofday)
-+
-+stub_warning (gettimeofday)
- #include <stub-tag.h>
---- a/sysdeps/unix/sysv/linux/x86_64/gettimeofday.S    2014-07-28 14:40:24.640144825 +0530
-+++ b/sysdeps/unix/sysv/linux/x86_64/gettimeofday.S    2014-07-28 14:40:21.320120072 +0530
-@@ -45,5 +45,6 @@
-       ret
- PSEUDO_END(__gettimeofday)
--strong_alias (__gettimeofday, __gettimeofday_internal)
-+libc_hidden_def (__gettimeofday)
- weak_alias (__gettimeofday, gettimeofday)
-+libc_hidden_weak (gettimeofday)
diff --git a/src/patches/glibc/glibc-rh1099025.patch b/src/patches/glibc/glibc-rh1099025.patch
deleted file mode 100644 (file)
index d075be8..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-commit 736c304a1ab4cee36a2f3343f1698bc0abae4608
-Author: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
-Date:   Thu Jan 16 06:53:18 2014 -0600
-
-    PowerPC: Fix ftime gettimeofday internal call returning bogus data
-    
-    This patches fixes BZ#16430 by setting a different symbol for internal
-    GLIBC calls that points to ifunc resolvers. For PPC32, if the symbol
-    is defined as hidden (which is the case for gettimeofday and time) the
-    compiler will create local branches (symbol@local) and linker will not
-    create PLT calls (required for IFUNC). This will leads to internal symbol
-    calling the IFUNC resolver instead of the resolved symbol.
-    For PPC64 this behavior does not occur because a call to a function in
-    another translation unit might use a different toc pointer thus requiring
-    a PLT call.
-
-diff --git a/sysdeps/unix/sysv/linux/powerpc/gettimeofday.c b/sysdeps/unix/sysv/linux/powerpc/gettimeofday.c
-index 29a5e08..2085b68 100644
---- a/sysdeps/unix/sysv/linux/powerpc/gettimeofday.c
-+++ b/sysdeps/unix/sysv/linux/powerpc/gettimeofday.c
-@@ -44,8 +44,24 @@ asm (".type __gettimeofday, %gnu_indirect_function");
- /* This is doing "libc_hidden_def (__gettimeofday)" but the compiler won't
-    let us do it in C because it doesn't know we're defining __gettimeofday
-    here in this file.  */
--asm (".globl __GI___gettimeofday\n"
--     "__GI___gettimeofday = __gettimeofday");
-+asm (".globl __GI___gettimeofday");
-+
-+/* __GI___gettimeofday is defined as hidden and for ppc32 it enables the
-+   compiler make a local call (symbol@local) for internal GLIBC usage. It
-+   means the PLT won't be used and the ifunc resolver will be called directly.
-+   For ppc64 a call to a function in another translation unit might use a
-+   different toc pointer thus disallowing direct branchess and making internal
-+   ifuncs calls safe.  */
-+#ifdef __powerpc64__
-+asm ("__GI___gettimeofday = __gettimeofday");
-+#else
-+int
-+__gettimeofday_vsyscall (struct timeval *tv, struct timezone *tz)
-+{
-+  return INLINE_VSYSCALL (gettimeofday, 2, tv, tz);
-+}
-+asm ("__GI___gettimeofday = __gettimeofday_vsyscall");
-+#endif
- #else
diff --git a/src/patches/glibc/glibc-rh1111460.patch b/src/patches/glibc/glibc-rh1111460.patch
deleted file mode 100644 (file)
index 1a4315d..0000000
+++ /dev/null
@@ -1,341 +0,0 @@
-commit 7cbcdb3699584db8913ca90f705d6337633ee10f
-Author: Siddhesh Poyarekar <siddhesh@redhat.com>
-Date:   Fri Oct 25 10:22:12 2013 +0530
-
-    Fix stack overflow due to large AF_INET6 requests
-    
-    Resolves #16072 (CVE-2013-4458).
-    
-    This patch fixes another stack overflow in getaddrinfo when it is
-    called with AF_INET6.  The AF_UNSPEC case was fixed as CVE-2013-1914,
-    but the AF_INET6 case went undetected back then.
-
-commit 91ce40854d0b7f865cf5024ef95a8026b76096f3
-Author: Florian Weimer <fweimer@redhat.com>
-Date:   Fri Aug 16 09:38:52 2013 +0200
-
-    CVE-2013-4237, BZ #14699: Buffer overflow in readdir_r
-    
-       * sysdeps/posix/dirstream.h (struct __dirstream): Add errcode
-       member.
-       * sysdeps/posix/opendir.c (__alloc_dir): Initialize errcode
-       member.
-       * sysdeps/posix/rewinddir.c (rewinddir): Reset errcode member.
-       * sysdeps/posix/readdir_r.c (__READDIR_R): Enforce NAME_MAX limit.
-       Return delayed error code.  Remove GETDENTS_64BIT_ALIGNED
-       conditional.
-       * sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c: Do not define
-       GETDENTS_64BIT_ALIGNED.
-       * sysdeps/unix/sysv/linux/i386/readdir64_r.c: Likewise.
-       * manual/filesys.texi (Reading/Closing Directory): Document
-       ENAMETOOLONG return value of readdir_r.  Recommend readdir more
-       strongly.
-       * manual/conf.texi (Limits for Files): Add portability note to
-       NAME_MAX, PATH_MAX.
-       (Pathconf): Add portability note for _PC_NAME_MAX, _PC_PATH_MAX.
-
-diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
-index e6ce4cf..8ff74b4 100644
---- a/sysdeps/posix/getaddrinfo.c
-+++ b/sysdeps/posix/getaddrinfo.c
-@@ -197,7 +197,22 @@ gaih_inet_serv (const char *servicename, const struct gaih_typeproto *tp,
-                               &rc, &herrno, NULL, &localcanon));            \
-     if (rc != ERANGE || herrno != NETDB_INTERNAL)                           \
-       break;                                                                \
--    tmpbuf = extend_alloca (tmpbuf, tmpbuflen, 2 * tmpbuflen);                      \
-+    if (!malloc_tmpbuf && __libc_use_alloca (alloca_used + 2 * tmpbuflen))    \
-+      tmpbuf = extend_alloca_account (tmpbuf, tmpbuflen, 2 * tmpbuflen,             \
-+                                    alloca_used);                           \
-+    else                                                                    \
-+      {                                                                             \
-+      char *newp = realloc (malloc_tmpbuf ? tmpbuf : NULL,                  \
-+                            2 * tmpbuflen);                                 \
-+      if (newp == NULL)                                                     \
-+        {                                                                   \
-+          result = -EAI_MEMORY;                                             \
-+          goto free_and_return;                                             \
-+        }                                                                   \
-+      tmpbuf = newp;                                                        \
-+      malloc_tmpbuf = true;                                                 \
-+      tmpbuflen = 2 * tmpbuflen;                                            \
-+      }                                                                             \
-   }                                                                         \
-   if (status == NSS_STATUS_SUCCESS && rc == 0)                                      \
-     h = &th;                                                                \
-@@ -209,7 +224,8 @@ gaih_inet_serv (const char *servicename, const struct gaih_typeproto *tp,
-       {                                                                     \
-         __set_h_errno (herrno);                                             \
-         _res.options = old_res_options;                                     \
--        return -EAI_SYSTEM;                                                 \
-+        result = -EAI_SYSTEM;                                               \
-+        goto free_and_return;                                               \
-       }                                                                     \
-       if (herrno == TRY_AGAIN)                                                      \
-       no_data = EAI_AGAIN;                                                  \
-
-diff --git a/manual/conf.texi b/manual/conf.texi
-index 7eb8b36..c720063 100644
---- a/manual/conf.texi
-+++ b/manual/conf.texi
-@@ -1149,6 +1149,9 @@ typed ahead as input.  @xref{I/O Queues}.
- @comment POSIX.1
- @deftypevr Macro int NAME_MAX
- The uniform system limit (if any) for the length of a file name component.
-+
-+@strong{Portability Note:} On some systems, the GNU C Library defines
-+@code{NAME_MAX}, but does not actually enforce this limit.
- @end deftypevr
- @comment limits.h
-@@ -1157,6 +1160,9 @@ including the terminating null character.
- @deftypevr Macro int PATH_MAX
- The uniform system limit (if any) for the length of an entire file name (that
- is, the argument given to system calls such as @code{open}).
-+
-+@strong{Portability Note:} The GNU C Library does not enforce this limit
-+even if @code{PATH_MAX} is defined.
- @end deftypevr
- @cindex limits, pipe buffer size
-@@ -1476,6 +1482,9 @@ Inquire about the value of @code{POSIX_REC_MIN_XFER_SIZE}.
- Inquire about the value of @code{POSIX_REC_XFER_ALIGN}.
- @end table
-+@strong{Portability Note:} On some systems, the GNU C Library does not
-+enforce @code{_PC_NAME_MAX} or @code{_PC_PATH_MAX} limits.
-+
- @node Utility Limits
- @section Utility Program Capacity Limits
-diff --git a/manual/filesys.texi b/manual/filesys.texi
-index 1df9cf2..814c210 100644
---- a/manual/filesys.texi
-+++ b/manual/filesys.texi
-@@ -444,9 +444,9 @@ symbols are declared in the header file @file{dirent.h}.
- @comment POSIX.1
- @deftypefun {struct dirent *} readdir (DIR *@var{dirstream})
- This function reads the next entry from the directory.  It normally
--returns a pointer to a structure containing information about the file.
--This structure is statically allocated and can be rewritten by a
--subsequent call.
-+returns a pointer to a structure containing information about the
-+file.  This structure is associated with the @var{dirstream} handle
-+and can be rewritten by a subsequent call.
- @strong{Portability Note:} On some systems @code{readdir} may not
- return entries for @file{.} and @file{..}, even though these are always
-@@ -461,19 +461,61 @@ conditions are defined for this function:
- The @var{dirstream} argument is not valid.
- @end table
--@code{readdir} is not thread safe.  Multiple threads using
--@code{readdir} on the same @var{dirstream} may overwrite the return
--value.  Use @code{readdir_r} when this is critical.
-+To distinguish between an end-of-directory condition or an error, you
-+must set @code{errno} to zero before calling @code{readdir}.  To avoid
-+entering an infinite loop, you should stop reading from the directory
-+after the first error.
-+
-+In POSIX.1-2008, @code{readdir} is not thread-safe.  In the GNU C Library
-+implementation, it is safe to call @code{readdir} concurrently on
-+different @var{dirstream}s, but multiple threads accessing the same
-+@var{dirstream} result in undefined behavior.  @code{readdir_r} is a
-+fully thread-safe alternative, but suffers from poor portability (see
-+below).  It is recommended that you use @code{readdir}, with external
-+locking if multiple threads access the same @var{dirstream}.
- @end deftypefun
- @comment dirent.h
- @comment GNU
- @deftypefun int readdir_r (DIR *@var{dirstream}, struct dirent *@var{entry}, struct dirent **@var{result})
--This function is the reentrant version of @code{readdir}.  Like
--@code{readdir} it returns the next entry from the directory.  But to
--prevent conflicts between simultaneously running threads the result is
--not stored in statically allocated memory.  Instead the argument
--@var{entry} points to a place to store the result.
-+This function is a version of @code{readdir} which performs internal
-+locking.  Like @code{readdir} it returns the next entry from the
-+directory.  To prevent conflicts between simultaneously running
-+threads the result is stored inside the @var{entry} object.
-+
-+@strong{Portability Note:} It is recommended to use @code{readdir}
-+instead of @code{readdir_r} for the following reasons:
-+
-+@itemize @bullet
-+@item
-+On systems which do not define @code{NAME_MAX}, it may not be possible
-+to use @code{readdir_r} safely because the caller does not specify the
-+length of the buffer for the directory entry.
-+
-+@item
-+On some systems, @code{readdir_r} cannot read directory entries with
-+very long names.  If such a name is encountered, the GNU C Library
-+implementation of @code{readdir_r} returns with an error code of
-+@code{ENAMETOOLONG} after the final directory entry has been read.  On
-+other systems, @code{readdir_r} may return successfully, but the
-+@code{d_name} member may not be NUL-terminated or may be truncated.
-+
-+@item
-+POSIX-1.2008 does not guarantee that @code{readdir} is thread-safe,
-+even when access to the same @var{dirstream} is serialized.  But in
-+current implementations (including the GNU C Library), it is safe to call
-+@code{readdir} concurrently on different @var{dirstream}s, so there is
-+no need to use @code{readdir_r} in most multi-threaded programs.  In
-+the rare case that multiple threads need to read from the same
-+@var{dirstream}, it is still better to use @code{readdir} and external
-+synchronization.
-+
-+@item
-+It is expected that future versions of POSIX will obsolete
-+@code{readdir_r} and mandate the level of thread safety for
-+@code{readdir} which is provided by the GNU C Library and other
-+implementations today.
-+@end itemize
- Normally @code{readdir_r} returns zero and sets @code{*@var{result}}
- to @var{entry}.  If there are no more entries in the directory or an
-@@ -481,15 +523,6 @@ error is detected, @code{readdir_r} sets @code{*@var{result}} to a
- null pointer and returns a nonzero error code, also stored in
- @code{errno}, as described for @code{readdir}.
--@strong{Portability Note:} On some systems @code{readdir_r} may not
--return a NUL terminated string for the file name, even when there is no
--@code{d_reclen} field in @code{struct dirent} and the file
--name is the maximum allowed size.  Modern systems all have the
--@code{d_reclen} field, and on old systems multi-threading is not
--critical.  In any case there is no such problem with the @code{readdir}
--function, so that even on systems without the @code{d_reclen} member one
--could use multiple threads by using external locking.
--
- It is also important to look at the definition of the @code{struct
- dirent} type.  Simply passing a pointer to an object of this type for
- the second parameter of @code{readdir_r} might not be enough.  Some
-diff --git a/sysdeps/unix/dirstream.h b/sysdeps/unix/dirstream.h
-index a7a074d..8e8570d 100644
---- a/sysdeps/unix/dirstream.h
-+++ b/sysdeps/unix/dirstream.h
-@@ -39,6 +39,8 @@ struct __dirstream
-     off_t filepos;            /* Position of next entry to read.  */
-+    int errcode;              /* Delayed error code.  */
-+
-     /* Directory block.  */
-     char data[0] __attribute__ ((aligned (__alignof__ (void*))));
-   };
-diff --git a/sysdeps/unix/opendir.c b/sysdeps/unix/opendir.c
-index ddfc3a7..fc05b0f 100644
---- a/sysdeps/unix/opendir.c
-+++ b/sysdeps/unix/opendir.c
-@@ -231,6 +231,7 @@ __alloc_dir (int fd, bool close_fd, int flags, const struct stat64 *statp)
-   dirp->size = 0;
-   dirp->offset = 0;
-   dirp->filepos = 0;
-+  dirp->errcode = 0;
-   return dirp;
- }
-diff --git a/sysdeps/unix/readdir_r.c b/sysdeps/unix/readdir_r.c
-index b5a8e2e..8ed5c3f 100644
---- a/sysdeps/unix/readdir_r.c
-+++ b/sysdeps/unix/readdir_r.c
-@@ -40,6 +40,7 @@ __READDIR_R (DIR *dirp, DIRENT_TYPE *entry, DIRENT_TYPE **result)
-   DIRENT_TYPE *dp;
-   size_t reclen;
-   const int saved_errno = errno;
-+  int ret;
-   __libc_lock_lock (dirp->lock);
-@@ -70,10 +71,10 @@ __READDIR_R (DIR *dirp, DIRENT_TYPE *entry, DIRENT_TYPE **result)
-                 bytes = 0;
-                 __set_errno (saved_errno);
-               }
-+            if (bytes < 0)
-+              dirp->errcode = errno;
-             dp = NULL;
--            /* Reclen != 0 signals that an error occurred.  */
--            reclen = bytes != 0;
-             break;
-           }
-         dirp->size = (size_t) bytes;
-@@ -106,28 +107,46 @@ __READDIR_R (DIR *dirp, DIRENT_TYPE *entry, DIRENT_TYPE **result)
-       dirp->filepos += reclen;
- #endif
--      /* Skip deleted files.  */
-+#ifdef NAME_MAX
-+      if (reclen > offsetof (DIRENT_TYPE, d_name) + NAME_MAX + 1)
-+      {
-+        /* The record is very long.  It could still fit into the
-+           caller-supplied buffer if we can skip padding at the
-+           end.  */
-+        size_t namelen = _D_EXACT_NAMLEN (dp);
-+        if (namelen <= NAME_MAX)
-+          reclen = offsetof (DIRENT_TYPE, d_name) + namelen + 1;
-+        else
-+          {
-+            /* The name is too long.  Ignore this file.  */
-+            dirp->errcode = ENAMETOOLONG;
-+            dp->d_ino = 0;
-+            continue;
-+          }
-+      }
-+#endif
-+
-+      /* Skip deleted and ignored files.  */
-     }
-   while (dp->d_ino == 0);
-   if (dp != NULL)
-     {
--#ifdef GETDENTS_64BIT_ALIGNED
--      /* The d_reclen value might include padding which is not part of
--       the DIRENT_TYPE data structure.  */
--      reclen = MIN (reclen, sizeof (DIRENT_TYPE));
--#endif
-       *result = memcpy (entry, dp, reclen);
--#ifdef GETDENTS_64BIT_ALIGNED
-+#ifdef _DIRENT_HAVE_D_RECLEN
-       entry->d_reclen = reclen;
- #endif
-+      ret = 0;
-     }
-   else
--    *result = NULL;
-+    {
-+      *result = NULL;
-+      ret = dirp->errcode;
-+    }
-   __libc_lock_unlock (dirp->lock);
--  return dp != NULL ? 0 : reclen ? errno : 0;
-+  return ret;
- }
- #ifdef __READDIR_R_ALIAS
-diff --git a/sysdeps/unix/rewinddir.c b/sysdeps/unix/rewinddir.c
-index 2935a8e..d4991ad 100644
---- a/sysdeps/unix/rewinddir.c
-+++ b/sysdeps/unix/rewinddir.c
-@@ -33,5 +33,6 @@ rewinddir (dirp)
-   dirp->filepos = 0;
-   dirp->offset = 0;
-   dirp->size = 0;
-+  dirp->errcode = 0;
-   __libc_lock_unlock (dirp->lock);
- }
-diff --git a/sysdeps/unix/sysv/linux/i386/readdir64_r.c b/sysdeps/unix/sysv/linux/i386/readdir64_r.c
-index 8ebbcfd..a7d114e 100644
---- a/sysdeps/unix/sysv/linux/i386/readdir64_r.c
-+++ b/sysdeps/unix/sysv/linux/i386/readdir64_r.c
-@@ -18,7 +18,6 @@
- #define __READDIR_R __readdir64_r
- #define __GETDENTS __getdents64
- #define DIRENT_TYPE struct dirent64
--#define GETDENTS_64BIT_ALIGNED 1
- #include <sysdeps/unix/readdir_r.c>
diff --git a/src/patches/glibc/glibc-rh1116050-1.patch b/src/patches/glibc/glibc-rh1116050-1.patch
deleted file mode 100644 (file)
index 439cf6d..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-# In rhel-6.x the Makerules are not entirely as mature as they are
-# in glibc 2.21 (from which the example link-libc-args is taken from).
-# In rhel-6.x the applications are not built like their counterpart
-# real applications, and because of that compiling DSOs that use TLS
-# will fail with undefined references to __tls_get_addr which resides
-# in ld.so and is never included in the link. This patch enhances
-# only the build-module and build-module-asneeded targets to include
-# a more fully and correct link line as the compiler driver would use
-# when constructing an application or DSO. We do not adjust the link
-# lines used to build lib* targets.
-#
-diff -urN glibc-2.12-2-gc4ccff1.orig/Makerules glibc-2.12-2-gc4ccff1/Makerules
---- glibc-2.12-2-gc4ccff1.orig/Makerules       2015-02-18 19:53:00.000000000 -0500
-+++ glibc-2.12-2-gc4ccff1/Makerules    2015-02-18 20:08:33.299000028 -0500
-@@ -443,6 +443,25 @@
- load-map-file = $(map-file:%=-Wl,--version-script=%)
- endif
-+# Compiler arguments to use to link a shared object with libc and
-+# ld.so.  This is intended to be as similar as possible to a default
-+# link with an installed libc.
-+link-libc-args = -Wl,--start-group \
-+                 $(libc-for-link) \
-+                 $(common-objpfx)libc_nonshared.a \
-+                 $(as-needed) $(elf-objpfx)ld.so $(no-as-needed) \
-+                 -Wl,--end-group
-+
-+# The corresponding shared libc to use.  This may be modified for a
-+# particular target.
-+libc-for-link = $(common-objpfx)libc.so
-+
-+# The corresponding dependencies.  As these are used in dependencies,
-+# not just commands, they cannot use target-specific variables so need
-+# to name both possible libc.so objects.
-+link-libc-deps = $(common-objpfx)libc.so $(common-objpfx)linkobj/libc.so \
-+                 $(common-objpfx)libc_nonshared.a $(elf-objpfx)ld.so
-+
- # Pattern rule to build a shared object from an archive of PIC objects.
- # This must come after the installation rules so Make doesn't try to
- # build shared libraries in place from the installed *_pic.a files.
-@@ -557,12 +576,13 @@
- # not for shared objects
- define build-module
- $(build-module-helper) -o $@ -T $(common-objpfx)shlib.lds \
--        $(csu-objpfx)abi-note.o $(build-module-objlist)
-+        $(csu-objpfx)abi-note.o $(build-module-objlist) $(link-libc-args)
- endef
- define build-module-asneeded
- $(build-module-helper) -o $@ -T $(common-objpfx)shlib.lds \
-         $(csu-objpfx)abi-note.o \
--        -Wl,--as-needed $(build-module-objlist) -Wl,--no-as-needed
-+        -Wl,--as-needed $(build-module-objlist) -Wl,--no-as-needed \
-+        $(link-libc-args)
- endef
- else
- ifneq (,$(findstring aix,$(config-os)))
diff --git a/src/patches/glibc/glibc-rh1116050.patch b/src/patches/glibc/glibc-rh1116050.patch
deleted file mode 100644 (file)
index 7631312..0000000
+++ /dev/null
@@ -1,407 +0,0 @@
-#
-# Based on this upstream commit:
-#
-# commit d8dd00805b8f3a011735d7a407097fb1c408d867
-# Author: H.J. Lu <hjl.tools@gmail.com>
-# Date:   Fri Nov 28 07:54:07 2014 -0800
-# 
-#     Resize DTV if the current DTV isn't big enough
-#     
-#     This patch changes _dl_allocate_tls_init to resize DTV if the current DTV
-#     isn't big enough.  Tested on X86-64, x32 and ia32.
-#     
-#         [BZ #13862]
-#         * elf/dl-tls.c: Include <atomic.h>.
-#         (oom): Remove #ifdef SHARED/#endif.
-#         (_dl_static_dtv, _dl_initial_dtv): Moved before ...
-#         (_dl_resize_dtv): This.  Extracted from _dl_update_slotinfo.
-#         (_dl_allocate_tls_init): Resize DTV if the current DTV isn't
-#         big enough.
-#         (_dl_update_slotinfo): Call _dl_resize_dtv to resize DTV.
-#         * nptl/Makefile (tests): Add tst-stack4.
-#         (modules-names): Add tst-stack4mod.
-#         ($(objpfx)tst-stack4): New.
-#         (tst-stack4mod.sos): Likewise.
-#         ($(objpfx)tst-stack4.out): Likewise.
-#         ($(tst-stack4mod.sos)): Likewise.
-#         (clean): Likewise.
-#         * nptl/tst-stack4.c: New file.
-#         * nptl/tst-stack4mod.c: Likewise.
-# 
-diff -urN glibc-2.12-2-gc4ccff1/elf/dl-tls.c glibc-2.12-2-gc4ccff1.mod/elf/dl-tls.c
---- glibc-2.12-2-gc4ccff1/elf/dl-tls.c 2015-02-18 14:15:28.078461873 -0500
-+++ glibc-2.12-2-gc4ccff1.mod/elf/dl-tls.c     2015-02-18 14:38:37.630374771 -0500
-@@ -24,6 +24,7 @@
- #include <stdlib.h>
- #include <unistd.h>
- #include <sys/param.h>
-+#include <atomic.h>
- #include <tls.h>
- #include <dl-tls.h>
-@@ -35,14 +36,12 @@
- /* Out-of-memory handler.  */
--#ifdef SHARED
- static void
- __attribute__ ((__noreturn__))
- oom (void)
- {
-   _dl_fatal_printf ("cannot allocate memory for thread-local data: ABORT\n");
- }
--#endif
- size_t
-@@ -392,6 +391,52 @@
-   return result;
- }
-+static dtv_t *
-+_dl_resize_dtv (dtv_t *dtv)
-+{
-+  /* Resize the dtv.  */
-+  dtv_t *newp;
-+  /* Load GL(dl_tls_max_dtv_idx) atomically since it may be written to by
-+     other threads concurrently. -- We don't have the required atomic
-+     infrastructure to load dl_tls_max_dtv_idx atomically, but on all the
-+     architectures we care about it should load atomically. If this had
-+     an atomic_load_acquire we would still be missing the releases for
-+     the writes.  */
-+  size_t newsize = GL(dl_tls_max_dtv_idx) + DTV_SURPLUS;
-+  size_t oldsize = dtv[-1].counter;
-+
-+#if SHARED
-+  if (dtv == GL(dl_initial_dtv))
-+    {
-+      /* This is the initial dtv that was either statically allocated in
-+       __libc_setup_tls or allocated during rtld startup using the
-+       dl-minimal.c malloc instead of the real malloc.  We can't free
-+       it, we have to abandon the old storage.  */
-+
-+      newp = malloc ((2 + newsize) * sizeof (dtv_t));
-+      if (newp == NULL)
-+      oom ();
-+      memcpy (newp, &dtv[-1], (2 + oldsize) * sizeof (dtv_t));
-+    }
-+  else
-+#endif
-+    {
-+      newp = realloc (&dtv[-1],
-+                    (2 + newsize) * sizeof (dtv_t));
-+      if (newp == NULL)
-+      oom ();
-+    }
-+
-+  newp[0].counter = newsize;
-+
-+  /* Clear the newly allocated part.  */
-+  memset (newp + 2 + oldsize, '\0',
-+        (newsize - oldsize) * sizeof (dtv_t));
-+
-+  /* Return the generation counter.  */
-+  return &newp[1];
-+}
-+
- void *
- internal_function
-@@ -406,6 +451,16 @@
-   size_t total = 0;
-   size_t maxgen = 0;
-+  /* Check if the current dtv is big enough.   */
-+  if (dtv[-1].counter < GL(dl_tls_max_dtv_idx))
-+    {
-+      /* Resize the dtv.  */
-+      dtv = _dl_resize_dtv (dtv);
-+
-+      /* Install this new dtv in the thread data structures.  */
-+      INSTALL_DTV (result, &dtv[-1]);
-+    }
-+
-   /* We have to prepare the dtv for all currently loaded modules using
-      TLS.  For those which are dynamically loaded we add the values
-      indicating deferred allocation.  */
-@@ -637,41 +692,10 @@
-             assert (total + cnt == modid);
-             if (dtv[-1].counter < modid)
-               {
--                /* Reallocate the dtv.  */
--                dtv_t *newp;
--                size_t newsize = GL(dl_tls_max_dtv_idx) + DTV_SURPLUS;
--                size_t oldsize = dtv[-1].counter;
--
--                assert (map->l_tls_modid <= newsize);
--
--                if (dtv == GL(dl_initial_dtv))
--                  {
--                    /* This is the initial dtv that was allocated
--                       during rtld startup using the dl-minimal.c
--                       malloc instead of the real malloc.  We can't
--                       free it, we have to abandon the old storage.  */
--
--                    newp = malloc ((2 + newsize) * sizeof (dtv_t));
--                    if (newp == NULL)
--                      oom ();
--                    memcpy (newp, &dtv[-1], (2 + oldsize) * sizeof (dtv_t));
--                  }
--                else
--                  {
--                    newp = realloc (&dtv[-1],
--                                    (2 + newsize) * sizeof (dtv_t));
--                    if (newp == NULL)
--                      oom ();
--                  }
--
--                newp[0].counter = newsize;
--
--                /* Clear the newly allocated part.  */
--                memset (newp + 2 + oldsize, '\0',
--                        (newsize - oldsize) * sizeof (dtv_t));
-+                /* Resize the dtv.  */
-+                dtv = _dl_resize_dtv (dtv);
--                /* Point dtv to the generation counter.  */
--                dtv = &newp[1];
-+                assert (modid <= dtv[-1].counter);
-                 /* Install this new dtv in the thread data
-                    structures.  */
-diff -urN glibc-2.12-2-gc4ccff1/nptl/Makefile glibc-2.12-2-gc4ccff1.mod/nptl/Makefile
---- glibc-2.12-2-gc4ccff1/nptl/Makefile        2015-02-18 14:15:28.073462028 -0500
-+++ glibc-2.12-2-gc4ccff1.mod/nptl/Makefile    2015-02-18 14:15:49.817786667 -0500
-@@ -245,7 +245,7 @@
-       tst-exec1 tst-exec2 tst-exec3 tst-exec4 \
-       tst-exit1 tst-exit2 tst-exit3 \
-       tst-stdio1 tst-stdio2 \
--      tst-stack1 tst-stack2 tst-stack3 \
-+      tst-stack1 tst-stack2 tst-stack3 tst-stack4 \
-       tst-unload \
-       tst-dlsym1 \
-       tst-sysconf \
-@@ -304,7 +304,7 @@
- modules-names = tst-atfork2mod tst-tls3mod tst-tls4moda tst-tls4modb \
-               tst-tls5mod tst-tls5moda tst-tls5modb tst-tls5modc \
--              tst-tls5modd tst-tls5mode tst-tls5modf \
-+              tst-tls5modd tst-tls5mode tst-tls5modf tst-stack4mod \
-               tst-_res1mod1 tst-_res1mod2 tst-execstack-mod tst-fini1mod
- extra-test-objs += $(addsuffix .os,$(strip $(modules-names))) tst-cleanup4aux.o
- test-extras += $(modules-names)
-@@ -459,6 +459,19 @@
-       $(common-objpfx)malloc/mtrace $(objpfx)tst-stack3.mtrace > $@
- generated += tst-stack3-mem tst-stack3.mtrace
-+$(objpfx)tst-stack4: $(libdl) $(shared-thread-library)
-+tst-stack4mod.sos=$(shell for i in 0 1 2 3 4 5 6 7 8 9 10 \
-+                                 11 12 13 14 15 16 17 18 19; do \
-+                          for j in 0 1 2 3 4 5 6 7 8 9 10 \
-+                                   11 12 13 14 15 16 17 18 19; do \
-+                            echo $(objpfx)tst-stack4mod-$$i-$$j.so; \
-+                          done; done)
-+$(objpfx)tst-stack4.out: $(tst-stack4mod.sos)
-+$(tst-stack4mod.sos): $(objpfx)tst-stack4mod.so
-+      cp -f $< $@
-+clean:
-+      rm -f $(tst-stack4mod.sos)
-+
- $(objpfx)tst-cleanup4: $(objpfx)tst-cleanup4aux.o $(shared-thread-library)
- $(objpfx)tst-cleanupx4: $(objpfx)tst-cleanup4aux.o $(shared-thread-library)
-diff -urN glibc-2.12-2-gc4ccff1/nptl/tst-stack4.c glibc-2.12-2-gc4ccff1.mod/nptl/tst-stack4.c
---- glibc-2.12-2-gc4ccff1/nptl/tst-stack4.c    1969-12-31 19:00:00.000000000 -0500
-+++ glibc-2.12-2-gc4ccff1.mod/nptl/tst-stack4.c        2015-02-18 14:15:49.817786667 -0500
-@@ -0,0 +1,159 @@
-+/* Test DTV size oveflow when pthread_create reuses old DTV and TLS is
-+   used by dlopened shared object.
-+   Copyright (C) 2014 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, see
-+   <http://www.gnu.org/licenses/>.  */
-+
-+#include <stdio.h>
-+#include <stdint.h>
-+#include <dlfcn.h>
-+#include <assert.h>
-+#include <pthread.h>
-+
-+/* The choices of thread count, and file counts are arbitary.
-+   The point is simply to run enough threads that an exiting
-+   thread has it's stack reused by another thread at the same
-+   time as new libraries have been loaded.  */
-+#define DSO_SHARED_FILES 20
-+#define DSO_OPEN_THREADS 20
-+#define DSO_EXEC_THREADS 2
-+
-+/* Used to make sure that only one thread is calling dlopen and dlclose
-+   at a time.  */
-+pthread_mutex_t g_lock;
-+
-+typedef void (*function) (void);
-+
-+void *
-+dso_invoke(void *dso_fun)
-+{
-+  function *fun_vec = (function *) dso_fun;
-+  int dso;
-+
-+  for (dso = 0; dso < DSO_SHARED_FILES; dso++)
-+    (*fun_vec[dso]) ();
-+
-+  pthread_exit (NULL);
-+}
-+
-+void *
-+dso_process (void * p)
-+{
-+  void *handle[DSO_SHARED_FILES];
-+  function fun_vec[DSO_SHARED_FILES];
-+  char dso_path[DSO_SHARED_FILES][100];
-+  int dso;
-+  uintptr_t t = (uintptr_t) p;
-+
-+  /* Open DSOs and get a function.  */
-+  for (dso = 0; dso < DSO_SHARED_FILES; dso++)
-+    {
-+      sprintf (dso_path[dso], "tst-stack4mod-%i-%i.so", t, dso);
-+
-+      pthread_mutex_lock (&g_lock);
-+
-+      handle[dso] = dlopen (dso_path[dso], RTLD_NOW);
-+      assert (handle[dso]);
-+
-+      fun_vec[dso] = (function) dlsym (handle[dso], "function");
-+      assert (fun_vec[dso]);
-+
-+      pthread_mutex_unlock (&g_lock);
-+    }
-+
-+  /* Spawn workers.  */
-+  pthread_t thread[DSO_EXEC_THREADS];
-+  int i, ret;
-+  uintptr_t result = 0;
-+  for (i = 0; i < DSO_EXEC_THREADS; i++)
-+    {
-+      pthread_mutex_lock (&g_lock);
-+      ret = pthread_create (&thread[i], NULL, dso_invoke, (void *) fun_vec);
-+      if (ret != 0)
-+      {
-+        printf ("pthread_create failed: %d\n", ret);
-+        result = 1;
-+      }
-+      pthread_mutex_unlock (&g_lock);
-+    }
-+
-+  if (!result)
-+    for (i = 0; i < DSO_EXEC_THREADS; i++)
-+      {
-+      ret = pthread_join (thread[i], NULL);
-+      if (ret != 0)
-+        {
-+          printf ("pthread_join failed: %d\n", ret);
-+          result = 1;
-+        }
-+      }
-+
-+  /* Close all DSOs.  */
-+  for (dso = 0; dso < DSO_SHARED_FILES; dso++)
-+    {
-+      pthread_mutex_lock (&g_lock);
-+      dlclose (handle[dso]);
-+      pthread_mutex_unlock (&g_lock);
-+    }
-+
-+  /* Exit.  */
-+  pthread_exit ((void *) result);
-+}
-+
-+static int
-+do_test (void)
-+{
-+  pthread_t thread[DSO_OPEN_THREADS];
-+  int i,j;
-+  int ret;
-+  int result = 0;
-+
-+  pthread_mutex_init (&g_lock, NULL);
-+
-+  /* 100 is arbitrary here and is known to trigger PR 13862.  */
-+  for (j = 0; j < 100; j++)
-+    {
-+      for (i = 0; i < DSO_OPEN_THREADS; i++)
-+      {
-+        ret = pthread_create (&thread[i], NULL, dso_process,
-+                              (void *) (uintptr_t) i);
-+        if (ret != 0)
-+          {
-+            printf ("pthread_create failed: %d\n", ret);
-+            result = 1;
-+          }
-+      }
-+
-+      if (result)
-+      break;
-+
-+      for (i = 0; i < DSO_OPEN_THREADS; i++)
-+      {
-+        ret = pthread_join (thread[i], NULL);
-+        if (ret != 0)
-+          {
-+            printf ("pthread_join failed: %d\n", ret);
-+            result = 1;
-+          }
-+      }
-+    }
-+
-+  return result;
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#define TIMEOUT 100
-+#include "../test-skeleton.c"
-diff -urN glibc-2.12-2-gc4ccff1/nptl/tst-stack4mod.c glibc-2.12-2-gc4ccff1.mod/nptl/tst-stack4mod.c
---- glibc-2.12-2-gc4ccff1/nptl/tst-stack4mod.c 1969-12-31 19:00:00.000000000 -0500
-+++ glibc-2.12-2-gc4ccff1.mod/nptl/tst-stack4mod.c     2015-02-18 14:15:49.817786667 -0500
-@@ -0,0 +1,28 @@
-+/* This tests DTV usage with TLS in dlopened shared object.
-+   Copyright (C) 2014 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, see
-+   <http://www.gnu.org/licenses/>.  */
-+
-+/* 256 is arbitrary here and is known to trigger PR 13862.  */
-+__thread int var[256] attribute_hidden = {0};
-+
-+void
-+function (void)
-+{
-+  int i;
-+  for (i = 0; i < sizeof (var) / sizeof (int); i++)
-+    var[i] = i;
-+}
diff --git a/src/patches/glibc/glibc-rh1124204.patch b/src/patches/glibc/glibc-rh1124204.patch
deleted file mode 100644 (file)
index f14c4cb..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# Derived from this upstream commit:
-#
-# commit 58a1335e76a553e1cf4edeebc27f16fc9b53d6e6
-# Author: Petr Baudis <pasky@ucw.cz>
-# Date:   Thu Mar 14 01:16:53 2013 +0100
-#
-#    Fix __times() handling of EFAULT when buf is NULL
-#
-# 2013-03-14  Petr Baudis  <pasky@ucw.cz>
-#
-#      * sysdeps/unix/sysv/linux/times.c (__times): On EFAULT, test
-#      for non-NULL pointer before the memory validity test. Pointed
-#      out by Holger Brunck <holger.brunck@keymile.com>.
-#
-diff --git a/sysdeps/unix/sysv/linux/times.c b/sysdeps/unix/sysv/linux/times.c
-index f3b5f01..e59bb4e 100644
---- a/sysdeps/unix/sysv/linux/times.c
-+++ b/sysdeps/unix/sysv/linux/times.c
-@@ -26,13 +26,14 @@ __times (struct tms *buf)
-   INTERNAL_SYSCALL_DECL (err);
-   clock_t ret = INTERNAL_SYSCALL (times, err, 1, buf);
-   if (INTERNAL_SYSCALL_ERROR_P (ret, err)
--      && __builtin_expect (INTERNAL_SYSCALL_ERRNO (ret, err) == EFAULT, 0))
-+      && __builtin_expect (INTERNAL_SYSCALL_ERRNO (ret, err) == EFAULT, 0)
-+      && buf)
-     {
-       /* This might be an error or not.  For architectures which have
-        no separate return value and error indicators we cannot
-        distinguish a return value of -1 from an error.  Do it the
--       hard way.  We crash applications which pass in an invalid BUF
--       pointer.  */
-+       hard way.  We crash applications which pass in an invalid
-+       non-NULL BUF pointer.  Linux allows BUF to be NULL. */
- #define touch(v) \
-       do {                                                                  \
-       clock_t temp = v;                                                     \
-@@ -44,7 +45,8 @@ __times (struct tms *buf)
-       touch (buf->tms_cutime);
-       touch (buf->tms_cstime);
--      /* If we come here the memory is valid and the kernel did not
-+      /* If we come here the memory is valid (or BUF is NULL, which is
-+       * a valid condition for the kernel syscall) and the kernel did not
-        return an EFAULT error.  Return the value given by the kernel.  */
-     }
diff --git a/src/patches/glibc/glibc-rh1125307.patch b/src/patches/glibc/glibc-rh1125307.patch
deleted file mode 100644 (file)
index 72ba01d..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-commit a11892631d92f594c690d0d50a642b0d1aba58b8
-Author: Ondřej Bílka <neleai@seznam.cz>
-Date:   Wed May 7 14:08:57 2014 +0200
-
-    Fix typo in nscd/selinux.c
-
-diff --git a/nscd/selinux.c b/nscd/selinux.c
-index 9a8a5a8..eaed6dd 100644
---- a/nscd/selinux.c
-+++ b/nscd/selinux.c
-@@ -372,7 +372,7 @@ nscd_request_avc_has_perm (int fd, request_type req)
-   /* Get the security class for nscd.  If this fails we will likely be
-      unable to do anything unless avc_deny_unknown is 0.  */
-   sc_nscd = string_to_security_class ("nscd");
--  if (perm == 0 && avc_deny_unknown == 1)
-+  if (sc_nscd == 0 && avc_deny_unknown == 1)
-     dbg_log (_("Error getting security class for nscd."));
-   /* Convert permission to AVC bits.  */
diff --git a/src/patches/glibc/glibc-rh1133810-1.patch b/src/patches/glibc/glibc-rh1133810-1.patch
deleted file mode 100644 (file)
index 12b9949..0000000
+++ /dev/null
@@ -1,199 +0,0 @@
-2014-08-21  Florian Weimer  <fweimer@redhat.com>
-
-       [BZ #17187]
-       * iconv/gconv_trans.c (struct known_trans, search_tree, lock,
-       trans_compare, open_translit, __gconv_translit_find):
-       Remove module loading code.
-
-diff --git a/iconv/gconv_trans.c b/iconv/gconv_trans.c
-index 1e25854..d71c029 100644
---- a/iconv/gconv_trans.c
-+++ b/iconv/gconv_trans.c
-@@ -238,181 +238,11 @@ __gconv_transliterate (struct __gconv_step *step,
-   return __GCONV_ILLEGAL_INPUT;
- }
--
--/* Structure to represent results of found (or not) transliteration
--   modules.  */
--struct known_trans
--{
--  /* This structure must remain the first member.  */
--  struct trans_struct info;
--
--  char *fname;
--  void *handle;
--  int open_count;
--};
--
--
--/* Tree with results of previous calls to __gconv_translit_find.  */
--static void *search_tree;
--
--/* We modify global data.   */
--__libc_lock_define_initialized (static, lock);
--
--
--/* Compare two transliteration entries.  */
--static int
--trans_compare (const void *p1, const void *p2)
--{
--  const struct known_trans *s1 = (const struct known_trans *) p1;
--  const struct known_trans *s2 = (const struct known_trans *) p2;
--
--  return strcmp (s1->info.name, s2->info.name);
--}
--
--
--/* Open (maybe reopen) the module named in the struct.  Get the function
--   and data structure pointers we need.  */
--static int
--open_translit (struct known_trans *trans)
--{
--  __gconv_trans_query_fct queryfct;
--
--  trans->handle = __libc_dlopen (trans->fname);
--  if (trans->handle == NULL)
--    /* Not available.  */
--    return 1;
--
--  /* Find the required symbol.  */
--  queryfct = __libc_dlsym (trans->handle, "gconv_trans_context");
--  if (queryfct == NULL)
--    {
--      /* We cannot live with that.  */
--    close_and_out:
--      __libc_dlclose (trans->handle);
--      trans->handle = NULL;
--      return 1;
--    }
--
--  /* Get the context.  */
--  if (queryfct (trans->info.name, &trans->info.csnames, &trans->info.ncsnames)
--      != 0)
--    goto close_and_out;
--
--  /* Of course we also have to have the actual function.  */
--  trans->info.trans_fct = __libc_dlsym (trans->handle, "gconv_trans");
--  if (trans->info.trans_fct == NULL)
--    goto close_and_out;
--
--  /* Now the optional functions.  */
--  trans->info.trans_init_fct =
--    __libc_dlsym (trans->handle, "gconv_trans_init");
--  trans->info.trans_context_fct =
--    __libc_dlsym (trans->handle, "gconv_trans_context");
--  trans->info.trans_end_fct =
--    __libc_dlsym (trans->handle, "gconv_trans_end");
--
--  trans->open_count = 1;
--
--  return 0;
--}
--
--
- int
- internal_function
- __gconv_translit_find (struct trans_struct *trans)
- {
--  struct known_trans **found;
--  const struct path_elem *runp;
--  int res = 1;
--
--  /* We have to have a name.  */
--  assert (trans->name != NULL);
--
--  /* Acquire the lock.  */
--  __libc_lock_lock (lock);
--
--  /* See whether we know this module already.  */
--  found = __tfind (trans, &search_tree, trans_compare);
--  if (found != NULL)
--    {
--      /* Is this module available?  */
--      if ((*found)->handle != NULL)
--      {
--        /* Maybe we have to reopen the file.  */
--        if ((*found)->handle != (void *) -1)
--          /* The object is not unloaded.  */
--          res = 0;
--        else if (open_translit (*found) == 0)
--          {
--            /* Copy the data.  */
--            *trans = (*found)->info;
--            (*found)->open_count++;
--            res = 0;
--          }
--      }
--    }
--  else
--    {
--      size_t name_len = strlen (trans->name) + 1;
--      int need_so = 0;
--      struct known_trans *newp;
--
--      /* We have to continue looking for the module.  */
--      if (__gconv_path_elem == NULL)
--      __gconv_get_path ();
--
--      /* See whether we have to append .so.  */
--      if (name_len <= 4 || memcmp (&trans->name[name_len - 4], ".so", 3) != 0)
--      need_so = 1;
--
--      /* Create a new entry.  */
--      newp = (struct known_trans *) malloc (sizeof (struct known_trans)
--                                          + (__gconv_max_path_elem_len
--                                             + name_len + 3)
--                                          + name_len);
--      if (newp != NULL)
--      {
--        char *cp;
--
--        /* Clear the struct.  */
--        memset (newp, '\0', sizeof (struct known_trans));
--
--        /* Store a copy of the module name.  */
--        newp->info.name = cp = (char *) (newp + 1);
--        cp = __mempcpy (cp, trans->name, name_len);
--
--        newp->fname = cp;
--
--        /* Search in all the directories.  */
--        for (runp = __gconv_path_elem; runp->name != NULL; ++runp)
--          {
--            cp = __mempcpy (__stpcpy ((char *) newp->fname, runp->name),
--                            trans->name, name_len);
--            if (need_so)
--              memcpy (cp, ".so", sizeof (".so"));
--
--            if (open_translit (newp) == 0)
--              {
--                /* We found a module.  */
--                res = 0;
--                break;
--              }
--          }
--
--        if (res)
--          newp->fname = NULL;
--
--        /* In any case we'll add the entry to our search tree.  */
--        if (__tsearch (newp, &search_tree, trans_compare) == NULL)
--          {
--            /* Yickes, this should not happen.  Unload the object.  */
--            res = 1;
--            /* XXX unload here.  */
--          }
--      }
--    }
--
--  __libc_lock_unlock (lock);
--
--  return res;
-+  /* This function always fails.  Transliteration module loading is
-+     not implemented.  */
-+  return 1;
- }
--- 
-1.9.3
-
diff --git a/src/patches/glibc/glibc-rh1133810-2.patch b/src/patches/glibc/glibc-rh1133810-2.patch
deleted file mode 100644 (file)
index 8148abb..0000000
+++ /dev/null
@@ -1,625 +0,0 @@
-commit 585367266923156ac6fb789939a923641ba5aaf4
-Author: Florian Weimer <fweimer@redhat.com>
-Date:   Wed May 28 14:05:03 2014 +0200
-
-    manual: Update the locale documentation
-
-commit 4e8f95a0df7c2300b830ec12c0ae1e161bc8a8a3
-Author: Florian Weimer <fweimer@redhat.com>
-Date:   Mon May 12 15:24:12 2014 +0200
-
-    _nl_find_locale: Improve handling of crafted locale names [BZ #17137]
-    
-    Prevent directory traversal in locale-related environment variables
-    (CVE-2014-0475).
-
-commit d183645616b0533b3acee28f1a95570bffbdf50f
-Author: Florian Weimer <fweimer@redhat.com>
-Date:   Wed May 28 14:41:52 2014 +0200
-
-    setlocale: Use the heap for the copy of the locale argument
-    
-    This avoids alloca calls with potentially large arguments.
-
-diff -pruN glibc-2.18/locale/findlocale.c glibc-2.18.patched/locale/findlocale.c
---- glibc-2.18/locale/findlocale.c     2013-08-11 04:22:55.000000000 +0530
-+++ glibc-2.18.patched/locale/findlocale.c     2014-08-26 16:14:50.403253778 +0530
-@@ -17,6 +17,7 @@
-    02111-1307 USA.  */
- #include <assert.h>
-+#include <errno.h>
- #include <locale.h>
- #include <stdlib.h>
- #include <string.h>
-@@ -57,6 +58,45 @@ struct loaded_l10nfile *_nl_locale_file_
- const char _nl_default_locale_path[] attribute_hidden = LOCALEDIR;
-+/* Checks if the name is actually present, that is, not NULL and not
-+   empty.  */
-+static inline int
-+name_present (const char *name)
-+{
-+  return name != NULL && name[0] != '\0';
-+}
-+
-+/* Checks that the locale name neither extremely long, nor contains a
-+   ".." path component (to prevent directory traversal).  */
-+static inline int
-+valid_locale_name (const char *name)
-+{
-+  /* Not set.  */
-+  size_t namelen = strlen (name);
-+  /* Name too long.  The limit is arbitrary and prevents stack overflow
-+     issues later.  */
-+  if (__builtin_expect (namelen > 255, 0))
-+    return 0;
-+  /* Directory traversal attempt.  */
-+  static const char slashdot[4] = {'/', '.', '.', '/'};
-+  if (__builtin_expect (memmem (name, namelen,
-+                              slashdot, sizeof (slashdot)) != NULL, 0))
-+    return 0;
-+  if (namelen == 2 && __builtin_expect (name[0] == '.' && name [1] == '.', 0))
-+    return 0;
-+  if (namelen >= 3
-+      && __builtin_expect (((name[0] == '.'
-+                           && name[1] == '.'
-+                           && name[2] == '/')
-+                          || (name[namelen - 3] == '/'
-+                              && name[namelen - 2] == '.'
-+                              && name[namelen - 1] == '.')), 0))
-+    return 0;
-+  /* If there is a slash in the name, it must start with one.  */
-+  if (__builtin_expect (memchr (name, '/', namelen) != NULL, 0) && name[0] != '/')
-+    return 0;
-+  return 1;
-+}
- struct __locale_data *
- internal_function
-@@ -65,7 +105,7 @@ _nl_find_locale (const char *locale_path
- {
-   int mask;
-   /* Name of the locale for this category.  */
--  char *loc_name;
-+  char *loc_name = (char *) *name;
-   const char *language;
-   const char *modifier;
-   const char *territory;
-@@ -73,31 +113,39 @@ _nl_find_locale (const char *locale_path
-   const char *normalized_codeset;
-   struct loaded_l10nfile *locale_file;
--  if ((*name)[0] == '\0')
-+  if (loc_name[0] == '\0')
-     {
-       /* The user decides which locale to use by setting environment
-        variables.  */
--      *name = getenv ("LC_ALL");
--      if (*name == NULL || (*name)[0] == '\0')
--      *name = getenv (_nl_category_names.str
-+      loc_name = getenv ("LC_ALL");
-+      if (!name_present (loc_name))
-+      loc_name = getenv (_nl_category_names.str
-                       + _nl_category_name_idxs[category]);
--      if (*name == NULL || (*name)[0] == '\0')
--      *name = getenv ("LANG");
-+      if (!name_present (loc_name))
-+      loc_name = getenv ("LANG");
-+      if (!name_present (loc_name))
-+      loc_name = (char *) _nl_C_name;
-     }
--  if (*name == NULL || (*name)[0] == '\0'
--      || (__builtin_expect (__libc_enable_secure, 0)
--        && strchr (*name, '/') != NULL))
--    *name = (char *) _nl_C_name;
-+  /* We used to fall back to the C locale if the name contains a slash
-+     character '/', but we now check for directory traversal in
-+     valid_locale_name, so this is no longer necessary.  */
--  if (__builtin_expect (strcmp (*name, _nl_C_name), 1) == 0
--      || __builtin_expect (strcmp (*name, _nl_POSIX_name), 1) == 0)
-+  if (__builtin_expect (strcmp (loc_name, _nl_C_name), 1) == 0
-+      || __builtin_expect (strcmp (loc_name, _nl_POSIX_name), 1) == 0)
-     {
-       /* We need not load anything.  The needed data is contained in
-        the library itself.  */
-       *name = (char *) _nl_C_name;
-       return _nl_C[category];
-     }
-+  else if (!valid_locale_name (loc_name))
-+    {
-+      __set_errno (EINVAL);
-+      return NULL;
-+    }
-+
-+  *name = loc_name;
-   /* We really have to load some data.  First we try the archive,
-      but only if there was no LOCPATH environment variable specified.  */
-diff -pruN glibc-2.18/locale/setlocale.c glibc-2.18.patched/locale/setlocale.c
---- glibc-2.18/locale/setlocale.c      2013-08-11 04:22:55.000000000 +0530
-+++ glibc-2.18.patched/locale/setlocale.c      2014-08-26 16:14:50.401253764 +0530
-@@ -272,6 +272,8 @@ setlocale (int category, const char *loc
-        of entries of the form `CATEGORY=VALUE'.  */
-       const char *newnames[__LC_LAST];
-       struct __locale_data *newdata[__LC_LAST];
-+      /* Copy of the locale argument, for in-place splitting.  */
-+      char *locale_copy = NULL;
-       /* Set all name pointers to the argument name.  */
-       for (category = 0; category < __LC_LAST; ++category)
-@@ -281,7 +283,13 @@ setlocale (int category, const char *loc
-       if (__builtin_expect (strchr (locale, ';') != NULL, 0))
-       {
-         /* This is a composite name.  Make a copy and split it up.  */
--        char *np = strdupa (locale);
-+        locale_copy = strdup (locale);
-+        if (__builtin_expect (locale_copy == NULL, 0))
-+          {
-+            __libc_rwlock_unlock (__libc_setlocale_lock);
-+            return NULL;
-+          }
-+        char *np = locale_copy;
-         char *cp;
-         int cnt;
-@@ -299,6 +307,7 @@ setlocale (int category, const char *loc
-               {
-               error_return:
-                 __libc_rwlock_unlock (__libc_setlocale_lock);
-+                free (locale_copy);
-                 /* Bogus category name.  */
-                 ERROR_RETURN;
-@@ -391,8 +400,9 @@ setlocale (int category, const char *loc
-       /* Critical section left.  */
-       __libc_rwlock_unlock (__libc_setlocale_lock);
--      /* Free the resources (the locale path variable).  */
-+      /* Free the resources.  */
-       free (locale_path);
-+      free (locale_copy);
-       return composite;
-     }
-diff -pruN glibc-2.18/localedata/Makefile glibc-2.18.patched/localedata/Makefile
---- glibc-2.18/localedata/Makefile     2014-08-26 16:15:22.656474571 +0530
-+++ glibc-2.18.patched/localedata/Makefile     2014-08-26 16:14:50.403253778 +0530
-@@ -77,7 +77,7 @@ locale_test_suite := tst_iswalnum tst_is
- tests = $(locale_test_suite) tst-digits tst-setlocale bug-iconv-trans \
-       tst-leaks tst-mbswcs6 tst-xlocale1 tst-xlocale2 bug-usesetlocale \
--      tst-strfmon1 tst-sscanf tst-strptime
-+      tst-strfmon1 tst-sscanf tst-strptime tst-setlocale3
- ifeq (yes,$(build-shared))
- ifneq (no,$(PERL))
- tests: $(objpfx)mtrace-tst-leaks
-@@ -288,6 +288,7 @@ tst-strfmon1-ENV = $(TEST_MBWC_ENV)
- tst-strptime-ENV = $(TEST_MBWC_ENV)
- tst-setlocale-ENV = LOCPATH=$(common-objpfx)localedata LC_ALL=ja_JP.EUC-JP
-+tst-setlocale3-ENV = LOCPATH=$(common-objpfx)localedata
- bug-iconv-trans-ENV = LOCPATH=$(common-objpfx)localedata
-diff -pruN glibc-2.18/localedata/tst-setlocale3.c glibc-2.18.patched/localedata/tst-setlocale3.c
---- glibc-2.18/localedata/tst-setlocale3.c     1970-01-01 05:30:00.000000000 +0530
-+++ glibc-2.18.patched/localedata/tst-setlocale3.c     2014-08-26 16:14:50.403253778 +0530
-@@ -0,0 +1,203 @@
-+/* Regression test for setlocale invalid environment variable handling.
-+   Copyright (C) 2014 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, see
-+   <http://www.gnu.org/licenses/>.  */
-+
-+#include <locale.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+
-+/* The result of setlocale may be overwritten by subsequent calls, so
-+   this wrapper makes a copy.  */
-+static char *
-+setlocale_copy (int category, const char *locale)
-+{
-+  const char *result = setlocale (category, locale);
-+  if (result == NULL)
-+    return NULL;
-+  return strdup (result);
-+}
-+
-+static char *de_locale;
-+
-+static void
-+setlocale_fail (const char *envstring)
-+{
-+  setenv ("LC_CTYPE", envstring, 1);
-+  if (setlocale (LC_CTYPE, "") != NULL)
-+    {
-+      printf ("unexpected setlocale success for \"%s\" locale\n", envstring);
-+      exit (1);
-+    }
-+  const char *newloc = setlocale (LC_CTYPE, NULL);
-+  if (strcmp (newloc, de_locale) != 0)
-+    {
-+      printf ("failed setlocale call \"%s\" changed locale to \"%s\"\n",
-+            envstring, newloc);
-+      exit (1);
-+    }
-+}
-+
-+static void
-+setlocale_success (const char *envstring)
-+{
-+  setenv ("LC_CTYPE", envstring, 1);
-+  char *newloc = setlocale_copy (LC_CTYPE, "");
-+  if (newloc == NULL)
-+    {
-+      printf ("setlocale for \"%s\": %m\n", envstring);
-+      exit (1);
-+    }
-+  if (strcmp (newloc, de_locale) == 0)
-+    {
-+      printf ("setlocale with LC_CTYPE=\"%s\" left locale at \"%s\"\n",
-+            envstring, de_locale);
-+      exit (1);
-+    }
-+  if (setlocale (LC_CTYPE, de_locale) == NULL)
-+    {
-+      printf ("restoring locale \"%s\" with LC_CTYPE=\"%s\": %m\n",
-+            de_locale, envstring);
-+      exit (1);
-+    }
-+  char *newloc2 = setlocale_copy (LC_CTYPE, newloc);
-+  if (newloc2 == NULL)
-+    {
-+      printf ("restoring locale \"%s\" following \"%s\": %m\n",
-+            newloc, envstring);
-+      exit (1);
-+    }
-+  if (strcmp (newloc, newloc2) != 0)
-+    {
-+      printf ("representation of locale \"%s\" changed from \"%s\" to \"%s\"",
-+            envstring, newloc, newloc2);
-+      exit (1);
-+    }
-+  free (newloc);
-+  free (newloc2);
-+
-+  if (setlocale (LC_CTYPE, de_locale) == NULL)
-+    {
-+      printf ("restoring locale \"%s\" with LC_CTYPE=\"%s\": %m\n",
-+            de_locale, envstring);
-+      exit (1);
-+    }
-+}
-+
-+/* Checks that a known-good locale still works if LC_ALL contains a
-+   value which should be ignored.  */
-+static void
-+setlocale_ignore (const char *to_ignore)
-+{
-+  const char *fr_locale = "fr_FR.UTF-8";
-+  setenv ("LC_CTYPE", fr_locale, 1);
-+  char *expected_locale = setlocale_copy (LC_CTYPE, "");
-+  if (expected_locale == NULL)
-+    {
-+      printf ("setlocale with LC_CTYPE=\"%s\" failed: %m\n", fr_locale);
-+      exit (1);
-+    }
-+  if (setlocale (LC_CTYPE, de_locale) == NULL)
-+    {
-+      printf ("failed to restore locale: %m\n");
-+      exit (1);
-+    }
-+  unsetenv ("LC_CTYPE");
-+
-+  setenv ("LC_ALL", to_ignore, 1);
-+  setenv ("LC_CTYPE", fr_locale, 1);
-+  const char *actual_locale = setlocale (LC_CTYPE, "");
-+  if (actual_locale == NULL)
-+    {
-+      printf ("setlocale with LC_ALL, LC_CTYPE=\"%s\" failed: %m\n",
-+            fr_locale);
-+      exit (1);
-+    }
-+  if (strcmp (actual_locale, expected_locale) != 0)
-+    {
-+      printf ("setlocale under LC_ALL failed: got \"%s\", expected \"%s\"\n",
-+            actual_locale, expected_locale);
-+      exit (1);
-+    }
-+  unsetenv ("LC_CTYPE");
-+  setlocale_success (fr_locale);
-+  unsetenv ("LC_ALL");
-+  free (expected_locale);
-+}
-+
-+static int
-+do_test (void)
-+{
-+  /* The glibc test harness sets this environment variable
-+     uncondionally.  */
-+  unsetenv ("LC_ALL");
-+
-+  de_locale = setlocale_copy (LC_CTYPE, "de_DE.UTF-8");
-+  if (de_locale == NULL)
-+    {
-+      printf ("setlocale (LC_CTYPE, \"de_DE.UTF-8\"): %m\n");
-+      return 1;
-+    }
-+  setlocale_success ("C");
-+  setlocale_success ("en_US.UTF-8");
-+  setlocale_success ("/en_US.UTF-8");
-+  setlocale_success ("//en_US.UTF-8");
-+  setlocale_ignore ("");
-+
-+  setlocale_fail ("does-not-exist");
-+  setlocale_fail ("/");
-+  setlocale_fail ("/../localedata/en_US.UTF-8");
-+  setlocale_fail ("en_US.UTF-8/");
-+  setlocale_fail ("en_US.UTF-8/..");
-+  setlocale_fail ("en_US.UTF-8/../en_US.UTF-8");
-+  setlocale_fail ("../localedata/en_US.UTF-8");
-+  {
-+    size_t large_length = 1024;
-+    char *large_name = malloc (large_length + 1);
-+    if (large_name == NULL)
-+      {
-+      puts ("malloc failure");
-+      return 1;
-+      }
-+    memset (large_name, '/', large_length);
-+    const char *suffix = "en_US.UTF-8";
-+    strcpy (large_name + large_length - strlen (suffix), suffix);
-+    setlocale_fail (large_name);
-+    free (large_name);
-+  }
-+  {
-+    size_t huge_length = 64 * 1024 * 1024;
-+    char *huge_name = malloc (huge_length + 1);
-+    if (huge_name == NULL)
-+      {
-+      puts ("malloc failure");
-+      return 1;
-+      }
-+    memset (huge_name, 'X', huge_length);
-+    huge_name[huge_length] = '\0';
-+    /* Construct a composite locale specification. */
-+    const char *prefix = "LC_CTYPE=de_DE.UTF-8;LC_TIME=";
-+    memcpy (huge_name, prefix, strlen (prefix));
-+    setlocale_fail (huge_name);
-+    free (huge_name);
-+  }
-+
-+  return 0;
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
-diff -pruN glibc-2.18/manual/locale.texi glibc-2.18.patched/manual/locale.texi
---- glibc-2.18/manual/locale.texi      2013-08-11 04:22:55.000000000 +0530
-+++ glibc-2.18.patched/manual/locale.texi      2014-08-26 16:14:50.404253785 +0530
-@@ -29,6 +29,7 @@ will follow the conventions preferred by
- * Setting the Locale::          How a program specifies the locale
-                                  with library functions.
- * Standard Locales::            Locale names available on all systems.
-+* Locale Names::                Format of system-specific locale names.
- * Locale Information::          How to access the information for the locale.
- * Formatting Numbers::          A dedicated function to format numbers.
- * Yes-or-No Questions::         Check a Response against the locale.
-@@ -99,14 +100,16 @@ locale named @samp{espana-castellano} to
- most of Spain.
- The set of locales supported depends on the operating system you are
--using, and so do their names.  We can't make any promises about what
--locales will exist, except for one standard locale called @samp{C} or
--@samp{POSIX}.  Later we will describe how to construct locales.
--@comment (@pxref{Building Locale Files}).
-+using, and so do their names, except that the standard locale called
-+@samp{C} or @samp{POSIX} always exist.  @xref{Locale Names}.
-+
-+In order to force the system to always use the default locale, the
-+user can set the @code{LC_ALL} environment variable to @samp{C}.
- @cindex combining locales
--A user also has the option of specifying different locales for different
--purposes---in effect, choosing a mixture of multiple locales.
-+A user also has the option of specifying different locales for
-+different purposes---in effect, choosing a mixture of multiple
-+locales.  @xref{Locale Categories}.
- For example, the user might specify the locale @samp{espana-castellano}
- for most purposes, but specify the locale @samp{usa-english} for
-@@ -120,7 +123,7 @@ which locales apply.  However, the user
- for a particular subset of those purposes.
- @node Locale Categories, Setting the Locale, Choosing Locale, Locales
--@section Categories of Activities that Locales Affect
-+@section Locale Categories
- @cindex categories for locales
- @cindex locale categories
-@@ -128,7 +131,11 @@ The purposes that locales serve are grou
- that a user or a program can choose the locale for each category
- independently.  Here is a table of categories; each name is both an
- environment variable that a user can set, and a macro name that you can
--use as an argument to @code{setlocale}.
-+use as the first argument to @code{setlocale}.
-+
-+The contents of the environment variable (or the string in the second
-+argument to @code{setlocale}) has to be a valid locale name.
-+@xref{Locale Names}.
- @vtable @code
- @comment locale.h
-@@ -172,7 +179,7 @@ for affirmative and negative responses.
- @comment locale.h
- @comment ISO
- @item LC_ALL
--This is not an environment variable; it is only a macro that you can use
-+This is not a category; it is only a macro that you can use
- with @code{setlocale} to set a single locale for all purposes.  Setting
- this environment variable overwrites all selections by the other
- @code{LC_*} variables or @code{LANG}.
-@@ -225,13 +232,7 @@ The symbols in this section are defined
- @comment ISO
- @deftypefun {char *} setlocale (int @var{category}, const char *@var{locale})
- The function @code{setlocale} sets the current locale for category
--@var{category} to @var{locale}.  A list of all the locales the system
--provides can be created by running
--
--@pindex locale
--@smallexample
--  locale -a
--@end smallexample
-+@var{category} to @var{locale}.
- If @var{category} is @code{LC_ALL}, this specifies the locale for all
- purposes.  The other possible values of @var{category} specify an
-@@ -256,10 +257,9 @@ is passed in as @var{locale} parameter.
- When you read the current locale for category @code{LC_ALL}, the value
- encodes the entire combination of selected locales for all categories.
--In this case, the value is not just a single locale name.  In fact, we
--don't make any promises about what it looks like.  But if you specify
--the same ``locale name'' with @code{LC_ALL} in a subsequent call to
--@code{setlocale}, it restores the same combination of locale selections.
-+If you specify the same ``locale name'' with @code{LC_ALL} in a
-+subsequent call to @code{setlocale}, it restores the same combination
-+of locale selections.
- To be sure you can use the returned string encoding the currently selected
- locale at a later time, you must make a copy of the string.  It is not
-@@ -275,6 +275,11 @@ for @var{category}.
- If a nonempty string is given for @var{locale}, then the locale of that
- name is used if possible.
-+The effective locale name (either the second argument to
-+@code{setlocale}, or if the argument is an empty string, the name
-+obtained from the process environment) must be valid locale name.
-+@xref{Locale Names}.
-+
- If you specify an invalid locale name, @code{setlocale} returns a null
- pointer and leaves the current locale unchanged.
- @end deftypefun
-@@ -328,7 +323,7 @@ locale categories, and future versions o
- portability, assume that any symbol beginning with @samp{LC_} might be
- defined in @file{locale.h}.
--@node Standard Locales, Locale Information, Setting the Locale, Locales
-+@node Standard Locales, Locale Names, Setting the Locale, Locales
- @section Standard Locales
- The only locale names you can count on finding on all operating systems
-@@ -362,7 +357,94 @@ with the environment, rather than trying
- locale explicitly by name.  Remember, different machines might have
- different sets of locales installed.
--@node Locale Information, Formatting Numbers, Standard Locales, Locales
-+@node Locale Names, Locale Information, Standard Locales, Locales
-+@section Locale Names
-+
-+The following command prints a list of locales supported by the
-+system:
-+
-+@pindex locale
-+@smallexample
-+  locale -a
-+@end smallexample
-+
-+@strong{Portability Note:} With the notable exception of the standard
-+locale names @samp{C} and @samp{POSIX}, locale names are
-+system-specific.
-+
-+Most locale names follow XPG syntax and consist of up to four parts:
-+
-+@smallexample
-+@var{language}[_@var{territory}[.@var{codeset}]][@@@var{modifier}]
-+@end smallexample
-+
-+Beside the first part, all of them are allowed to be missing.  If the
-+full specified locale is not found, less specific ones are looked for.
-+The various parts will be stripped off, in the following order:
-+
-+@enumerate
-+@item
-+codeset
-+@item
-+normalized codeset
-+@item
-+territory
-+@item
-+modifier
-+@end enumerate
-+
-+For example, the locale name @samp{de_AT.iso885915@@euro} denotes a
-+German-language locale for use in Austria, using the ISO-8859-15
-+(Latin-9) character set, and with the Euro as the currency symbol.
-+
-+In addition to locale names which follow XPG syntax, systems may
-+provide aliases such as @samp{german}.  Both categories of names must
-+not contain the slash character @samp{/}.
-+
-+If the locale name starts with a slash @samp{/}, it is treated as a
-+path relative to the configured locale directories; see @code{LOCPATH}
-+below.  The specified path must not contain a component @samp{..}, or
-+the name is invalid, and @code{setlocale} will fail.
-+
-+@strong{Portability Note:} POSIX suggests that if a locale name starts
-+with a slash @samp{/}, it is resolved as an absolute path.  However,
-+the GNU C Library treats it as a relative path under the directories listed
-+in @code{LOCPATH} (or the default locale directory if @code{LOCPATH}
-+is unset).
-+
-+Locale names which are longer than an implementation-defined limit are
-+invalid and cause @code{setlocale} to fail.
-+
-+As a special case, locale names used with @code{LC_ALL} can combine
-+several locales, reflecting different locale settings for different
-+categories.  For example, you might want to use a U.S. locale with ISO
-+A4 paper format, so you set @code{LANG} to @samp{en_US.UTF-8}, and
-+@code{LC_PAPER} to @samp{de_DE.UTF-8}.  In this case, the
-+@code{LC_ALL}-style combined locale name is
-+
-+@smallexample
-+LC_CTYPE=en_US.UTF-8;LC_TIME=en_US.UTF-8;LC_PAPER=de_DE.UTF-8;@dots{}
-+@end smallexample
-+
-+followed by other category settings not shown here.
-+
-+@vindex LOCPATH
-+The path used for finding locale data can be set using the
-+@code{LOCPATH} environment variable.  This variable lists the
-+directories in which to search for locale definitions, separated by a
-+colon @samp{:}.
-+
-+The default path for finding locale data is system specific.  A typical
-+value for the @code{LOCPATH} default is:
-+
-+@smallexample
-+/usr/share/locale
-+@end smallexample
-+
-+The value of @code{LOCPATH} is ignored by privileged programs for
-+security reasons, and only the default directory is used.
-+
-+@node Locale Information, Formatting Numbers, Locale Names, Locales
- @section Accessing Locale Information
- There are several ways to access locale information.  The simplest
diff --git a/src/patches/glibc/glibc-rh1138769.patch b/src/patches/glibc/glibc-rh1138769.patch
deleted file mode 100644 (file)
index 94a7d2a..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-commit e35c53e397e7abbd41fedacdedcfa5af7b5c2c52
-Author: Siddhesh Poyarekar <siddhesh@redhat.com>
-Date:   Tue Jul 8 16:40:24 2014 +0530
-
-    Check value at resplen2 if it is not NULL
-    
-    There was a typo in the previous patch due to which resplen2 was
-    checked for non-zero instead of the value at resplen2.  Fix that and
-    improve the condition by checking resplen2 for non-NULL (instead of
-    answerp2) and also adding the check in a third place.
-
-diff --git a/resolv/res_query.c b/resolv/res_query.c
-index 4e6612c..e4ee2a6 100644
---- a/resolv/res_query.c
-+++ b/resolv/res_query.c
-@@ -384,7 +384,7 @@ __libc_res_nsearch(res_state statp,
-                                             answerp2, nanswerp2, resplen2);
-               if (ret > 0 || trailing_dot
-                   /* If the second response is valid then we use that.  */
--                  || (ret == 0 && answerp2 != NULL && resplen2 > 0))
-+                  || (ret == 0 && resplen2 != NULL && *resplen2 > 0))
-                       return (ret);
-               saved_herrno = h_errno;
-               tried_as_is++;
-@@ -424,8 +424,8 @@ __libc_res_nsearch(res_state statp,
-                                                     answer, anslen, answerp,
-                                                     answerp2, nanswerp2,
-                                                     resplen2);
--                      if (ret > 0 || (ret == 0 && answerp2 != NULL
--                                      && resplen2 > 0))
-+                      if (ret > 0 || (ret == 0 && resplen2 != NULL
-+                                      && *resplen2 > 0))
-                               return (ret);
-                       if (answerp && *answerp != answer) {
-@@ -494,7 +494,8 @@ __libc_res_nsearch(res_state statp,
-               ret = __libc_res_nquerydomain(statp, name, NULL, class, type,
-                                             answer, anslen, answerp,
-                                             answerp2, nanswerp2, resplen2);
--              if (ret > 0)
-+              if (ret > 0 || (ret == 0 && resplen2 != NULL
-+                              && *resplen2 > 0))
-                       return (ret);
-       }
diff --git a/src/patches/glibc/glibc-rh1144019.patch b/src/patches/glibc/glibc-rh1144019.patch
deleted file mode 100644 (file)
index 1732de6..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# Based on the following commit:
-#
-# commit f9d2d03254a58d92635a311a42253eeed5a40a47
-# Author: Andreas Schwab <schwab@suse.de>
-# Date:   Mon May 26 18:01:31 2014 +0200
-# 
-#     Fix invalid file descriptor reuse while sending DNS query (BZ #15946)
-# 
-# 2014-06-03  Andreas Schwab  <schwab@suse.de>
-# 
-#      [BZ #15946]
-#      * resolv/res_send.c (send_dg): Reload file descriptor after
-#      calling reopen.
-# 
-diff --git a/resolv/res_send.c b/resolv/res_send.c
-index 3273d55..af42b8a 100644
---- a/resolv/res_send.c
-+++ b/resolv/res_send.c
-@@ -1410,6 +1410,7 @@ send_dg(res_state statp,
-                                       retval = reopen (statp, terrno, ns);
-                                       if (retval <= 0)
-                                               return retval;
-+                                      pfd[0].fd = EXT(statp).nssocks[ns];
-                               }
-                       }
-                       goto wait;
diff --git a/src/patches/glibc/glibc-rh1144132.patch b/src/patches/glibc/glibc-rh1144132.patch
deleted file mode 100644 (file)
index 4114b58..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-#
-# Based on this commit:
-#
-# commit 62058ce612ed3459501b4c4332e268edfe977f59
-# Author: Carlos O'Donell <carlos@redhat.com>
-# Date:   Mon Sep 29 13:14:21 2014 -0400
-# 
-#     Correctly size profiling reloc table (bug 17411)
-#     
-#     During auditing or profiling modes the dynamic loader
-#     builds a cache of the relocated PLT entries in order
-#     to reuse them when called again through the same PLT
-#     entry. This way the PLT entry is never completed and
-#     the call into the resolver always results in profiling
-#     or auditing code running.
-#     
-#     The problem is that the PLT relocation cache size
-#     is not computed correctly. The size of the cache
-#     should be "Size of a relocation result structure"
-#     x "Number of PLT-related relocations". Instead the
-#     code erroneously computes "Size of a relocation
-#     result" x "Number of bytes worth of PLT-related
-#     relocations". I can only assume this was a mistake
-#     in the understanding of the value of DT_PLTRELSZ
-#     which is the number of bytes of PLT-related relocs.
-#     We do have a DT_RELACOUNT entry, which is a count
-#     for dynamic relative relocs, but we have no
-#     DT_PLTRELCOUNT and thus we need to compute it.
-#     
-#     This patch corrects the computation of the size of the
-#     relocation table used by the glibc profiling code.
-#     
-#     For more details see:
-#     https://sourceware.org/ml/libc-alpha/2014-09/msg00513.html
-#     
-#         [BZ #17411]
-#         * elf/dl-reloc.c (_dl_relocate_object): Allocate correct amount for
-#         l_reloc_result.
-# 
-diff --git a/elf/dl-reloc.c b/elf/dl-reloc.c
-index d2c6dac..97a7119 100644
---- a/elf/dl-reloc.c
-+++ b/elf/dl-reloc.c
-@@ -279,8 +279,12 @@ _dl_relocate_object (struct link_map *l, struct r_scope_elem *scope[],
-                             l->l_name);
-         }
--      l->l_reloc_result = calloc (sizeof (l->l_reloc_result[0]),
--                                  l->l_info[DT_PLTRELSZ]->d_un.d_val);
-+      size_t sizeofrel = l->l_info[DT_PLTREL]->d_un.d_val == DT_RELA
-+                         ? sizeof (ElfW(Rela))
-+                         : sizeof (ElfW(Rel));
-+      size_t relcount = l->l_info[DT_PLTRELSZ]->d_un.d_val / sizeofrel;
-+      l->l_reloc_result = calloc (sizeof (l->l_reloc_result[0]), relcount);
-+
-       if (l->l_reloc_result == NULL)
-         {
-           errstring = N_("\
diff --git a/src/patches/glibc/glibc-rh1154563.patch b/src/patches/glibc/glibc-rh1154563.patch
deleted file mode 100644 (file)
index 22821b1..0000000
+++ /dev/null
@@ -1,333 +0,0 @@
-#
-# This is a special patch for rhel-6 to fix recursive dlopen.
-# It is likely the upstream patch will always be too risky for
-# rhel-6 and will involve reorganizing the way in which recursive
-# dlopen is allowed to operate and how the _r_debug and stap
-# points are used by gdb for the recursive case.
-#
-# This fix changes the internal API to duplicate the ldconfig
-# cache data. This means that at any point the cache can be
-# unmapped without any consequences. The caller is responsible
-# fore freeing the returned string.
-#
-# A regression test is added to verify the assertion for _r_debug
-# is no longer triggered due to the recursive dlopen. The test to
-# verify the fix in _dl_load_cache_lookup is not automated and
-# has to be run by hand.
-#
-diff -urN glibc-2.12-2-gc4ccff1/elf/dl-cache.c glibc-2.12-2-gc4ccff1.mod/elf/dl-cache.c
---- glibc-2.12-2-gc4ccff1/elf/dl-cache.c       2010-05-04 07:27:23.000000000 -0400
-+++ glibc-2.12-2-gc4ccff1.mod/elf/dl-cache.c   2014-12-10 21:54:08.801985045 -0500
-@@ -175,9 +175,12 @@
- /* Look up NAME in ld.so.cache and return the file name stored there,
--   or null if none is found.  */
--
--const char *
-+   or null if none is found. 
-+   The caller is responsible for freeing the returned string.  The ld.so.cache
-+   may be unmapped at any time by a completing recursive dlopen and
-+   this function must take care that it does not return references to
-+   any data in the mapping.  */
-+char *
- internal_function
- _dl_load_cache_lookup (const char *name)
- {
-@@ -290,7 +293,17 @@
-       && best != NULL)
-     _dl_debug_printf ("  trying file=%s\n", best);
--  return best;
-+  if (best == NULL)
-+    return NULL;
-+
-+  /* The double copy is *required* since malloc may be interposed
-+     and call dlopen itself whose completion would unmap the data
-+     we are accessing. Therefore we must make the copy of the
-+     mapping data without using malloc.  */
-+  char *temp;
-+  temp = alloca (strlen (best) + 1);
-+  strcpy (temp, best);
-+  return strdup (temp);
- }
- #ifndef MAP_COPY
-diff -urN glibc-2.12-2-gc4ccff1/elf/dl-load.c glibc-2.12-2-gc4ccff1.mod/elf/dl-load.c
---- glibc-2.12-2-gc4ccff1/elf/dl-load.c        2014-12-10 11:03:17.966048404 -0500
-+++ glibc-2.12-2-gc4ccff1.mod/elf/dl-load.c    2014-12-10 21:47:29.319387538 -0500
-@@ -2126,7 +2126,7 @@
-       {
-         /* Check the list of libraries in the file /etc/ld.so.cache,
-            for compatibility with Linux's ldconfig program.  */
--        const char *cached = _dl_load_cache_lookup (name);
-+        char *cached = _dl_load_cache_lookup (name);
-         if (cached != NULL)
-           {
-@@ -2156,6 +2156,7 @@
-                     if (memcmp (cached, dirp, system_dirs_len[cnt]) == 0)
-                       {
-                         /* The prefix matches.  Don't use the entry.  */
-+                        free (cached);
-                         cached = NULL;
-                         break;
-                       }
-@@ -2172,14 +2173,9 @@
-                                   &fb, loader ?: GL(dl_ns)[nsid]._ns_loaded,
-                                   LA_SER_CONFIG, &found_other_class, false);
-                 if (__builtin_expect (fd != -1, 1))
--                  {
--                    realname = local_strdup (cached);
--                    if (realname == NULL)
--                      {
--                        __close (fd);
--                        fd = -1;
--                      }
--                  }
-+                  realname = cached;
-+                else
-+                  free (cached);
-               }
-           }
-       }
-diff -urN glibc-2.12-2-gc4ccff1/elf/dl-open.c glibc-2.12-2-gc4ccff1.mod/elf/dl-open.c
---- glibc-2.12-2-gc4ccff1/elf/dl-open.c        2014-12-10 11:03:18.083048497 -0500
-+++ glibc-2.12-2-gc4ccff1.mod/elf/dl-open.c    2014-12-10 20:34:16.017503638 -0500
-@@ -220,7 +220,11 @@
-       }
-     }
--  assert (_dl_debug_initialize (0, args->nsid)->r_state == RT_CONSISTENT);
-+  /* One might be tempted to assert that we are RT_CONSISTENT at this point, but that
-+     may not be true if this is a recursive call to dlopen.
-+     TODO: Fix all of the debug state so we end up at RT_CONSISTENT only when the last
-+     recursive dlopen completes.  */
-+  _dl_debug_initialize (0, args->nsid);
-   /* Load the named object.  */
-   struct link_map *new;
-diff -urN glibc-2.12-2-gc4ccff1/sysdeps/generic/ldsodefs.h glibc-2.12-2-gc4ccff1.mod/sysdeps/generic/ldsodefs.h
---- glibc-2.12-2-gc4ccff1/sysdeps/generic/ldsodefs.h   2014-12-10 11:03:17.944048387 -0500
-+++ glibc-2.12-2-gc4ccff1.mod/sysdeps/generic/ldsodefs.h       2014-12-10 21:46:14.071344018 -0500
-@@ -996,8 +996,8 @@
-      internal_function;
- /* Look up NAME in ld.so.cache and return the file name stored there,
--   or null if none is found.  */
--extern const char *_dl_load_cache_lookup (const char *name)
-+   or null if none is found.  Caller must free returned string.  */
-+extern char *_dl_load_cache_lookup (const char *name)
-      internal_function;
- /* If the system does not support MAP_COPY we cannot leave the file open
-diff -urN glibc-2.12-2-gc4ccff1/dlfcn/Makefile glibc-2.12-2-gc4ccff1.mod/dlfcn/Makefile
---- glibc-2.12-2-gc4ccff1/dlfcn/Makefile       2010-05-04 07:27:23.000000000 -0400
-+++ glibc-2.12-2-gc4ccff1.mod/dlfcn/Makefile   2014-12-11 16:58:55.719803063 -0500
-@@ -42,12 +42,12 @@
- ifeq (yes,$(build-shared))
- tests = glrefmain failtest tst-dladdr default errmsg1 tstcxaatexit \
-       bug-dlopen1 bug-dlsym1 tst-dlinfo bug-atexit1 bug-atexit2 \
--      bug-atexit3 tstatexit
-+      bug-atexit3 tstatexit tst-rec-dlopen
- endif
- modules-names = glreflib1 glreflib2 glreflib3 failtestmod defaultmod1 \
-               defaultmod2 errmsg1mod modatexit modcxaatexit \
-               bug-dlsym1-lib1 bug-dlsym1-lib2 bug-atexit1-lib \
--              bug-atexit2-lib bug-atexit3-lib
-+              bug-atexit2-lib bug-atexit3-lib moddummy1 moddummy2
- failtestmod.so-no-z-defs = yes
- glreflib2.so-no-z-defs = yes
-@@ -142,6 +142,8 @@
- $(objpfx)bug-atexit3-lib.so: $(common-objpfx)libc.so \
-                            $(common-objpfx)libc_nonshared.a
-+LDLIBS-tst-rec-dlopen = -ldl
-+$(objpfx)tst-rec-dlopen: $(libdl)
- # Depend on libc.so so a DT_NEEDED is generated in the shared objects.
- # This ensures they will load libc.so for needed symbols if loaded by
-diff -urN glibc-2.12-2-gc4ccff1/dlfcn/moddummy1.c glibc-2.12-2-gc4ccff1.mod/dlfcn/moddummy1.c
---- glibc-2.12-2-gc4ccff1/dlfcn/moddummy1.c    1969-12-31 19:00:00.000000000 -0500
-+++ glibc-2.12-2-gc4ccff1.mod/dlfcn/moddummy1.c        2014-12-11 16:57:54.108797285 -0500
-@@ -0,0 +1,13 @@
-+/* Provide a dummy DSO for tst-recursive-dlopen to use.  */
-+#include <stdio.h>
-+#include <stdlib.h>
-+
-+int called_dummy1;
-+
-+void
-+dummy1 (void)
-+{
-+  printf ("Called dummy1()\n");
-+  called_dummy1++;
-+}
-+
-diff -urN glibc-2.12-2-gc4ccff1/dlfcn/moddummy2.c glibc-2.12-2-gc4ccff1.mod/dlfcn/moddummy2.c
---- glibc-2.12-2-gc4ccff1/dlfcn/moddummy2.c    1969-12-31 19:00:00.000000000 -0500
-+++ glibc-2.12-2-gc4ccff1.mod/dlfcn/moddummy2.c        2014-12-11 16:57:54.108797285 -0500
-@@ -0,0 +1,13 @@
-+/* Provide a dummy DSO for tst-recursive-dlopen to use.  */
-+#include <stdio.h>
-+#include <stdlib.h>
-+
-+int called_dummy2;
-+
-+void
-+dummy2 (void)
-+{
-+  printf ("Called dummy2()\n");
-+  called_dummy2++;
-+}
-+
-diff -urN glibc-2.12-2-gc4ccff1/dlfcn/tst-rec-dlopen.c glibc-2.12-2-gc4ccff1.mod/dlfcn/tst-rec-dlopen.c
---- glibc-2.12-2-gc4ccff1/dlfcn/tst-rec-dlopen.c       1969-12-31 19:00:00.000000000 -0500
-+++ glibc-2.12-2-gc4ccff1.mod/dlfcn/tst-rec-dlopen.c   2014-12-11 20:53:28.617848774 -0500
-@@ -0,0 +1,145 @@
-+/* Test recursive dlopen using malloc hooks.
-+   Copyright (C) 1998-2014 Free Software Foundation, Inc.
-+   This file is part of the GNU C Library.
-+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
-+
-+   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, see
-+   <http://www.gnu.org/licenses/>.  */
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <malloc.h>
-+#include <dlfcn.h>
-+
-+#define DSO "moddummy1.so"
-+#define FUNC "dummy1"
-+
-+#define DSO1 "moddummy2.so"
-+#define FUNC1 "dummy2"
-+
-+/* Prevent the compiler from moving the assignment to called_func
-+   before (*func)() since the compiler doesn't know we might abort
-+   or catch a SIGSEGV signal and it may move the store.  */
-+volatile int called_func;
-+
-+/* Prototype for my hook.  */
-+void *custom_malloc_hook (size_t, const void *);
-+
-+/* Pointer to old malloc hooks.  */
-+void *(*old_malloc_hook) (size_t, const void *);
-+
-+/* Call function func_name in DSO dso_name via dlopen.  */
-+void
-+call_func (const char *dso_name, const char *func_name)
-+{
-+  int ret;
-+  void *dso;
-+  void (*func) (void);
-+  char *err;
-+
-+  /* Open the DSO.  */
-+  dso = dlopen (dso_name, RTLD_NOW|RTLD_GLOBAL);
-+  if (dso == NULL)
-+    {
-+      err = dlerror ();
-+      fprintf (stderr, "%s\n", err);
-+      exit (1);
-+    }
-+  /* Clear any errors.  */
-+  dlerror ();
-+
-+  /* Lookup func.  */
-+  *(void **) (&func) = dlsym (dso, func_name);
-+  if (func == NULL)
-+    {
-+      err = dlerror ();
-+      if (err != NULL)
-+        {
-+        fprintf (stderr, "%s\n", err);
-+        exit (1);
-+        }
-+    }
-+  /* Call func.  */
-+  (*func) ();
-+  called_func = 1;
-+
-+  /* Close the library and look for errors too.  */
-+  ret = dlclose (dso);
-+  if (ret != 0)
-+    {
-+      err = dlerror ();
-+      fprintf (stderr, "%s\n", err);
-+      exit (1);
-+    }
-+
-+}
-+
-+/* Empty hook that does nothing.  */
-+void *
-+custom_malloc_hook (size_t size, const void *caller)
-+{
-+  void *result;
-+  /* Restore old hooks.  */
-+  __malloc_hook = old_malloc_hook;
-+  /* First call a function in another library via dlopen.  */
-+  call_func (DSO1, FUNC1);
-+  /* Called recursively.  */
-+  result = malloc (size);
-+  /* Restore new hooks.  */
-+  __malloc_hook = custom_malloc_hook;
-+  return result;
-+}
-+
-+static int
-+do_test (void)
-+{
-+  /* Save old hook.  */
-+  old_malloc_hook = __malloc_hook;
-+  /* Install new hook.  */
-+  __malloc_hook = custom_malloc_hook;
-+
-+  /* Bug 17702 fixes two things:
-+       * A recursive dlopen unmapping the ld.so.cache.
-+       * An assertion that _r_debug is RT_CONSISTENT at entry to dlopen.
-+     We can only test the latter. Testing the former requires modifying
-+     ld.so.conf to cache the dummy libraries, then running ldconfig,
-+     then run the test. If you do all of that (and glibc's test
-+     infrastructure doesn't support that yet) then the test will
-+     SEGFAULT without the fix. If you don't do that, then the test
-+     will abort because of the assert described in detail below.  */
-+  call_func (DSO, FUNC);
-+
-+  /* Restore old hook.  */
-+  __malloc_hook = old_malloc_hook;
-+
-+  /* The function dummy2() is called by the malloc hook. Check to
-+     see that it was called. This ensures the second recursive
-+     dlopen happened and we called the function in that library.
-+
-+     Before the fix you either get a SIGSEGV when accessing mmap'd
-+     ld.so.cache data or an assertion failure about _r_debug not
-+     beint RT_CONSISTENT.  We don't test for the SIGSEGV since it
-+     would require finding moddummy1 or moddummy2 in the cache and
-+     we don't have any infrastructure to test that, but the _r_debug
-+     assertion triggers.  */
-+  if (called_func > 0)
-+    printf ("PASS: Function call_func() called more than once.\n");
-+  else
-+    printf ("FAIL: Function call_func() not called.\n");
-+
-+  return 0;
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
diff --git a/src/patches/glibc/glibc-rh1159167.patch b/src/patches/glibc/glibc-rh1159167.patch
deleted file mode 100644 (file)
index 59f4a6f..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/sunrpc/svc.c b/sunrpc/svc.c
-index ccf0902..30c3a93 100644
---- a/sunrpc/svc.c
-+++ b/sunrpc/svc.c
-@@ -97,8 +97,8 @@ xprt_register (SVCXPRT *xprt)
-   if (xports == NULL)
-     {
--      xports = (SVCXPRT **) malloc (_rpc_dtablesize () * sizeof (SVCXPRT *));
--      if (xports == NULL) /* Don´t add handle */
-+      xports = (SVCXPRT **) calloc (_rpc_dtablesize (), sizeof (SVCXPRT *));
-+      if (xports == NULL) /* Don't add handle */
-       return;
-     }
diff --git a/src/patches/glibc/glibc-rh1171296.patch b/src/patches/glibc/glibc-rh1171296.patch
deleted file mode 100644 (file)
index 1accbf3..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-#
-# commit a39208bd7fb76c1b01c127b4c61f9bfd915bfe7c
-# Author: Carlos O'Donell <carlos@redhat.com>
-# Date:   Wed Nov 19 11:44:12 2014 -0500
-# 
-#     CVE-2014-7817: wordexp fails to honour WRDE_NOCMD.
-#     
-#     The function wordexp() fails to properly handle the WRDE_NOCMD
-#     flag when processing arithmetic inputs in the form of "$((... ``))"
-#     where "..." can be anything valid. The backticks in the arithmetic
-#     epxression are evaluated by in a shell even if WRDE_NOCMD forbade
-#     command substitution. This allows an attacker to attempt to pass
-#     dangerous commands via constructs of the above form, and bypass
-#     the WRDE_NOCMD flag. This patch fixes this by checking for WRDE_NOCMD
-#     in exec_comm(), the only place that can execute a shell. All other
-#     checks for WRDE_NOCMD are superfluous and removed.
-#     
-#     We expand the testsuite and add 3 new regression tests of roughly
-#     the same form but with a couple of nested levels.
-#     
-#     On top of the 3 new tests we add fork validation to the WRDE_NOCMD
-#     testing. If any forks are detected during the execution of a wordexp()
-#     call with WRDE_NOCMD, the test is marked as failed. This is slightly
-#     heuristic since vfork might be used in the future, but it provides a
-#     higher level of assurance that no shells were executed as part of
-#     command substitution with WRDE_NOCMD in effect. In addition it doesn't
-#     require libpthread or libdl, instead we use the public implementation
-#     namespace function __register_atfork (already part of the public ABI
-#     for libpthread).
-#     
-#     Tested on x86_64 with no regressions.
-# 
-diff --git a/posix/wordexp-test.c b/posix/wordexp-test.c
-index 4957006..bdd65e4 100644
---- a/posix/wordexp-test.c
-+++ b/posix/wordexp-test.c
-@@ -27,6 +27,25 @@
- #define IFS " \n\t"
-+extern void *__dso_handle __attribute__ ((__weak__, __visibility__ ("hidden")));
-+extern int __register_atfork (void (*) (void), void (*) (void), void (*) (void), void *);
-+
-+static int __app_register_atfork (void (*prepare) (void), void (*parent) (void), void (*child) (void))
-+{
-+  return __register_atfork (prepare, parent, child,
-+                          &__dso_handle == NULL ? NULL : __dso_handle);
-+}
-+
-+/* Number of forks seen.  */
-+static int registered_forks;
-+
-+/* For each fork increment the fork count.  */
-+static void
-+register_fork (void)
-+{
-+  registered_forks++;
-+}
-+
- struct test_case_struct
- {
-   int retval;
-@@ -206,6 +225,12 @@ struct test_case_struct
-     { WRDE_SYNTAX, NULL, "$((2+))", 0, 0, { NULL, }, IFS },
-     { WRDE_SYNTAX, NULL, "`", 0, 0, { NULL, }, IFS },
-     { WRDE_SYNTAX, NULL, "$((010+4+))", 0, 0, { NULL }, IFS },
-+    /* Test for CVE-2014-7817. We test 3 combinations of command
-+       substitution inside an arithmetic expression to make sure that
-+       no commands are executed and error is returned.  */
-+    { WRDE_CMDSUB, NULL, "$((`echo 1`))", WRDE_NOCMD, 0, { NULL, }, IFS },
-+    { WRDE_CMDSUB, NULL, "$((1+`echo 1`))", WRDE_NOCMD, 0, { NULL, }, IFS },
-+    { WRDE_CMDSUB, NULL, "$((1+$((`echo 1`))))", WRDE_NOCMD, 0, { NULL, }, IFS },
-     { -1, NULL, NULL, 0, 0, { NULL, }, IFS },
-   };
-@@ -258,6 +283,15 @@ main (int argc, char *argv[])
-         return -1;
-     }
-+  /* If we are not allowed to do command substitution, we install
-+     fork handlers to verify that no forks happened.  No forks should
-+     happen at all if command substitution is disabled.  */
-+  if (__app_register_atfork (register_fork, NULL, NULL) != 0)
-+    {
-+      printf ("Failed to register fork handler.\n");
-+      return -1;
-+    }
-+
-   for (test = 0; test_case[test].retval != -1; test++)
-     if (testit (&test_case[test]))
-       ++fail;
-@@ -367,6 +401,9 @@ testit (struct test_case_struct *tc)
-   printf ("Test %d (%s): ", ++tests, tc->words);
-+  if (tc->flags & WRDE_NOCMD)
-+    registered_forks = 0;
-+
-   if (tc->flags & WRDE_APPEND)
-     {
-       /* initial wordexp() call, to be appended to */
-@@ -378,6 +415,13 @@ testit (struct test_case_struct *tc)
-     }
-   retval = wordexp (tc->words, &we, tc->flags);
-+  if ((tc->flags & WRDE_NOCMD)
-+      && (registered_forks > 0))
-+    {
-+        printf ("FAILED fork called for WRDE_NOCMD\n");
-+        return 1;
-+    }
-+
-   if (tc->flags & WRDE_DOOFFS)
-       start_offs = sav_we.we_offs;
-diff --git a/posix/wordexp.c b/posix/wordexp.c
-index b6b65dd..26f3a26 100644
---- a/posix/wordexp.c
-+++ b/posix/wordexp.c
-@@ -893,6 +893,10 @@ exec_comm (char *comm, char **word, size_t *word_length, size_t *max_length,
-   pid_t pid;
-   int noexec = 0;
-+  /* Do nothing if command substitution should not succeed.  */
-+  if (flags & WRDE_NOCMD)
-+    return WRDE_CMDSUB;
-+
-   /* Don't fork() unless necessary */
-   if (!comm || !*comm)
-     return 0;
-@@ -2082,9 +2086,6 @@ parse_dollars (char **word, size_t *word_length, size_t *max_length,
-           }
-       }
--      if (flags & WRDE_NOCMD)
--      return WRDE_CMDSUB;
--
-       (*offset) += 2;
-       return parse_comm (word, word_length, max_length, words, offset, flags,
-                        quoted? NULL : pwordexp, ifs, ifs_white);
-@@ -2196,9 +2197,6 @@ parse_dquote (char **word, size_t *word_length, size_t *max_length,
-         break;
-       case '`':
--        if (flags & WRDE_NOCMD)
--          return WRDE_CMDSUB;
--
-         ++(*offset);
-         error = parse_backtick (word, word_length, max_length, words,
-                                 offset, flags, NULL, NULL, NULL);
-@@ -2357,12 +2355,6 @@ wordexp (const char *words, wordexp_t *pwordexp, int flags)
-       break;
-       case '`':
--      if (flags & WRDE_NOCMD)
--        {
--          error = WRDE_CMDSUB;
--          goto do_error;
--        }
--
-       ++words_offset;
-       error = parse_backtick (&word, &word_length, &max_length, words,
-                               &words_offset, flags, pwordexp, ifs,
diff --git a/src/patches/glibc/glibc-rh1172044.patch b/src/patches/glibc/glibc-rh1172044.patch
deleted file mode 100644 (file)
index b1320a7..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-commit 41488498b6d9440ee66ab033808cce8323bba7ac
-Author: Florian Weimer <fweimer@redhat.com>
-Date:   Wed Sep 3 19:45:43 2014 +0200
-
-    CVE-2014-6040: Crashes on invalid input in IBM gconv modules [BZ #17325]
-    
-    These changes are based on the fix for BZ #14134 in commit
-    6e230d11837f3ae7b375ea69d7905f0d18eb79e5.
-
-diff --git a/iconvdata/Makefile b/iconvdata/Makefile
-index 0a410a1..b6327d6 100644
---- a/iconvdata/Makefile
-+++ b/iconvdata/Makefile
-@@ -297,6 +297,7 @@ $(objpfx)tst-iconv7.out: $(objpfx)gconv-modules \
- $(objpfx)iconv-test.out: run-iconv-test.sh $(objpfx)gconv-modules \
-                        $(addprefix $(objpfx),$(modules.so)) \
-                        $(common-objdir)/iconv/iconv_prog TESTS
-+      iconv_modules="$(modules)" \
-       $(SHELL) -e $< $(common-objdir) > $@
- $(objpfx)tst-tables.out: tst-tables.sh $(objpfx)gconv-modules \
-diff --git a/iconvdata/ibm1364.c b/iconvdata/ibm1364.c
-index 0b5484f..cf80993 100644
---- a/iconvdata/ibm1364.c
-+++ b/iconvdata/ibm1364.c
-@@ -221,7 +221,8 @@ enum
-         ++rp2;                                                              \
-                                                                             \
-       uint32_t res;                                                         \
--      if (__builtin_expect (ch < rp2->start, 0)                             \
-+      if (__builtin_expect (rp2->start == 0xffff, 0)                        \
-+          || __builtin_expect (ch < rp2->start, 0)                          \
-           || (res = DB_TO_UCS4[ch + rp2->idx],                              \
-               __builtin_expect (res, L'\1') == L'\0' && ch != '\0'))        \
-         {                                                                   \
-diff --git a/iconvdata/ibm932.c b/iconvdata/ibm932.c
-index f5dca59..aa69d65 100644
---- a/iconvdata/ibm932.c
-+++ b/iconvdata/ibm932.c
-@@ -74,11 +74,12 @@
-         }                                                                   \
-                                                                             \
-       ch = (ch * 0x100) + inptr[1];                                         \
-+      /* ch was less than 0xfd.  */                                         \
-+      assert (ch < 0xfd00);                                                 \
-       while (ch > rp2->end)                                                 \
-         ++rp2;                                                              \
-                                                                             \
--      if (__builtin_expect (rp2 == NULL, 0)                                 \
--          || __builtin_expect (ch < rp2->start, 0)                          \
-+      if (__builtin_expect (ch < rp2->start, 0)                             \
-           || (res = __ibm932db_to_ucs4[ch + rp2->idx],                      \
-           __builtin_expect (res, '\1') == 0 && ch !=0))                     \
-         {                                                                   \
-diff --git a/iconvdata/ibm933.c b/iconvdata/ibm933.c
-index f46dfb5..461fb5e 100644
---- a/iconvdata/ibm933.c
-+++ b/iconvdata/ibm933.c
-@@ -162,7 +162,7 @@ enum
-       while (ch > rp2->end)                                                 \
-         ++rp2;                                                              \
-                                                                             \
--      if (__builtin_expect (rp2 == NULL, 0)                                 \
-+      if (__builtin_expect (rp2->start == 0xffff, 0)                        \
-           || __builtin_expect (ch < rp2->start, 0)                          \
-           || (res = __ibm933db_to_ucs4[ch + rp2->idx],                      \
-               __builtin_expect (res, L'\1') == L'\0' && ch != '\0'))        \
-diff --git a/iconvdata/ibm935.c b/iconvdata/ibm935.c
-index a8e4e6c..132d816 100644
---- a/iconvdata/ibm935.c
-+++ b/iconvdata/ibm935.c
-@@ -162,7 +162,7 @@ enum
-       while (ch > rp2->end)                                                 \
-         ++rp2;                                                              \
-                                                                             \
--      if (__builtin_expect (rp2 == NULL, 0)                                 \
-+      if (__builtin_expect (rp2->start == 0xffff, 0)                        \
-           || __builtin_expect (ch < rp2->start, 0)                          \
-           || (res = __ibm935db_to_ucs4[ch + rp2->idx],                      \
-               __builtin_expect (res, L'\1') == L'\0' && ch != '\0'))        \
-diff --git a/iconvdata/ibm937.c b/iconvdata/ibm937.c
-index 239be61..69b154d 100644
---- a/iconvdata/ibm937.c
-+++ b/iconvdata/ibm937.c
-@@ -162,7 +162,7 @@ enum
-       while (ch > rp2->end)                                                 \
-         ++rp2;                                                              \
-                                                                             \
--      if (__builtin_expect (rp2 == NULL, 0)                                 \
-+      if (__builtin_expect (rp2->start == 0xffff, 0)                        \
-           || __builtin_expect (ch < rp2->start, 0)                          \
-           || (res = __ibm937db_to_ucs4[ch + rp2->idx],                      \
-               __builtin_expect (res, L'\1') == L'\0' && ch != '\0'))        \
-diff --git a/iconvdata/ibm939.c b/iconvdata/ibm939.c
-index 5d0db36..9936e2c 100644
---- a/iconvdata/ibm939.c
-+++ b/iconvdata/ibm939.c
-@@ -162,7 +162,7 @@ enum
-       while (ch > rp2->end)                                                 \
-         ++rp2;                                                              \
-                                                                             \
--      if (__builtin_expect (rp2 == NULL, 0)                                 \
-+      if (__builtin_expect (rp2->start == 0xffff, 0)                        \
-           || __builtin_expect (ch < rp2->start, 0)                          \
-           || (res = __ibm939db_to_ucs4[ch + rp2->idx],                      \
-               __builtin_expect (res, L'\1') == L'\0' && ch != '\0'))        \
-diff --git a/iconvdata/ibm943.c b/iconvdata/ibm943.c
-index be0c14f..c5d5742 100644
---- a/iconvdata/ibm943.c
-+++ b/iconvdata/ibm943.c
-@@ -75,11 +75,12 @@
-         }                                                                   \
-                                                                             \
-       ch = (ch * 0x100) + inptr[1];                                         \
-+      /* ch was less than 0xfd.  */                                         \
-+      assert (ch < 0xfd00);                                                 \
-       while (ch > rp2->end)                                                 \
-         ++rp2;                                                              \
-                                                                             \
--      if (__builtin_expect (rp2 == NULL, 0)                                 \
--          || __builtin_expect (ch < rp2->start, 0)                          \
-+      if (__builtin_expect (ch < rp2->start, 0)                             \
-           || (res = __ibm943db_to_ucs4[ch + rp2->idx],                      \
-           __builtin_expect (res, '\1') == 0 && ch !=0))                     \
-         {                                                                   \
-diff --git a/iconvdata/run-iconv-test.sh b/iconvdata/run-iconv-test.sh
-index c98c929..5dfb69f 100755
---- a/iconvdata/run-iconv-test.sh
-+++ b/iconvdata/run-iconv-test.sh
-@@ -184,6 +184,24 @@ while read utf8 from filename; do
- done < TESTS2
-+# Check for crashes in decoders.
-+printf '\016\377\377\377\377\377\377\377' > $temp1
-+for from in $iconv_modules ; do
-+    echo $ac_n "test decoder $from $ac_c"
-+    PROG=`eval echo $ICONV`
-+    if $PROG < $temp1 >/dev/null 2>&1 ; then
-+      : # fall through
-+    else
-+      status=$?
-+      if test $status -gt 1 ; then
-+          echo "/FAILED"
-+          failed=1
-+          continue
-+      fi
-+    fi
-+    echo "OK"
-+done
-+
- exit $failed
- # Local Variables:
- #  mode:shell-script
diff --git a/src/patches/glibc/glibc-rh1176907.patch b/src/patches/glibc/glibc-rh1176907.patch
deleted file mode 100644 (file)
index 29cdacf..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-commit 7d81e8d6db95c112c297930a8f2f9617c305529a
-Author: Florian Weimer <fweimer@redhat.com>
-Date:   Tue Dec 23 16:16:32 2014 +0100
-
-    iconvdata/run-iconv-test.sh: Actually test iconv modules
-    
-    Arjun Shankar noticed that this test case was not testing anything
-    because iconv was invoked without the required arguments.
-
-diff --git a/iconvdata/run-iconv-test.sh b/iconvdata/run-iconv-test.sh
-index 5dfb69f..1d0bf52 100755
---- a/iconvdata/run-iconv-test.sh
-+++ b/iconvdata/run-iconv-test.sh
-@@ -189,7 +189,7 @@ printf '\016\377\377\377\377\377\377\377' > $temp1
- for from in $iconv_modules ; do
-     echo $ac_n "test decoder $from $ac_c"
-     PROG=`eval echo $ICONV`
--    if $PROG < $temp1 >/dev/null 2>&1 ; then
-+    if $PROG -f $from -t UTF8 < $temp1 >/dev/null 2>&1 ; then
-       : # fall through
-     else
-       status=$?
diff --git a/src/patches/glibc/glibc-rh1183534.patch b/src/patches/glibc/glibc-rh1183534.patch
deleted file mode 100644 (file)
index eab7a3f..0000000
+++ /dev/null
@@ -1,223 +0,0 @@
-commit d5dd6189d506068ed11c8bfa1e1e9bffde04decd
-Author: Andreas Schwab <schwab@suse.de>
-Date:   Mon Jan 21 17:41:28 2013 +0100
-
-    Fix parsing of numeric hosts in gethostbyname_r
-
-diff --git a/nss/Makefile b/nss/Makefile
-index 449a258..553eafa 100644
---- a/nss/Makefile
-+++ b/nss/Makefile
-@@ -37,7 +37,7 @@ install-bin             := getent makedb
- others                  := getent
- install-bin             := getent
--tests                 = test-netdb tst-nss-test1
-+tests                 = test-netdb tst-nss-test1 test-digits-dots
- xtests                        = bug-erange
- include ../Makeconfig
-diff --git a/nss/digits_dots.c b/nss/digits_dots.c
-index 2b86295..e007ef4 100644
---- a/nss/digits_dots.c
-+++ b/nss/digits_dots.c
-@@ -46,7 +46,10 @@ __nss_hostname_digits_dots (const char *name, struct hostent *resbuf,
-     {
-       if (h_errnop)
-       *h_errnop = NETDB_INTERNAL;
--      *result = NULL;
-+      if (buffer_size == NULL)
-+      *status = NSS_STATUS_TRYAGAIN;
-+      else
-+      *result = NULL;
-       return -1;
-     }
-@@ -83,14 +86,16 @@ __nss_hostname_digits_dots (const char *name, struct hostent *resbuf,
-       }
-       size_needed = (sizeof (*host_addr)
--                   + sizeof (*h_addr_ptrs) + strlen (name) + 1);
-+                   + sizeof (*h_addr_ptrs)
-+                   + sizeof (*h_alias_ptr) + strlen (name) + 1);
-       if (buffer_size == NULL)
-         {
-         if (buflen < size_needed)
-           {
-+            *status = NSS_STATUS_TRYAGAIN;
-             if (h_errnop != NULL)
--              *h_errnop = TRY_AGAIN;
-+              *h_errnop = NETDB_INTERNAL;
-             __set_errno (ERANGE);
-             goto done;
-           }
-@@ -109,7 +114,7 @@ __nss_hostname_digits_dots (const char *name, struct hostent *resbuf,
-             *buffer_size = 0;
-             __set_errno (save);
-             if (h_errnop != NULL)
--              *h_errnop = TRY_AGAIN;
-+              *h_errnop = NETDB_INTERNAL;
-             *result = NULL;
-             goto done;
-           }
-@@ -149,7 +154,9 @@ __nss_hostname_digits_dots (const char *name, struct hostent *resbuf,
-                 if (! ok)
-                   {
-                     *h_errnop = HOST_NOT_FOUND;
--                    if (buffer_size)
-+                    if (buffer_size == NULL)
-+                      *status = NSS_STATUS_NOTFOUND;
-+                    else
-                       *result = NULL;
-                     goto done;
-                   }
-@@ -190,7 +197,7 @@ __nss_hostname_digits_dots (const char *name, struct hostent *resbuf,
-                 if (buffer_size == NULL)
-                   *status = NSS_STATUS_SUCCESS;
-                 else
--                 *result = resbuf;
-+                  *result = resbuf;
-                 goto done;
-               }
-@@ -201,15 +208,6 @@ __nss_hostname_digits_dots (const char *name, struct hostent *resbuf,
-       if ((isxdigit (name[0]) && strchr (name, ':') != NULL) || name[0] == ':')
-       {
--        const char *cp;
--        char *hostname;
--        typedef unsigned char host_addr_t[16];
--        host_addr_t *host_addr;
--        typedef char *host_addr_list_t[2];
--        host_addr_list_t *h_addr_ptrs;
--        size_t size_needed;
--        int addr_size;
--
-         switch (af)
-           {
-           default:
-@@ -225,7 +223,10 @@ __nss_hostname_digits_dots (const char *name, struct hostent *resbuf,
-             /* This is not possible.  We cannot represent an IPv6 address
-                in an `struct in_addr' variable.  */
-             *h_errnop = HOST_NOT_FOUND;
--            *result = NULL;
-+            if (buffer_size == NULL)
-+              *status = NSS_STATUS_NOTFOUND;
-+            else
-+              *result = NULL;
-             goto done;
-           case AF_INET6:
-@@ -233,42 +234,6 @@ __nss_hostname_digits_dots (const char *name, struct hostent *resbuf,
-             break;
-           }
--        size_needed = (sizeof (*host_addr)
--                       + sizeof (*h_addr_ptrs) + strlen (name) + 1);
--
--        if (buffer_size == NULL && buflen < size_needed)
--          {
--            if (h_errnop != NULL)
--              *h_errnop = TRY_AGAIN;
--            __set_errno (ERANGE);
--            goto done;
--          }
--        else if (buffer_size != NULL && *buffer_size < size_needed)
--          {
--            char *new_buf;
--            *buffer_size = size_needed;
--            new_buf = realloc (*buffer, *buffer_size);
--
--            if (new_buf == NULL)
--              {
--                save = errno;
--                free (*buffer);
--                __set_errno (save);
--                *buffer = NULL;
--                *buffer_size = 0;
--                *result = NULL;
--                goto done;
--              }
--            *buffer = new_buf;
--          }
--
--        memset (*buffer, '\0', size_needed);
--
--        host_addr = (host_addr_t *) *buffer;
--        h_addr_ptrs = (host_addr_list_t *)
--          ((char *) host_addr + sizeof (*host_addr));
--        hostname = (char *) h_addr_ptrs + sizeof (*h_addr_ptrs);
--
-         for (cp = name;; ++cp)
-           {
-             if (!*cp)
-@@ -281,7 +246,9 @@ __nss_hostname_digits_dots (const char *name, struct hostent *resbuf,
-                 if (inet_pton (AF_INET6, name, host_addr) <= 0)
-                   {
-                     *h_errnop = HOST_NOT_FOUND;
--                    if (buffer_size)
-+                    if (buffer_size == NULL)
-+                      *status = NSS_STATUS_NOTFOUND;
-+                    else
-                       *result = NULL;
-                     goto done;
-                   }
-diff --git a/nss/getXXbyYY_r.c b/nss/getXXbyYY_r.c
-index 1067744..44d00f4 100644
---- a/nss/getXXbyYY_r.c
-+++ b/nss/getXXbyYY_r.c
-@@ -179,6 +179,9 @@ INTERNAL (REENTRANT_NAME) (ADD_PARAMS, LOOKUP_TYPE *resbuf, char *buffer,
-     case -1:
-       return errno;
-     case 1:
-+#ifdef NEED_H_ERRNO
-+      any_service = true;
-+#endif
-       goto done;
-     }
- #endif
-diff --git a/nss/test-digits-dots.c b/nss/test-digits-dots.c
-new file mode 100644
-index 0000000..1efa344
---- /dev/null
-+++ b/nss/test-digits-dots.c
-@@ -0,0 +1,38 @@
-+/* Copyright (C) 2013 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, see
-+   <http://www.gnu.org/licenses/>.  */
-+
-+/* Testcase for BZ #15014 */
-+
-+#include <stdlib.h>
-+#include <netdb.h>
-+#include <errno.h>
-+
-+static int
-+do_test (void)
-+{
-+  char buf[32];
-+  struct hostent *result = NULL;
-+  struct hostent ret;
-+  int h_err = 0;
-+  int err;
-+
-+  err = gethostbyname_r ("1.2.3.4", &ret, buf, sizeof (buf), &result, &h_err);
-+  return err == ERANGE && h_err == NETDB_INTERNAL ? EXIT_SUCCESS : EXIT_FAILURE;
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
diff --git a/src/patches/glibc/glibc-rh1195453-avx512.patch b/src/patches/glibc/glibc-rh1195453-avx512.patch
deleted file mode 100644 (file)
index 4c70e5e..0000000
+++ /dev/null
@@ -1,481 +0,0 @@
-#
-# Based on AVX-512 support for glibc, but heavaily modified for rhel-6.7.
-# Without assembler support we drop all of the configure checks and simply
-# output using .byte directives the minimal AVX512 instructsion required
-# by the loader. Likewise testing is also impossible, so instead we use
-# the Intel emulator running in `-skx` (Skylake Xeon) emulation mode and
-# verify that a pre-built set of tests passes.
-#
-# commit 6986b98a18490e76b16911d1c6b1ba013598d40d
-# Author: Ulrich Drepper <drepper@gmail.com>
-# Date:   Wed Jul 20 14:20:00 2011 -0400
-#
-#    Force :a_x86_64_ymm to be 16-byte aligned
-#
-# commit aa4de9cea5c07d43caeaca9722c2d417e9a2919c
-# Author: H.J. Lu <hjl.tools@gmail.com>
-# Date:   Fri Mar 14 08:51:25 2014 -0700
-# 
-#     Check AVX-512 assembler support first
-# 
-#     It checks AVX-512 assembler support first and sets libc_cv_cc_avx512 to
-#     $libc_cv_asm_avx512, instead of yes.  GCC won't support AVX-512 if
-#     assembler doesn't support it.
-# 
-#         * sysdeps/x86_64/configure.ac: Check AVX-512 assembler support
-#         first.  Disable AVX-512 GCC support if assembler doesn't support
-#         it.
-#         * sysdeps/x86_64/configure: Regenerated.
-# 
-# commit 2d63a517e4084ec80403cd9f278690fa8b676cc4
-# Author: Igor Zamyatin <igor.zamyatin@intel.com>
-# Date:   Thu Mar 13 11:10:22 2014 -0700
-# 
-#     Save and restore AVX-512 zmm registers to x86-64 ld.so
-#     
-#     AVX-512 ISA adds 512-bit zmm registers.  This patch updates
-#     _dl_runtime_profile to pass zmm registers to run-time audit. It also
-#     changes _dl_x86_64_save_sse and _dl_x86_64_restore_sse to upport zmm
-#     registers, which are called when only when RTLD_PREPARE_FOREIGN_CALL
-#     is used.  Its performance impact is minimum.
-#     
-#         * config.h.in (HAVE_AVX512_SUPPORT): New #undef.
-#         (HAVE_AVX512_ASM_SUPPORT): Likewise.
-#         * sysdeps/x86_64/bits/link.h (La_x86_64_zmm): New.
-#         (La_x86_64_vector): Add zmm.
-#         * sysdeps/x86_64/Makefile (tests): Add tst-audit10.
-#         (modules-names): Add tst-auditmod10a and tst-auditmod10b.
-#         ($(objpfx)tst-audit10): New target.
-#         ($(objpfx)tst-audit10.out): Likewise.
-#         (tst-audit10-ENV): New.
-#         (AVX512-CFLAGS): Likewise.
-#         (CFLAGS-tst-audit10.c): Likewise.
-#         (CFLAGS-tst-auditmod10a.c): Likewise.
-#         (CFLAGS-tst-auditmod10b.c): Likewise.
-#         * sysdeps/x86_64/configure.ac: Set config-cflags-avx512,
-#         HAVE_AVX512_SUPPORT and HAVE_AVX512_ASM_SUPPORT.
-#         * sysdeps/x86_64/configure: Regenerated.
-#         * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Add
-#         AVX-512 zmm register support.
-#         (_dl_x86_64_save_sse): Likewise.
-#         (_dl_x86_64_restore_sse): Likewise.
-#         * sysdeps/x86_64/dl-trampoline.h: Updated to support different
-#         size vector registers.
-#         * sysdeps/x86_64/link-defines.sym (YMM_SIZE): New.
-#         (ZMM_SIZE): Likewise. 
-#         * sysdeps/x86_64/tst-audit10.c: New file.
-#         * sysdeps/x86_64/tst-auditmod10a.c: Likewise.
-#         * sysdeps/x86_64/tst-auditmod10b.c: Likewise.
-# 
-# In addition adds:
-# https://sourceware.org/ml/libc-alpha/2014-09/msg00228.html
-# To extend zmm register checking.
-#
-diff -urN glibc-2.12-2-gc4ccff1/sysdeps/x86_64/bits/link.h glibc-2.12-2-gc4ccff1.mod/sysdeps/x86_64/bits/link.h
---- glibc-2.12-2-gc4ccff1/sysdeps/x86_64/bits/link.h   2010-05-04 07:27:23.000000000 -0400
-+++ glibc-2.12-2-gc4ccff1.mod/sysdeps/x86_64/bits/link.h       2015-03-03 23:03:25.041829238 -0500
-@@ -65,7 +65,10 @@
- /* Registers for entry into PLT on x86-64.  */
- # if __GNUC_PREREQ (4,0)
- typedef float La_x86_64_xmm __attribute__ ((__vector_size__ (16)));
--typedef float La_x86_64_ymm __attribute__ ((__vector_size__ (32)));
-+typedef float La_x86_64_ymm __attribute__ ((__vector_size__ (32),
-+                                          __aligned__ (16)));
-+typedef double La_x86_64_zmm __attribute__ ((__vector_size__ (64),
-+                                          __aligned__ (16)));
- # else
- typedef float La_x86_64_xmm __attribute__ ((__mode__ (__V4SF__)));
- # endif
-@@ -74,9 +77,10 @@
- {
- # if __GNUC_PREREQ (4,0)
-   La_x86_64_ymm ymm[2];
-+  La_x86_64_zmm zmm[1];
- # endif
-   La_x86_64_xmm xmm[4];
--} La_x86_64_vector __attribute__ ((aligned(16)));
-+} La_x86_64_vector __attribute__ ((__aligned__(16)));
- typedef struct La_x86_64_regs
- {
-diff -urN glibc-2.12-2-gc4ccff1/sysdeps/x86_64/dl-trampoline.h glibc-2.12-2-gc4ccff1.mod/sysdeps/x86_64/dl-trampoline.h
---- glibc-2.12-2-gc4ccff1/sysdeps/x86_64/dl-trampoline.h       2015-03-03 23:03:05.109457627 -0500
-+++ glibc-2.12-2-gc4ccff1.mod/sysdeps/x86_64/dl-trampoline.h   2015-03-03 23:06:58.434101818 -0500
-@@ -20,14 +20,26 @@
- #ifdef RESTORE_AVX
-       /* This is to support AVX audit modules.  */
--      vmovdqu %ymm0,                (LR_VECTOR_OFFSET)(%rsp)
--      vmovdqu %ymm1, (LR_VECTOR_OFFSET +   VECTOR_SIZE)(%rsp)
--      vmovdqu %ymm2, (LR_VECTOR_OFFSET + VECTOR_SIZE*2)(%rsp)
--      vmovdqu %ymm3, (LR_VECTOR_OFFSET + VECTOR_SIZE*3)(%rsp)
--      vmovdqu %ymm4, (LR_VECTOR_OFFSET + VECTOR_SIZE*4)(%rsp)
--      vmovdqu %ymm5, (LR_VECTOR_OFFSET + VECTOR_SIZE*5)(%rsp)
--      vmovdqu %ymm6, (LR_VECTOR_OFFSET + VECTOR_SIZE*6)(%rsp)
--      vmovdqu %ymm7, (LR_VECTOR_OFFSET + VECTOR_SIZE*7)(%rsp)
-+# if HAVE_NO_AVX512_ASM_SUPPORT
-+      /* Restore AVX-512 registers. Use .byte becaues we lack assembler support.  */
-+      .byte 0x62,0xf1,0xfe,0x48,0x7f,0x44,0x24,0x03 # vmovdqu64 %zmm0,0xc0(%rsp)
-+      .byte 0x62,0xf1,0xfe,0x48,0x7f,0x4c,0x24,0x04 # vmovdqu64 %zmm1,0x100(%rsp)
-+      .byte 0x62,0xf1,0xfe,0x48,0x7f,0x54,0x24,0x05 # vmovdqu64 %zmm2,0x140(%rsp)
-+      .byte 0x62,0xf1,0xfe,0x48,0x7f,0x5c,0x24,0x06 # vmovdqu64 %zmm3,0x180(%rsp)
-+      .byte 0x62,0xf1,0xfe,0x48,0x7f,0x64,0x24,0x07 # vmovdqu64 %zmm4,0x1c0(%rsp)
-+      .byte 0x62,0xf1,0xfe,0x48,0x7f,0x6c,0x24,0x08 # vmovdqu64 %zmm5,0x200(%rsp)
-+      .byte 0x62,0xf1,0xfe,0x48,0x7f,0x74,0x24,0x09 # vmovdqu64 %zmm6,0x240(%rsp)
-+      .byte 0x62,0xf1,0xfe,0x48,0x7f,0x7c,0x24,0x0a # vmovdqu64 %zmm7,0x280(%rsp)
-+# else
-+      VMOV %VEC(0),                 (LR_VECTOR_OFFSET)(%rsp)
-+      VMOV %VEC(1), (LR_VECTOR_OFFSET +   VECTOR_SIZE)(%rsp)
-+      VMOV %VEC(2), (LR_VECTOR_OFFSET + VECTOR_SIZE*2)(%rsp)
-+      VMOV %VEC(3), (LR_VECTOR_OFFSET + VECTOR_SIZE*3)(%rsp)
-+      VMOV %VEC(4), (LR_VECTOR_OFFSET + VECTOR_SIZE*4)(%rsp)
-+      VMOV %VEC(5), (LR_VECTOR_OFFSET + VECTOR_SIZE*5)(%rsp)
-+      VMOV %VEC(6), (LR_VECTOR_OFFSET + VECTOR_SIZE*6)(%rsp)
-+      VMOV %VEC(7), (LR_VECTOR_OFFSET + VECTOR_SIZE*7)(%rsp)
-+# endif
-       /* Save xmm0-xmm7 registers to detect if any of them are
-          changed by audit module.  */
-@@ -73,7 +85,11 @@
-       je 2f
-       vmovdqa %xmm0, (LR_VECTOR_OFFSET)(%rsp)
-       jmp 1f
--2:    vmovdqu (LR_VECTOR_OFFSET)(%rsp), %ymm0
-+# if HAVE_NO_AVX512_ASM_SUPPORT
-+2:    .byte 0x62,0xf1,0xfe,0x48,0x6f,0x44,0x24,0x03 # vmovdqu64 0xc0(%rsp),%zmm0
-+# else
-+2:    VMOV (LR_VECTOR_OFFSET)(%rsp), %VEC(0)
-+# endif
-       vmovdqa %xmm0, (LR_XMM_OFFSET)(%rsp)
- 1:    vpcmpeqq (LR_SIZE + XMM_SIZE)(%rsp), %xmm1, %xmm8
-@@ -82,7 +98,11 @@
-       je 2f
-       vmovdqa %xmm1, (LR_VECTOR_OFFSET + VECTOR_SIZE)(%rsp)
-       jmp 1f
--2:    vmovdqu (LR_VECTOR_OFFSET + VECTOR_SIZE)(%rsp), %ymm1
-+# if HAVE_NO_AVX512_ASM_SUPPORT
-+2:    .byte 0x62,0xf1,0xfe,0x48,0x6f,0x4c,0x24,0x04 # vmovdqu64 0x100(%rsp),%zmm1
-+# else
-+2:    VMOV (LR_VECTOR_OFFSET + VECTOR_SIZE)(%rsp), %VEC(1)
-+# endif
-       vmovdqa %xmm1, (LR_XMM_OFFSET + XMM_SIZE)(%rsp)
- 1:    vpcmpeqq (LR_SIZE + XMM_SIZE*2)(%rsp), %xmm2, %xmm8
-@@ -91,7 +111,11 @@
-       je 2f
-       vmovdqa %xmm2, (LR_VECTOR_OFFSET + VECTOR_SIZE*2)(%rsp)
-       jmp 1f
--2:    vmovdqu (LR_VECTOR_OFFSET + VECTOR_SIZE*2)(%rsp), %ymm2
-+# if HAVE_NO_AVX512_ASM_SUPPORT
-+2:    .byte 0x62,0xf1,0xfe,0x48,0x6f,0x54,0x24,0x05 # vmovdqu64 0x140(%rsp),%zmm2
-+# else
-+2:    VMOV (LR_VECTOR_OFFSET + VECTOR_SIZE*2)(%rsp), %VEC(2)
-+# endif
-       vmovdqa %xmm2, (LR_XMM_OFFSET + XMM_SIZE*2)(%rsp)
- 1:    vpcmpeqq (LR_SIZE + XMM_SIZE*3)(%rsp), %xmm3, %xmm8
-@@ -100,7 +124,11 @@
-       je 2f
-       vmovdqa %xmm3, (LR_VECTOR_OFFSET + VECTOR_SIZE*3)(%rsp)
-       jmp 1f
--2:    vmovdqu (LR_VECTOR_OFFSET + VECTOR_SIZE*3)(%rsp), %ymm3
-+# if HAVE_NO_AVX512_ASM_SUPPORT
-+2:    .byte 0x62,0xf1,0xfe,0x48,0x6f,0x5c,0x24,0x06 # vmovdqu64 0x180(%rsp),%zmm3
-+# else
-+2:    VMOV (LR_VECTOR_OFFSET + VECTOR_SIZE*3)(%rsp), %VEC(3)
-+# endif
-       vmovdqa %xmm3, (LR_XMM_OFFSET + XMM_SIZE*3)(%rsp)
- 1:    vpcmpeqq (LR_SIZE + XMM_SIZE*4)(%rsp), %xmm4, %xmm8
-@@ -109,7 +137,11 @@
-       je 2f
-       vmovdqa %xmm4, (LR_VECTOR_OFFSET + VECTOR_SIZE*4)(%rsp)
-       jmp 1f
--2:    vmovdqu (LR_VECTOR_OFFSET + VECTOR_SIZE*4)(%rsp), %ymm4
-+# if HAVE_NO_AVX512_ASM_SUPPORT
-+2:    .byte 0x62,0xf1,0xfe,0x48,0x6f,0x64,0x24,0x07 # vmovdqu64 0x1c0(%rsp),%zmm4
-+# else
-+2:    VMOV (LR_VECTOR_OFFSET + VECTOR_SIZE*4)(%rsp), %VEC(4)
-+# endif
-       vmovdqa %xmm4, (LR_XMM_OFFSET + XMM_SIZE*4)(%rsp)
- 1:    vpcmpeqq (LR_SIZE + XMM_SIZE*5)(%rsp), %xmm5, %xmm8
-@@ -118,7 +150,11 @@
-       je 2f
-       vmovdqa %xmm5, (LR_VECTOR_OFFSET + VECTOR_SIZE*5)(%rsp)
-       jmp 1f
--2:    vmovdqu (LR_VECTOR_OFFSET + VECTOR_SIZE*5)(%rsp), %ymm5
-+# if HAVE_NO_AVX512_ASM_SUPPORT
-+2:    .byte 0x62,0xf1,0xfe,0x48,0x6f,0x6c,0x24,0x08 # vmovdqu64 0x200(%rsp),%zmm5
-+# else
-+2:    VMOV (LR_VECTOR_OFFSET + VECTOR_SIZE*5)(%rsp), %VEC(5)
-+# endif
-       vmovdqa %xmm5, (LR_XMM_OFFSET + XMM_SIZE*5)(%rsp)
- 1:    vpcmpeqq (LR_SIZE + XMM_SIZE*6)(%rsp), %xmm6, %xmm8
-@@ -127,7 +163,11 @@
-       je 2f
-       vmovdqa %xmm6, (LR_VECTOR_OFFSET + VECTOR_SIZE*6)(%rsp)
-       jmp 1f
--2:    vmovdqu (LR_VECTOR_OFFSET + VECTOR_SIZE*6)(%rsp), %ymm6
-+# if HAVE_NO_AVX512_ASM_SUPPORT
-+2:    .byte 0x62,0xf1,0xfe,0x48,0x6f,0x74,0x24,0x09 # vmovdqu64 0x240(%rsp),%zmm6
-+# else
-+2:    VMOV (LR_VECTOR_OFFSET + VECTOR_SIZE*6)(%rsp), %VEC(6)
-+# endif
-       vmovdqa %xmm6, (LR_XMM_OFFSET + XMM_SIZE*6)(%rsp)
- 1:    vpcmpeqq (LR_SIZE + XMM_SIZE*7)(%rsp), %xmm7, %xmm8
-@@ -136,7 +176,11 @@
-       je 2f
-       vmovdqa %xmm7, (LR_VECTOR_OFFSET + VECTOR_SIZE*7)(%rsp)
-       jmp 1f
--2:    vmovdqu (LR_VECTOR_OFFSET + VECTOR_SIZE*7)(%rsp), %ymm7
-+# if HAVE_NO_AVX512_ASM_SUPPORT
-+2:    .byte 0x62,0xf1,0xfe,0x48,0x6f,0x7c,0x24,0x0a # vmovdqu64 0x280(%rsp),%zmm7
-+# else
-+2:    VMOV (LR_VECTOR_OFFSET + VECTOR_SIZE*7)(%rsp), %VEC(7)
-+# endif
-       vmovdqa %xmm7, (LR_XMM_OFFSET + XMM_SIZE*7)(%rsp)
- 1:
-@@ -214,8 +258,13 @@
- #ifdef RESTORE_AVX
-       /* This is to support AVX audit modules.  */
--      vmovdqu %ymm0, LRV_VECTOR0_OFFSET(%rcx)
--      vmovdqu %ymm1, LRV_VECTOR1_OFFSET(%rcx)
-+# if HAVE_NO_AVX512_ASM_SUPPORT
-+      .byte 0x62,0xf1,0xfe,0x48,0x7f,0x81,0x50,0x00,0x00,0x00 # vmovdqu64 %zmm0,0x50(%rcx)
-+      .byte 0x62,0xf1,0xfe,0x48,0x7f,0x89,0x90,0x00,0x00,0x00 # vmovdqu64 %zmm1,0x90(%rcx)
-+# else
-+      VMOV %VEC(0), LRV_VECTOR0_OFFSET(%rcx)
-+      VMOV %VEC(1), LRV_VECTOR1_OFFSET(%rcx)
-+# endif
-       /* Save xmm0/xmm1 registers to detect if they are changed
-          by audit module.  */
-@@ -244,13 +293,21 @@
-       vpmovmskb %xmm2, %esi
-       cmpl $0xffff, %esi
-       jne 1f
--      vmovdqu LRV_VECTOR0_OFFSET(%rsp), %ymm0
-+# if HAVE_NO_AVX512_ASM_SUPPORT
-+      .byte 0x62,0xf1,0xfe,0x48,0x6f,0x84,0x24,0x50,0x00,0x00,0x00 # vmovdqu64 0x50(%rsp),%zmm0
-+# else
-+      VMOV LRV_VECTOR0_OFFSET(%rsp), %VEC(0)
-+# endif
- 1:    vpcmpeqq (LRV_SIZE + XMM_SIZE)(%rsp), %xmm1, %xmm2
-       vpmovmskb %xmm2, %esi
-       cmpl $0xffff, %esi
-       jne 1f
--      vmovdqu LRV_VECTOR1_OFFSET(%rsp), %ymm1
-+# if HAVE_NO_AVX512_ASM_SUPPORT
-+      .byte 0x62,0xf1,0xfe,0x48,0x6f,0x8c,0x24,0x90,0x00,0x00,0x00 # vmovdqu64 0x90(%rsp),%zmm1
-+# else
-+      VMOV LRV_VECTOR1_OFFSET(%rsp), %VEC(1)
-+# endif
- 1:
- #endif
-diff -urN glibc-2.12-2-gc4ccff1/sysdeps/x86_64/dl-trampoline.S glibc-2.12-2-gc4ccff1.mod/sysdeps/x86_64/dl-trampoline.S
---- glibc-2.12-2-gc4ccff1/sysdeps/x86_64/dl-trampoline.S       2015-03-03 23:03:05.108457659 -0500
-+++ glibc-2.12-2-gc4ccff1.mod/sysdeps/x86_64/dl-trampoline.S   2015-03-03 23:07:31.799049953 -0500
-@@ -134,7 +134,7 @@
-       .previous
-       cmpl    $0, L(have_avx)(%rip)
--      jne     1f
-+      jne     L(defined)
-       movq    %rbx, %r11              # Save rbx
-       movl    $1, %eax
-       cpuid
-@@ -143,18 +143,51 @@
-       // AVX and XSAVE supported?
-       andl    $((1 << 28) | (1 << 27)), %ecx
-       cmpl    $((1 << 28) | (1 << 27)), %ecx
--      jne     2f
-+      jne     10f
-+      // AVX512 supported in processor?
-+      movq    %rbx, %r11              # Save rbx
-+      xorl    %ecx, %ecx
-+      mov     $0x7, %eax
-+      cpuid
-+      andl    $(1 << 16), %ebx
-       xorl    %ecx, %ecx
-       // Get XFEATURE_ENABLED_MASK
-       xgetbv
--      andl    $0x6, %eax
--2:    subl    $0x5, %eax
-+      test    %ebx, %ebx
-+      movq    %r11, %rbx              # Restore rbx
-+      je      20f
-+      // Verify that XCR0[7:5] = '111b' and
-+      // XCR0[2:1] = '11b' which means
-+      // that zmm state is enabled
-+      andl    $0xe6, %eax
-+      cmpl    $0xe6, %eax
-+      jne     20f
-+      movl    %eax, L(have_avx)(%rip)
-+L(avx512):
-+#   define RESTORE_AVX
-+#   define HAVE_NO_AVX512_ASM_SUPPORT 1
-+#   define VMOV    vmovdqu64
-+#   define VEC(i)  zmm##i
-+#   define MORE_CODE
-+#   include "dl-trampoline.h"
-+#   undef VMOV
-+#   undef VEC
-+#   undef RESTORE_AVX
-+#   undef HAVE_NO_AVX512_ASM_SUPPORT
-+20:   andl    $0x6, %eax
-+10:   subl    $0x5, %eax
-       movl    %eax, L(have_avx)(%rip)
-       cmpl    $0, %eax
--1:    js      L(no_avx)
-+L(defined):
-+      js      L(no_avx)
-+      cmpl    $0xe6, L(have_avx)(%rip)
-+      je      L(avx512)
-+
- #  define RESTORE_AVX
-+#  define VMOV    vmovdqu
-+#  define VEC(i)  ymm##i
- #  define MORE_CODE
- #  include "dl-trampoline.h"
-@@ -178,7 +211,7 @@
- _dl_x86_64_save_sse:
- # ifdef HAVE_AVX_SUPPORT
-       cmpl    $0, L(have_avx)(%rip)
--      jne     1f
-+      jne     L(defined_5)
-       movq    %rbx, %r11              # Save rbx
-       movl    $1, %eax
-       cpuid
-@@ -187,21 +220,37 @@
-       // AVX and XSAVE supported?
-       andl    $((1 << 28) | (1 << 27)), %ecx
-       cmpl    $((1 << 28) | (1 << 27)), %ecx
--      jne     2f
-+      jne     1f
-+      // AVX512 supported in a processor?
-+      movq    %rbx, %r11              # Save rbx
-+      xorl    %ecx,%ecx
-+      mov     $0x7,%eax
-+      cpuid
-+      andl    $(1 << 16), %ebx
-       xorl    %ecx, %ecx
-       // Get XFEATURE_ENABLED_MASK
-       xgetbv
--      andl    $0x6, %eax
--      cmpl    $0x6, %eax
--      // Nonzero if SSE and AVX state saving is enabled.
--      sete    %al
--2:    leal    -1(%eax,%eax), %eax
-+      test    %ebx, %ebx
-+      movq    %r11, %rbx              # Restore rbx
-+      je      2f
-+      // Verify that XCR0[7:5] = '111b' and
-+      // XCR0[2:1] = '11b' which means
-+      // that zmm state is enabled
-+      andl    $0xe6, %eax
-       movl    %eax, L(have_avx)(%rip)
--      cmpl    $0, %eax
-+      cmpl    $0xe6, %eax
-+      je      L(avx512_5)
--1:    js      L(no_avx5)
-+2:    andl    $0x6, %eax
-+1:    subl    $0x5, %eax
-+      movl    %eax, L(have_avx)(%rip)
-+      cmpl    $0, %eax
--#  define YMM_SIZE 32
-+L(defined_5):
-+      js      L(no_avx5)
-+      cmpl    $0xe6, L(have_avx)(%rip)
-+      je      L(avx512_5)
-+ 
-       vmovdqa %ymm0, %fs:RTLD_SAVESPACE_SSE+0*YMM_SIZE
-       vmovdqa %ymm1, %fs:RTLD_SAVESPACE_SSE+1*YMM_SIZE
-       vmovdqa %ymm2, %fs:RTLD_SAVESPACE_SSE+2*YMM_SIZE
-@@ -211,6 +260,26 @@
-       vmovdqa %ymm6, %fs:RTLD_SAVESPACE_SSE+6*YMM_SIZE
-       vmovdqa %ymm7, %fs:RTLD_SAVESPACE_SSE+7*YMM_SIZE
-       ret
-+L(avx512_5):
-+# Original instructions:
-+#     vmovdqu64 %zmm0, %fs:RTLD_SAVESPACE_SSE+0*ZMM_SIZE
-+#     vmovdqu64 %zmm1, %fs:RTLD_SAVESPACE_SSE+1*ZMM_SIZE
-+#     vmovdqu64 %zmm2, %fs:RTLD_SAVESPACE_SSE+2*ZMM_SIZE
-+#     vmovdqu64 %zmm3, %fs:RTLD_SAVESPACE_SSE+3*ZMM_SIZE
-+#     vmovdqu64 %zmm4, %fs:RTLD_SAVESPACE_SSE+4*ZMM_SIZE
-+#     vmovdqu64 %zmm5, %fs:RTLD_SAVESPACE_SSE+5*ZMM_SIZE
-+#     vmovdqu64 %zmm6, %fs:RTLD_SAVESPACE_SSE+6*ZMM_SIZE
-+#     vmovdqu64 %zmm7, %fs:RTLD_SAVESPACE_SSE+7*ZMM_SIZE
-+# Assembled instructions:
-+      .byte 0x64,0x62,0xf1,0xfe,0x48,0x7f,0x04,0x25,0x80,0x00,0x00,0x00 # vmovdqu64 %zmm0,%fs:0x80
-+      .byte 0x64,0x62,0xf1,0xfe,0x48,0x7f,0x0c,0x25,0xc0,0x00,0x00,0x00 # vmovdqu64 %zmm1,%fs:0xc0
-+      .byte 0x64,0x62,0xf1,0xfe,0x48,0x7f,0x14,0x25,0x00,0x01,0x00,0x00 # vmovdqu64 %zmm2,%fs:0x100
-+      .byte 0x64,0x62,0xf1,0xfe,0x48,0x7f,0x1c,0x25,0x40,0x01,0x00,0x00 # vmovdqu64 %zmm3,%fs:0x140
-+      .byte 0x64,0x62,0xf1,0xfe,0x48,0x7f,0x24,0x25,0x80,0x01,0x00,0x00 # vmovdqu64 %zmm4,%fs:0x180
-+      .byte 0x64,0x62,0xf1,0xfe,0x48,0x7f,0x2c,0x25,0xc0,0x01,0x00,0x00 # vmovdqu64 %zmm5,%fs:0x1c0
-+      .byte 0x64,0x62,0xf1,0xfe,0x48,0x7f,0x34,0x25,0x00,0x02,0x00,0x00 # vmovdqu64 %zmm6,%fs:0x200
-+      .byte 0x64,0x62,0xf1,0xfe,0x48,0x7f,0x3c,0x25,0x40,0x02,0x00,0x00 # vmovdqu64 %zmm7,%fs:0x240
-+      ret
- L(no_avx5):
- # endif
-       movdqa  %xmm0, %fs:RTLD_SAVESPACE_SSE+0*XMM_SIZE
-@@ -234,6 +303,8 @@
- # ifdef HAVE_AVX_SUPPORT
-       cmpl    $0, L(have_avx)(%rip)
-       js      L(no_avx6)
-+      cmpl    $0xe6, L(have_avx)(%rip)
-+      je      L(avx512_6)
-       vmovdqa %fs:RTLD_SAVESPACE_SSE+0*YMM_SIZE, %ymm0
-       vmovdqa %fs:RTLD_SAVESPACE_SSE+1*YMM_SIZE, %ymm1
-@@ -244,6 +315,26 @@
-       vmovdqa %fs:RTLD_SAVESPACE_SSE+6*YMM_SIZE, %ymm6
-       vmovdqa %fs:RTLD_SAVESPACE_SSE+7*YMM_SIZE, %ymm7
-       ret
-+L(avx512_6):
-+# Original instructions:
-+#     vmovdqu64 %fs:RTLD_SAVESPACE_SSE+0*ZMM_SIZE, %zmm0
-+#     vmovdqu64 %fs:RTLD_SAVESPACE_SSE+1*ZMM_SIZE, %zmm1
-+#     vmovdqu64 %fs:RTLD_SAVESPACE_SSE+2*ZMM_SIZE, %zmm2
-+#     vmovdqu64 %fs:RTLD_SAVESPACE_SSE+3*ZMM_SIZE, %zmm3
-+#     vmovdqu64 %fs:RTLD_SAVESPACE_SSE+4*ZMM_SIZE, %zmm4
-+#     vmovdqu64 %fs:RTLD_SAVESPACE_SSE+5*ZMM_SIZE, %zmm5
-+#     vmovdqu64 %fs:RTLD_SAVESPACE_SSE+6*ZMM_SIZE, %zmm6
-+#     vmovdqu64 %fs:RTLD_SAVESPACE_SSE+7*ZMM_SIZE, %zmm7
-+# Assembled instructions:
-+      .byte 0x64,0x62,0xf1,0xfe,0x48,0x6f,0x04,0x25,0x80,0x00,0x00,0x00 # vmovdqu64 %fs:0x80,%zmm0
-+      .byte 0x64,0x62,0xf1,0xfe,0x48,0x6f,0x0c,0x25,0xc0,0x00,0x00,0x00 # vmovdqu64 %fs:0xc0,%zmm1
-+      .byte 0x64,0x62,0xf1,0xfe,0x48,0x6f,0x14,0x25,0x00,0x01,0x00,0x00 # vmovdqu64 %fs:0x100,%zmm2
-+      .byte 0x64,0x62,0xf1,0xfe,0x48,0x6f,0x1c,0x25,0x40,0x01,0x00,0x00 # vmovdqu64 %fs:0x140,%zmm3
-+      .byte 0x64,0x62,0xf1,0xfe,0x48,0x6f,0x24,0x25,0x80,0x01,0x00,0x00 # vmovdqu64 %fs:0x180,%zmm4
-+      .byte 0x64,0x62,0xf1,0xfe,0x48,0x6f,0x2c,0x25,0xc0,0x01,0x00,0x00 # vmovdqu64 %fs:0x1c0,%zmm5
-+      .byte 0x64,0x62,0xf1,0xfe,0x48,0x6f,0x34,0x25,0x00,0x02,0x00,0x00 # vmovdqu64 %fs:0x200,%zmm6
-+      .byte 0x64,0x62,0xf1,0xfe,0x48,0x6f,0x3c,0x25,0x40,0x02,0x00,0x00 # vmovdqu64 %fs:0x240,%zmm7
-+      ret
- L(no_avx6):
- # endif
-       movdqa  %fs:RTLD_SAVESPACE_SSE+0*XMM_SIZE, %xmm0
-diff -urN glibc-2.12-2-gc4ccff1/sysdeps/x86_64/link-defines.sym glibc-2.12-2-gc4ccff1.mod/sysdeps/x86_64/link-defines.sym
---- glibc-2.12-2-gc4ccff1/sysdeps/x86_64/link-defines.sym      2010-05-04 07:27:23.000000000 -0400
-+++ glibc-2.12-2-gc4ccff1.mod/sysdeps/x86_64/link-defines.sym  2015-03-03 23:03:25.042829206 -0500
-@@ -4,6 +4,8 @@
- --
- VECTOR_SIZE           sizeof (La_x86_64_vector)
- XMM_SIZE              sizeof (La_x86_64_xmm)
-+YMM_SIZE              sizeof (La_x86_64_ymm)
-+ZMM_SIZE              sizeof (La_x86_64_zmm)
- LR_SIZE                       sizeof (struct La_x86_64_regs)
- LR_RDX_OFFSET         offsetof (struct La_x86_64_regs, lr_rdx)
diff --git a/src/patches/glibc/glibc-rh1207236.patch b/src/patches/glibc/glibc-rh1207236.patch
deleted file mode 100644 (file)
index 5671fd8..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -pruN glibc-2.12-2-gc4ccff1/malloc/malloc.c glibc-2.12-2-gc4ccff1.new/malloc/malloc.c
---- glibc-2.12-2-gc4ccff1/malloc/malloc.c      2015-04-10 12:02:54.011106386 +0530
-+++ glibc-2.12-2-gc4ccff1.new/malloc/malloc.c  2015-04-10 12:02:35.867958292 +0530
-@@ -5850,7 +5850,7 @@ _int_valloc(av, bytes) mstate av; size_t
- #endif
- {
-   /* Ensure initialization/consolidation */
--  if (have_fastchunks(av)) malloc_consolidate(av);
-+  if (av && have_fastchunks(av)) malloc_consolidate(av);
-   return _int_memalign(av, mp_.pagesize, bytes);
- }
diff --git a/src/patches/glibc/glibc-rh1209376.patch b/src/patches/glibc/glibc-rh1209376.patch
deleted file mode 100644 (file)
index 74393f0..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-@@ -, +, @@
- resolv/nss_dns/dns-host.c:getanswer_r.
----
- resolv/nss_dns/dns-host.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
---- a/resolv/nss_dns/dns-host.c
-+++ a/resolv/nss_dns/dns-host.c
-@@ -615,7 +615,8 @@ getanswer_r (const querybuf *answer, int anslen, const char *qname, int qtype,
-   int have_to_map = 0;
-   uintptr_t pad = -(uintptr_t) buffer % __alignof__ (struct host_data);
-   buffer += pad;
--  if (__builtin_expect (buflen < sizeof (struct host_data) + pad, 0))
-+  buflen = buflen > pad ? buflen - pad : 0;
-+  if (__builtin_expect (buflen < sizeof (struct host_data), 0))
-     {
-       /* The buffer is too small.  */
-     too_small:
---
diff --git a/src/patches/glibc/glibc-rh1217186.patch b/src/patches/glibc/glibc-rh1217186.patch
deleted file mode 100644 (file)
index 6c6c393..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-#
-# Author: Carlos O'Donell
-# Upstream status: Needs to go upstream (2015-05-07)
-#
-diff --git a/inet/rcmd.c b/inet/rcmd.c
-index acacaa0..9f2443b 100644
---- a/inet/rcmd.c
-+++ b/inet/rcmd.c
-@@ -803,29 +803,38 @@ __validuser2_sa(hostf, ra, ralen, luser, ruser, rhost)
-       *p = '\0';              /* <nul> terminate username (+host?) */
-       /* buf -> host(?) ; user -> username(?) */
-+      if (*buf == '\0')
-+        break;
-+      if (*user == '\0')
-+        user = luser;
-+
-+      /* First check the user part.  This is an optimization, since
-+         one should always check the host first in order to detect
-+         negative host checks (which we check for later).  */
-+      ucheck = __icheckuser (user, ruser);
-+
-+      /* Either we found the user, or we didn't and this is a
-+         negative host check.  We must do the negative host lookup
-+         in order to preserve the semantics of stopping on this line
-+         before processing others.  */
-+      if (ucheck != 0 || *buf == '-') {
-+
-+          /* Next check host part */
-+          hcheck = __checkhost_sa (ra, ralen, buf, rhost);
-+
-+          /* Negative '-host user(?)' match?  */
-+          if (hcheck < 0)
-+              break;
--      /* First check host part */
--      hcheck = __checkhost_sa (ra, ralen, buf, rhost);
--
--      if (hcheck < 0)
--          break;
--
--      if (hcheck) {
--          /* Then check user part */
--          if (! (*user))
--              user = luser;
--
--          ucheck = __icheckuser (user, ruser);
--
--          /* Positive 'host user' match? */
--          if (ucheck > 0) {
-+          /* Positive 'host user' match?  */
-+          if (hcheck > 0 && ucheck > 0) {
-               retval = 0;
-               break;
-           }
--          /* Negative 'host -user' match? */
--          if (ucheck < 0)
--              break;
-+          /* Negative 'host -user' match?  */
-+          if (hcheck > 0 && ucheck < 0)
-+            break;
-           /* Neither, go on looking for match */
-       }
diff --git a/src/patches/glibc/glibc-rh1256812-2.patch b/src/patches/glibc/glibc-rh1256812-2.patch
deleted file mode 100644 (file)
index 5596de7..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -pruN glibc-2.12-2-gc4ccff1/malloc/malloc.c glibc-2.12-2-gc4ccff1.new/malloc/malloc.c
---- glibc-2.12-2-gc4ccff1/malloc/malloc.c      2015-07-28 22:28:22.517107147 +0530
-+++ glibc-2.12-2-gc4ccff1.new/malloc/malloc.c  2015-07-28 22:24:59.541394493 +0530
-@@ -4087,8 +4087,9 @@ public_cALLOc(size_t n, size_t elem_size
-     /* Maybe the failure is due to running out of mmapped areas. */
-     if(av != &main_arena) {
-       (void)mutex_unlock(&av->mutex);
--      (void)mutex_lock(&main_arena.mutex);
--      mem = _int_malloc(&main_arena, sz);
-+      av = &main_arena;
-+      (void)mutex_lock(&av->mutex);
-+      mem = _int_malloc(av, sz);
-     } else {
- #if USE_ARENAS
-       /* ... or sbrk() has failed and there is still a chance to mmap() */
diff --git a/src/patches/glibc/glibc-rh1256812-3.patch b/src/patches/glibc/glibc-rh1256812-3.patch
deleted file mode 100644 (file)
index e8fbb1b..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-commit fdc0f374bcd2d0513569aa8d600f960e43e8af1d
-Author: Ulrich Drepper <drepper@redhat.com>
-Date:   Sun Oct 24 22:37:00 2010 -0400
-
-    Fix perturbing in malloc on free.
-
-commit e8349efd466cfedc0aa98be61d88ca8795c9e565
-Author: Ondřej Bílka <neleai@seznam.cz>
-Date:   Mon Dec 9 17:25:19 2013 +0100
-
-    Simplify perturb_byte logic.
-
-diff --git a/malloc/malloc.c b/malloc/malloc.c
-index 4821deb..ac8c3f6 100644
---- a/malloc/malloc.c
-+++ b/malloc/malloc.c
-@@ -1870,8 +1870,20 @@ static int check_action = DEFAULT_CHECK_ACTION;
- static int perturb_byte;
--#define alloc_perturb(p, n) memset (p, (perturb_byte ^ 0xff) & 0xff, n)
--#define free_perturb(p, n) memset (p, perturb_byte & 0xff, n)
-+static inline void
-+alloc_perturb (char *p, size_t n)
-+{
-+  if (__glibc_unlikely (perturb_byte))
-+    memset (p, perturb_byte ^ 0xff, n);
-+}
-+
-+static inline void
-+free_perturb (char *p, size_t n)
-+{
-+  if (__glibc_unlikely (perturb_byte))
-+    memset (p, perturb_byte, n);
-+}
-+
- /* ------------------- Support for multiple arenas -------------------- */
-@@ -3287,8 +3299,7 @@ _int_malloc(mstate av, size_t bytes)
- #endif
-       check_remalloced_chunk(av, victim, nb);
-       void *p = chunk2mem(victim);
--      if (__builtin_expect (perturb_byte, 0))
--      alloc_perturb (p, bytes);
-+      alloc_perturb (p, bytes);
-       return p;
-     }
-   }
-@@ -3323,8 +3334,7 @@ _int_malloc(mstate av, size_t bytes)
-         victim->size |= NON_MAIN_ARENA;
-       check_malloced_chunk(av, victim, nb);
-       void *p = chunk2mem(victim);
--      if (__builtin_expect (perturb_byte, 0))
--        alloc_perturb (p, bytes);
-+      alloc_perturb (p, bytes);
-       return p;
-       }
-     }
-@@ -3403,8 +3413,7 @@ _int_malloc(mstate av, size_t bytes)
-       check_malloced_chunk(av, victim, nb);
-       void *p = chunk2mem(victim);
--      if (__builtin_expect (perturb_byte, 0))
--        alloc_perturb (p, bytes);
-+      alloc_perturb (p, bytes);
-       return p;
-       }
-@@ -3420,8 +3429,7 @@ _int_malloc(mstate av, size_t bytes)
-         victim->size |= NON_MAIN_ARENA;
-       check_malloced_chunk(av, victim, nb);
-       void *p = chunk2mem(victim);
--      if (__builtin_expect (perturb_byte, 0))
--        alloc_perturb (p, bytes);
-+      alloc_perturb (p, bytes);
-       return p;
-       }
-@@ -3545,8 +3553,7 @@ _int_malloc(mstate av, size_t bytes)
-       }
-       check_malloced_chunk(av, victim, nb);
-       void *p = chunk2mem(victim);
--      if (__builtin_expect (perturb_byte, 0))
--        alloc_perturb (p, bytes);
-+      alloc_perturb (p, bytes);
-       return p;
-       }
-     }
-@@ -3649,8 +3656,7 @@ _int_malloc(mstate av, size_t bytes)
-       }
-       check_malloced_chunk(av, victim, nb);
-       void *p = chunk2mem(victim);
--      if (__builtin_expect (perturb_byte, 0))
--        alloc_perturb (p, bytes);
-+      alloc_perturb (p, bytes);
-       return p;
-       }
-     }
-@@ -3684,8 +3690,7 @@ _int_malloc(mstate av, size_t bytes)
-       check_malloced_chunk(av, victim, nb);
-       void *p = chunk2mem(victim);
--      if (__builtin_expect (perturb_byte, 0))
--      alloc_perturb (p, bytes);
-+      alloc_perturb (p, bytes);
-       return p;
-     }
-@@ -3705,7 +3710,7 @@ _int_malloc(mstate av, size_t bytes)
-     */
-     else {
-       void *p = sYSMALLOc(nb, av);
--      if (p != NULL && __builtin_expect (perturb_byte, 0))
-+      if (p != NULL)
-       alloc_perturb (p, bytes);
-       return p;
-     }
-@@ -3798,8 +3803,7 @@ _int_free(mstate av, mchunkptr p, int have_lock)
- #endif
-       }
--    if (__builtin_expect (perturb_byte, 0))
--      free_perturb (chunk2mem(p), size - SIZE_SZ);
-+    free_perturb (chunk2mem(p), size - 2 * SIZE_SZ);
-     set_fastchunks(av);
-     unsigned int idx = fastbin_index(size);
-@@ -3881,8 +3885,7 @@ _int_free(mstate av, mchunkptr p, int have_lock)
-       goto errout;
-       }
--    if (__builtin_expect (perturb_byte, 0))
--      free_perturb (chunk2mem(p), size - SIZE_SZ);
-+    free_perturb (chunk2mem(p), size - 2 * SIZE_SZ);
-     /* consolidate backward */
-     if (!prev_inuse(p)) {
diff --git a/src/patches/glibc/glibc-rh1256812-4.patch b/src/patches/glibc/glibc-rh1256812-4.patch
deleted file mode 100644 (file)
index 1e497f3..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-commit 55765a349a96482207fbf927d3666a51878f973b
-Author: Josef Bacik <josef@toxicpanda.com>
-Date:   Wed Aug 19 14:06:56 2015 +0530
-
-    Don't fall back to mmap if the original arena is not corrupt
-    
-    The new logic to find an uncontended non-corrupt arena misses a case
-    where the current arena is contended, but is not corrupt.  In the
-    degenerate case, this is the only arena.  In both cases, the logic
-    falls back to using mmap despite there being an available arena.
-    
-    Attached patch by Josef Bacik makes sure that all arenas are indeed
-    corrupt before falling back to malloc.  Verified on x86_64.
-    
-       * malloc/arena.c (reused_arena): return NULL only if all
-       arenas are corrupt.
-
-diff --git a/malloc/arena.c b/malloc/arena.c
-index 21ecc5a1..0424273 100644
---- a/malloc/arena.c
-+++ b/malloc/arena.c
-@@ -823,16 +823,21 @@ reused_arena (mstate avoid_arena)
-   /* Make sure that the arena we get is not corrupted.  */
-   mstate begin = result;
-+  bool looped = false;
-+
-   while (arena_is_corrupt (result))
-     {
-       result = result->next;
-       if (result == begin)
--       break;
-+      {
-+        looped = true;
-+        break;
-+      }
-     }
-   /* We could not find any arena that was either not corrupted or not the one
-      we wanted to avoid.  */
--  if (result == begin)
-+  if (looped)
-     return NULL;
-   /* No arena available without contention.  Wait for the next in line.  */
diff --git a/src/patches/glibc/glibc-rh1256812.patch b/src/patches/glibc/glibc-rh1256812.patch
deleted file mode 100644 (file)
index 1eafcc1..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-diff -pruN glibc-2.12-2-gc4ccff1/malloc/malloc.c glibc-2.12-2-gc4ccff1.v2/malloc/malloc.c
---- glibc-2.12-2-gc4ccff1/malloc/malloc.c      2015-07-24 19:29:37.679907396 +0530
-+++ glibc-2.12-2-gc4ccff1.v2/malloc/malloc.c   2015-07-24 18:59:59.928055174 +0530
-@@ -3737,8 +3737,7 @@ public_mALLOc(size_t bytes)
-       mstate prev = ar_ptr->next ? ar_ptr : 0;
-       (void)mutex_unlock(&ar_ptr->mutex);
-       ar_ptr = arena_get2(prev, bytes, true);
--      if(ar_ptr)
--      victim = _int_malloc(ar_ptr, bytes);
-+      victim = _int_malloc(ar_ptr, bytes);
- #endif
-     }
-   }
-@@ -3968,8 +3967,7 @@ public_mEMALIGn(size_t alignment, size_t
-       mstate prev = ar_ptr->next ? ar_ptr : 0;
-       (void)mutex_unlock(&ar_ptr->mutex);
-       ar_ptr = arena_get2(prev, bytes, true);
--      if(ar_ptr)
--      p = _int_memalign(ar_ptr, alignment, bytes);
-+      p = _int_memalign(ar_ptr, alignment, bytes);
- #endif
-     }
-   }
-@@ -4024,8 +4022,7 @@ public_vALLOc(size_t bytes)
-       mstate prev = ar_ptr->next ? ar_ptr : 0;
-       (void)mutex_unlock(&ar_ptr->mutex);
-       ar_ptr = arena_get2(prev, bytes, true);
--      if(ar_ptr)
--      p = _int_memalign(ar_ptr, pagesz, bytes);
-+      p = _int_memalign(ar_ptr, pagesz, bytes);
- #endif
-     }
-   }
-@@ -4080,8 +4077,7 @@ public_pVALLOc(size_t bytes)
-       mstate prev = ar_ptr->next ? ar_ptr : 0;
-       (void)mutex_unlock(&ar_ptr->mutex);
-       ar_ptr = arena_get2(prev, bytes + 2*pagesz + MINSIZE, true);
--      if(ar_ptr)
--      p = _int_memalign(ar_ptr, pagesz, rounded_bytes);
-+      p = _int_memalign(ar_ptr, pagesz, rounded_bytes);
- #endif
-     }
-   }
-@@ -4180,11 +4176,9 @@ public_cALLOc(size_t n, size_t elem_size
-       mstate prev = av->next ? av : 0;
-       (void)mutex_unlock(&av->mutex);
-       av = arena_get2(prev, sz, true);
--      if(av)
--      mem = _int_malloc(av, sz);
-+      mem = _int_malloc(av, sz);
- #endif
-     }
--    if (mem == 0) return 0;
-   }
-   if (av != NULL)
diff --git a/src/patches/glibc/glibc-rh1256890.patch b/src/patches/glibc/glibc-rh1256890.patch
deleted file mode 100644 (file)
index 4683dc4..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -pruN glibc-2.12-2-gc4ccff1/malloc/malloc.c glibc-2.12-2-gc4ccff1.new/malloc/malloc.c
---- glibc-2.12-2-gc4ccff1/malloc/malloc.c      2015-08-19 23:13:52.826205930 +0530
-+++ glibc-2.12-2-gc4ccff1.new/malloc/malloc.c  2015-08-19 23:13:40.021049289 +0530
-@@ -5867,7 +5867,7 @@ _int_pvalloc(av, bytes) mstate av, size_
-   size_t pagesz;
-   /* Ensure initialization/consolidation */
--  if (have_fastchunks(av)) malloc_consolidate(av);
-+  if (av && have_fastchunks(av)) malloc_consolidate(av);
-   pagesz = mp_.pagesize;
-   return _int_memalign(av, pagesz, (bytes + pagesz - 1) & ~(pagesz - 1));
- }
diff --git a/src/patches/glibc/glibc-rh1256891.patch b/src/patches/glibc/glibc-rh1256891.patch
deleted file mode 100644 (file)
index 5364dba..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-commit 5c44738353ecaa1c81efca063ee8b55e092d7a43
-Author: Alexandre Oliva <aoliva@redhat.com>
-Date:   Wed Sep 5 15:43:04 2012 -0300
-
-    Don't change no_dyn_threshold on mallopt failure
-    
-       * malloc/malloc.c (__libc_mallopt) <M_MMAP_THRESHOLD>: Do not
-       change internal state upon failure.
-
-diff --git a/malloc/malloc.c b/malloc/malloc.c
-index bd562df..c69e281 100644
---- a/malloc/malloc.c
-+++ b/malloc/malloc.c
-@@ -4769,8 +4769,10 @@ int __libc_mallopt(int param_number, int value)
-       res = 0;
-     else
- #endif
--      mp_.mmap_threshold = value;
--      mp_.no_dyn_threshold = 1;
-+      {
-+      mp_.mmap_threshold = value;
-+      mp_.no_dyn_threshold = 1;
-+      }
-     break;
-   case M_MMAP_MAX:
diff --git a/src/patches/glibc/glibc-rh1291270.patch b/src/patches/glibc/glibc-rh1291270.patch
deleted file mode 100644 (file)
index 8d12d95..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-Description: Allow loading more libraries with static TLS.
-Author: Carlos O'Donell <codonell@redhat.com>
-Origin: PATCH
-Bug-RHEL: #1291270 (rhel-6.7.z), #1198802 (rhel-6.8), #1202952 (rhel-7.2)
-Bug-Fedora: #1124987 (F21)
-Bug-Upstream: #17090, #17620, #17621, #17628 (2.22)
-Upstream status: not-needed
-#
-# The correct fix for this is already upstream and involves
-# changing the heuristics for DTV slot increases. In RHEL6
-# we take the conservative approach and provide a larger
-# slot surplus. This matches what was done in Fedora 21 before
-# we had the upstream fix: f8aeae347377f3dfa8cbadde057adf1827fb1d44.
-# In RHEL7 we have the upstream fix. This is fixed upstream as of
-# glibc 2.22.
-#
-Index: glibc-2.12-2-gc4ccff1/sysdeps/generic/ldsodefs.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/generic/ldsodefs.h
-+++ glibc-2.12-2-gc4ccff1/sysdeps/generic/ldsodefs.h
-@@ -496,8 +496,18 @@ struct rtld_global
-    have to iterate beyond the first element in the slotinfo list.  */
- #define TLS_SLOTINFO_SURPLUS (62)
--/* Number of additional slots in the dtv allocated.  */
--#define DTV_SURPLUS   (14)
-+/* Number of additional allocated dtv slots.  This was initially
-+   14, but problems with python, MESA, and X11's uses of static TLS meant
-+   that most distributions were very close to this limit when they loaded
-+   dynamically interpreted languages that used graphics. The simplest
-+   solution was to roughly double the number of slots. The actual static
-+   image space usage was relatively small, for example in MESA you
-+   had only two dispatch pointers for a total of 16 bytes.  If we hit up
-+   against this limit again we should start a campaign with the
-+   distributions to coordinate the usage of static TLS.  Any user of this
-+   resource is effectively coordinating a global resource since this
-+   surplus is allocated for each thread at startup.  */
-+#define DTV_SURPLUS   (32)
-   /* Initial dtv of the main thread, not allocated with normal malloc.  */
-   EXTERN void *_dl_initial_dtv;
diff --git a/src/patches/glibc/glibc-rh1296031-0.patch b/src/patches/glibc/glibc-rh1296031-0.patch
deleted file mode 100644 (file)
index d44e491..0000000
+++ /dev/null
@@ -1,465 +0,0 @@
-Sourceware bug 16574
-
-commit d668061994a7486a3ba9c7d5e7882d85a2883707
-Author: Andreas Schwab <schwab@suse.de>
-Date:   Thu Feb 13 11:01:57 2014 +0100
-
-    Fix memory leak in _nss_dns_gethostbyname4_r with big DNS answer
-
-commit ab7ac0f2cf8731fe4c3f3aea6088a7c0127b5725
-Author: Ondřej Bílka <neleai@seznam.cz>
-Date:   Sun Feb 16 12:59:23 2014 +0100
-
-    Deduplicate resolv/nss_dns/dns-host.c
-    
-    In resolv/nss_dns/dns-host.c one of code path duplicated code after
-    that. We merge these paths.
-
-commit ab09bf616ad527b249aca5f2a4956fd526f0712f
-Author: Andreas Schwab <schwab@suse.de>
-Date:   Tue Feb 18 10:57:25 2014 +0100
-
-    Properly fix memory leak in _nss_dns_gethostbyname4_r with big DNS answer
-    
-    Instead of trying to guess whether the second buffer needs to be freed
-    set a flag at the place it is allocated
-
-Index: glibc-2.12-2-gc4ccff1/include/resolv.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/include/resolv.h
-+++ glibc-2.12-2-gc4ccff1/include/resolv.h
-@@ -58,11 +58,11 @@ libc_hidden_proto (__res_randomid)
- libc_hidden_proto (__res_state)
- int __libc_res_nquery (res_state, const char *, int, int, u_char *, int,
--                     u_char **, u_char **, int *, int *);
-+                     u_char **, u_char **, int *, int *, int *);
- int __libc_res_nsearch (res_state, const char *, int, int, u_char *, int,
--                      u_char **, u_char **, int *, int *);
-+                      u_char **, u_char **, int *, int *, int *);
- int __libc_res_nsend (res_state, const u_char *, int, const u_char *, int,
--                    u_char *, int, u_char **, u_char **, int *, int *)
-+                    u_char *, int, u_char **, u_char **, int *, int *, int *)
-   attribute_hidden;
- libresolv_hidden_proto (_sethtent)
-Index: glibc-2.12-2-gc4ccff1/resolv/gethnamaddr.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/resolv/gethnamaddr.c
-+++ glibc-2.12-2-gc4ccff1/resolv/gethnamaddr.c
-@@ -634,7 +634,7 @@ gethostbyname2(name, af)
-       buf.buf = origbuf = (querybuf *) alloca (1024);
-       if ((n = __libc_res_nsearch(&_res, name, C_IN, type, buf.buf->buf, 1024,
--                                  &buf.ptr, NULL, NULL, NULL)) < 0) {
-+                                  &buf.ptr, NULL, NULL, NULL, NULL)) < 0) {
-               if (buf.buf != origbuf)
-                       free (buf.buf);
-               Dprintf("res_nsearch failed (%d)\n", n);
-@@ -729,12 +729,12 @@ gethostbyaddr(addr, len, af)
-       buf.buf = orig_buf = (querybuf *) alloca (1024);
-       n = __libc_res_nquery(&_res, qbuf, C_IN, T_PTR, buf.buf->buf, 1024,
--                            &buf.ptr, NULL, NULL, NULL);
-+                            &buf.ptr, NULL, NULL, NULL, NULL);
-       if (n < 0 && af == AF_INET6 && (_res.options & RES_NOIP6DOTINT) == 0) {
-               strcpy(qp, "ip6.int");
-               n = __libc_res_nquery(&_res, qbuf, C_IN, T_PTR, buf.buf->buf,
-                                     buf.buf != orig_buf ? MAXPACKET : 1024,
--                                    &buf.ptr, NULL, NULL, NULL);
-+                                    &buf.ptr, NULL, NULL, NULL, NULL);
-       }
-       if (n < 0) {
-               if (buf.buf != orig_buf)
-Index: glibc-2.12-2-gc4ccff1/resolv/nss_dns/dns-canon.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/resolv/nss_dns/dns-canon.c
-+++ glibc-2.12-2-gc4ccff1/resolv/nss_dns/dns-canon.c
-@@ -62,7 +62,7 @@ _nss_dns_getcanonname_r (const char *nam
-     {
-       int r = __libc_res_nquery (&_res, name, ns_c_in, qtypes[i],
-                                buf, sizeof (buf), &ansp.ptr, NULL, NULL,
--                               NULL);
-+                               NULL, NULL);
-       if (r > 0)
-       {
-         /* We need to decode the response.  Just one question record.
-Index: glibc-2.12-2-gc4ccff1/resolv/nss_dns/dns-host.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/resolv/nss_dns/dns-host.c
-+++ glibc-2.12-2-gc4ccff1/resolv/nss_dns/dns-host.c
-@@ -191,7 +191,7 @@ _nss_dns_gethostbyname3_r (const char *n
-   host_buffer.buf = orig_host_buffer = (querybuf *) alloca (1024);
-   n = __libc_res_nsearch (&_res, name, C_IN, type, host_buffer.buf->buf,
--                        1024, &host_buffer.ptr, NULL, NULL, NULL);
-+                        1024, &host_buffer.ptr, NULL, NULL, NULL, NULL);
-   if (n < 0)
-     {
-       switch (errno)
-@@ -221,7 +221,7 @@ _nss_dns_gethostbyname3_r (const char *n
-       n = __libc_res_nsearch (&_res, name, C_IN, T_A, host_buffer.buf->buf,
-                               host_buffer.buf != orig_host_buffer
-                               ? MAXPACKET : 1024, &host_buffer.ptr,
--                              NULL, NULL, NULL);
-+                              NULL, NULL, NULL, NULL);
-       if (n < 0)
-       {
-@@ -304,13 +304,20 @@ _nss_dns_gethostbyname4_r (const char *n
-   u_char *ans2p = NULL;
-   int nans2p = 0;
-   int resplen2 = 0;
-+  int ans2p_malloced = 0;
-   int olderr = errno;
-   enum nss_status status;
-   int n = __libc_res_nsearch (&_res, name, C_IN, T_UNSPEC,
-                             host_buffer.buf->buf, 2048, &host_buffer.ptr,
--                            &ans2p, &nans2p, &resplen2);
--  if (n < 0)
-+                            &ans2p, &nans2p, &resplen2, &ans2p_malloced);
-+  if (n >= 0)
-+    {
-+      status = gaih_getanswer (host_buffer.buf, n, (const querybuf *) ans2p,
-+                             resplen2, name, pat, buffer, buflen,
-+                             errnop, herrnop, ttlp);
-+    }
-+  else
-     {
-       if (errno == ESRCH)
-       {
-@@ -325,16 +332,11 @@ _nss_dns_gethostbyname4_r (const char *n
-       *errnop = EAGAIN;
-       else
-       __set_errno (olderr);
--
--      if (host_buffer.buf != orig_host_buffer)
--      free (host_buffer.buf);
--
--      return status;
-     }
--  status = gaih_getanswer(host_buffer.buf, n, (const querybuf *) ans2p,
--                        resplen2, name, pat, buffer, buflen,
--                        errnop, herrnop, ttlp);
-+  /* Check whether ans2p was separately allocated.  */
-+  if (ans2p_malloced)
-+    free (ans2p);
-   if (host_buffer.buf != orig_host_buffer)
-     free (host_buffer.buf);
-@@ -444,7 +446,7 @@ _nss_dns_gethostbyaddr2_r (const void *a
-         strcpy (qp, "].ip6.arpa");
-         n = __libc_res_nquery (&_res, qbuf, C_IN, T_PTR,
-                                host_buffer.buf->buf, 1024, &host_buffer.ptr,
--                               NULL, NULL, NULL);
-+                               NULL, NULL, NULL, NULL);
-         if (n >= 0)
-           goto got_it_already;
-       }
-@@ -465,14 +467,14 @@ _nss_dns_gethostbyaddr2_r (const void *a
-     }
-   n = __libc_res_nquery (&_res, qbuf, C_IN, T_PTR, host_buffer.buf->buf,
--                       1024, &host_buffer.ptr, NULL, NULL, NULL);
-+                       1024, &host_buffer.ptr, NULL, NULL, NULL, NULL);
-   if (n < 0 && af == AF_INET6 && (_res.options & RES_NOIP6DOTINT) == 0)
-     {
-       strcpy (qp, "ip6.int");
-       n = __libc_res_nquery (&_res, qbuf, C_IN, T_PTR, host_buffer.buf->buf,
-                            host_buffer.buf != orig_host_buffer
-                            ? MAXPACKET : 1024, &host_buffer.ptr,
--                           NULL, NULL, NULL);
-+                           NULL, NULL, NULL, NULL);
-     }
-   if (n < 0)
-     {
-Index: glibc-2.12-2-gc4ccff1/resolv/nss_dns/dns-network.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/resolv/nss_dns/dns-network.c
-+++ glibc-2.12-2-gc4ccff1/resolv/nss_dns/dns-network.c
-@@ -130,7 +130,7 @@ _nss_dns_getnetbyname_r (const char *nam
-   net_buffer.buf = orig_net_buffer = (querybuf *) alloca (1024);
-   anslen = __libc_res_nsearch (&_res, qbuf, C_IN, T_PTR, net_buffer.buf->buf,
--                             1024, &net_buffer.ptr, NULL, NULL, NULL);
-+                             1024, &net_buffer.ptr, NULL, NULL, NULL, NULL);
-   if (anslen < 0)
-     {
-       /* Nothing found.  */
-@@ -206,7 +206,7 @@ _nss_dns_getnetbyaddr_r (uint32_t net, i
-   net_buffer.buf = orig_net_buffer = (querybuf *) alloca (1024);
-   anslen = __libc_res_nquery (&_res, qbuf, C_IN, T_PTR, net_buffer.buf->buf,
--                            1024, &net_buffer.ptr, NULL, NULL, NULL);
-+                            1024, &net_buffer.ptr, NULL, NULL, NULL, NULL);
-   if (anslen < 0)
-     {
-       /* Nothing found.  */
-Index: glibc-2.12-2-gc4ccff1/resolv/res_query.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/resolv/res_query.c
-+++ glibc-2.12-2-gc4ccff1/resolv/res_query.c
-@@ -98,7 +98,7 @@ static int
- __libc_res_nquerydomain(res_state statp, const char *name, const char *domain,
-                       int class, int type, u_char *answer, int anslen,
-                       u_char **answerp, u_char **answerp2, int *nanswerp2,
--                      int *resplen2);
-+                      int *resplen2, int *answerp2_malloced);
- /*
-  * Formulate a normal query, send, and await answer.
-@@ -119,7 +119,8 @@ __libc_res_nquery(res_state statp,
-                 u_char **answerp,     /* if buffer needs to be enlarged */
-                 u_char **answerp2,
-                 int *nanswerp2,
--                int *resplen2)
-+                int *resplen2,
-+                int *answerp2_malloced)
- {
-       HEADER *hp = (HEADER *) answer;
-       HEADER *hp2;
-@@ -224,7 +225,8 @@ __libc_res_nquery(res_state statp,
-       }
-       assert (answerp == NULL || (void *) *answerp == (void *) answer);
-       n = __libc_res_nsend(statp, query1, nquery1, query2, nquery2, answer,
--                           anslen, answerp, answerp2, nanswerp2, resplen2);
-+                           anslen, answerp, answerp2, nanswerp2, resplen2,
-+                           answerp2_malloced);
-       if (use_malloc)
-               free (buf);
-       if (n < 0) {
-@@ -316,7 +318,7 @@ res_nquery(res_state statp,
-          int anslen)          /* size of answer buffer */
- {
-       return __libc_res_nquery(statp, name, class, type, answer, anslen,
--                               NULL, NULL, NULL, NULL);
-+                               NULL, NULL, NULL, NULL, NULL);
- }
- libresolv_hidden_def (res_nquery)
-@@ -335,7 +337,8 @@ __libc_res_nsearch(res_state statp,
-                  u_char **answerp,
-                  u_char **answerp2,
-                  int *nanswerp2,
--                 int *resplen2)
-+                 int *resplen2,
-+                 int *answerp2_malloced)
- {
-       const char *cp, * const *domain;
-       HEADER *hp = (HEADER *) answer;
-@@ -359,7 +362,7 @@ __libc_res_nsearch(res_state statp,
-       if (!dots && (cp = res_hostalias(statp, name, tmp, sizeof tmp))!= NULL)
-               return (__libc_res_nquery(statp, cp, class, type, answer,
-                                         anslen, answerp, answerp2,
--                                        nanswerp2, resplen2));
-+                                        nanswerp2, resplen2, answerp2_malloced));
- #ifdef DEBUG
-       if (statp->options & RES_DEBUG)
-@@ -376,7 +379,8 @@ __libc_res_nsearch(res_state statp,
-       if (dots >= statp->ndots || trailing_dot) {
-               ret = __libc_res_nquerydomain(statp, name, NULL, class, type,
-                                             answer, anslen, answerp,
--                                            answerp2, nanswerp2, resplen2);
-+                                            answerp2, nanswerp2, resplen2,
-+                                            answerp2_malloced);
-               if (ret > 0 || trailing_dot
-                   /* If the second response is valid then we use that.  */
-                   || (ret == 0 && resplen2 != NULL && *resplen2 > 0))
-@@ -387,12 +391,12 @@ __libc_res_nsearch(res_state statp,
-                       answer = *answerp;
-                       anslen = MAXPACKET;
-               }
--              if (answerp2
--                  && (*answerp2 < answer || *answerp2 >= answer + anslen))
-+              if (answerp2 && *answerp2_malloced)
-                 {
-                   free (*answerp2);
-                   *nanswerp2 = 0;
-                   *answerp2 = NULL;
-+                  *answerp2_malloced = 0;
-                 }
-       }
-@@ -418,7 +422,7 @@ __libc_res_nsearch(res_state statp,
-                                                     class, type,
-                                                     answer, anslen, answerp,
-                                                     answerp2, nanswerp2,
--                                                    resplen2);
-+                                                    resplen2, answerp2_malloced);
-                       if (ret > 0 || (ret == 0 && resplen2 != NULL
-                                       && *resplen2 > 0))
-                               return (ret);
-@@ -427,13 +431,12 @@ __libc_res_nsearch(res_state statp,
-                               answer = *answerp;
-                               anslen = MAXPACKET;
-                       }
--                      if (answerp2
--                          && (*answerp2 < answer
--                              || *answerp2 >= answer + anslen))
-+                      if (answerp2 && *answerp2_malloced)
-                         {
-                           free (*answerp2);
-                           *nanswerp2 = 0;
-                           *answerp2 = NULL;
-+                          *answerp2_malloced = 0;
-                         }
-                       /*
-@@ -489,7 +492,8 @@ __libc_res_nsearch(res_state statp,
-       if (dots && !(tried_as_is || root_on_list)) {
-               ret = __libc_res_nquerydomain(statp, name, NULL, class, type,
-                                             answer, anslen, answerp,
--                                            answerp2, nanswerp2, resplen2);
-+                                            answerp2, nanswerp2, resplen2,
-+                                            answerp2_malloced);
-               if (ret > 0 || (ret == 0 && resplen2 != NULL
-                               && *resplen2 > 0))
-                       return (ret);
-@@ -502,11 +506,12 @@ __libc_res_nsearch(res_state statp,
-        * else send back meaningless H_ERRNO, that being the one from
-        * the last DNSRCH we did.
-        */
--      if (answerp2 && (*answerp2 < answer || *answerp2 >= answer + anslen))
-+      if (answerp2 && *answerp2_malloced)
-         {
-           free (*answerp2);
--          *nanswerp2 = NULL;
-+          *nanswerp2 = 0;
-           *answerp2 = NULL;
-+          *answerp2_malloced = 0;
-         }
-       if (saved_herrno != -1)
-               RES_SET_H_ERRNO(statp, saved_herrno);
-@@ -526,7 +531,7 @@ res_nsearch(res_state statp,
-           int anslen)         /* size of answer */
- {
-       return __libc_res_nsearch(statp, name, class, type, answer,
--                                anslen, NULL, NULL, NULL, NULL);
-+                                anslen, NULL, NULL, NULL, NULL, NULL);
- }
- libresolv_hidden_def (res_nsearch)
-@@ -544,7 +549,8 @@ __libc_res_nquerydomain(res_state statp,
-                       u_char **answerp,
-                       u_char **answerp2,
-                       int *nanswerp2,
--                      int *resplen2)
-+                      int *resplen2,
-+                      int *answerp2_malloced)
- {
-       char nbuf[MAXDNAME];
-       const char *longname = nbuf;
-@@ -582,7 +588,7 @@ __libc_res_nquerydomain(res_state statp,
-       }
-       return (__libc_res_nquery(statp, longname, class, type, answer,
-                                 anslen, answerp, answerp2, nanswerp2,
--                                resplen2));
-+                                resplen2, answerp2_malloced));
- }
- int
-@@ -594,7 +600,8 @@ res_nquerydomain(res_state statp,
-           int anslen)         /* size of answer */
- {
-       return __libc_res_nquerydomain(statp, name, domain, class, type,
--                                     answer, anslen, NULL, NULL, NULL, NULL);
-+                                     answer, anslen, NULL, NULL, NULL, NULL,
-+                                     NULL);
- }
- libresolv_hidden_def (res_nquerydomain)
-Index: glibc-2.12-2-gc4ccff1/resolv/res_send.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/resolv/res_send.c
-+++ glibc-2.12-2-gc4ccff1/resolv/res_send.c
-@@ -203,12 +203,12 @@ evNowTime(struct timespec *res) {
- static int            send_vc(res_state, const u_char *, int,
-                               const u_char *, int,
-                               u_char **, int *, int *, int, u_char **,
--                              u_char **, int *, int *);
-+                              u_char **, int *, int *, int *);
- static int            send_dg(res_state, const u_char *, int,
-                               const u_char *, int,
-                               u_char **, int *, int *, int,
-                               int *, int *, u_char **,
--                              u_char **, int *, int *);
-+                              u_char **, int *, int *, int *);
- #ifdef DEBUG
- static void           Aerror(const res_state, FILE *, const char *, int,
-                              const struct sockaddr *);
-@@ -360,7 +360,7 @@ int
- __libc_res_nsend(res_state statp, const u_char *buf, int buflen,
-                const u_char *buf2, int buflen2,
-                u_char *ans, int anssiz, u_char **ansp, u_char **ansp2,
--               int *nansp2, int *resplen2)
-+               int *nansp2, int *resplen2, int *ansp2_malloced)
- {
-   int gotsomewhere, terrno, try, v_circuit, resplen, ns, n;
-@@ -565,7 +565,8 @@ __libc_res_nsend(res_state statp, const
-                       try = statp->retry;
-                       n = send_vc(statp, buf, buflen, buf2, buflen2,
-                                   &ans, &anssiz, &terrno,
--                                  ns, ansp, ansp2, nansp2, resplen2);
-+                                  ns, ansp, ansp2, nansp2, resplen2,
-+                                  ansp2_malloced);
-                       if (n < 0)
-                               return (-1);
-                       if (n == 0 && (buf2 == NULL || *resplen2 == 0))
-@@ -575,7 +576,7 @@ __libc_res_nsend(res_state statp, const
-                       n = send_dg(statp, buf, buflen, buf2, buflen2,
-                                   &ans, &anssiz, &terrno,
-                                   ns, &v_circuit, &gotsomewhere, ansp,
--                                  ansp2, nansp2, resplen2);
-+                                  ansp2, nansp2, resplen2, ansp2_malloced);
-                       if (n < 0)
-                               return (-1);
-                       if (n == 0 && (buf2 == NULL || *resplen2 == 0))
-@@ -665,7 +666,7 @@ res_nsend(res_state statp,
-         const u_char *buf, int buflen, u_char *ans, int anssiz)
- {
-   return __libc_res_nsend(statp, buf, buflen, NULL, 0, ans, anssiz,
--                        NULL, NULL, NULL, NULL);
-+                        NULL, NULL, NULL, NULL, NULL);
- }
- libresolv_hidden_def (res_nsend)
-@@ -747,7 +748,7 @@ send_vc(res_state statp,
-       const u_char *buf, int buflen, const u_char *buf2, int buflen2,
-       u_char **ansp, int *anssizp,
-       int *terrno, int ns, u_char **anscp, u_char **ansp2, int *anssizp2,
--      int *resplen2)
-+      int *resplen2, int *ansp2_malloced)
- {
-       const HEADER *hp = (HEADER *) buf;
-       const HEADER *hp2 = (HEADER *) buf2;
-@@ -896,6 +897,8 @@ send_vc(res_state statp,
-                       }
-                       *thisanssizp = MAXPACKET;
-                       *thisansp = newp;
-+                      if (thisansp == ansp2)
-+                        *ansp2_malloced = 1;
-                       anhp = (HEADER *) newp;
-                       /* A uint16_t can't be larger than MAXPACKET
-                          thus it's safe to allocate MAXPACKET but
-@@ -1128,7 +1131,7 @@ send_dg(res_state statp,
-       const u_char *buf, int buflen, const u_char *buf2, int buflen2,
-       u_char **ansp, int *anssizp,
-       int *terrno, int ns, int *v_circuit, int *gotsomewhere, u_char **anscp,
--      u_char **ansp2, int *anssizp2, int *resplen2)
-+      u_char **ansp2, int *anssizp2, int *resplen2, int *ansp2_malloced)
- {
-       const HEADER *hp = (HEADER *) buf;
-       const HEADER *hp2 = (HEADER *) buf2;
-@@ -1289,6 +1292,8 @@ send_dg(res_state statp,
-                       if (newp != NULL) {
-                               *thisanssizp = MAXPACKET;
-                               *thisansp = newp;
-+                              if (thisansp == ansp2)
-+                                *ansp2_malloced = 1;
-                       }
-               }
-               /* We could end up with truncation if anscp was NULL
diff --git a/src/patches/glibc/glibc-rh1296031.patch b/src/patches/glibc/glibc-rh1296031.patch
deleted file mode 100644 (file)
index c430abb..0000000
+++ /dev/null
@@ -1,544 +0,0 @@
-Index: glibc-2.12-2-gc4ccff1/resolv/nss_dns/dns-host.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/resolv/nss_dns/dns-host.c
-+++ glibc-2.12-2-gc4ccff1/resolv/nss_dns/dns-host.c
-@@ -1043,7 +1043,10 @@ gaih_getanswer_slice (const querybuf *an
-   int h_namelen = 0;
-   if (ancount == 0)
--    return NSS_STATUS_NOTFOUND;
-+    {
-+      *h_errnop = HOST_NOT_FOUND;
-+      return NSS_STATUS_NOTFOUND;
-+    }
-   while (ancount-- > 0 && cp < end_of_message && had_error == 0)
-     {
-@@ -1217,7 +1220,14 @@ gaih_getanswer_slice (const querybuf *an
-   /* Special case here: if the resolver sent a result but it only
-      contains a CNAME while we are looking for a T_A or T_AAAA record,
-      we fail with NOTFOUND instead of TRYAGAIN.  */
--  return canon == NULL ? NSS_STATUS_TRYAGAIN : NSS_STATUS_NOTFOUND;
-+  if (canon != NULL)
-+    {
-+      *h_errnop = HOST_NOT_FOUND;
-+      return NSS_STATUS_NOTFOUND;
-+    }
-+
-+  *h_errnop = NETDB_INTERNAL;
-+  return NSS_STATUS_TRYAGAIN;
- }
-@@ -1231,11 +1241,101 @@ gaih_getanswer (const querybuf *answer1,
-   enum nss_status status = NSS_STATUS_NOTFOUND;
-+  /* Combining the NSS status of two distinct queries requires some
-+     compromise and attention to symmetry (A or AAAA queries can be
-+     returned in any order).  What follows is a breakdown of how this
-+     code is expected to work and why. We discuss only SUCCESS,
-+     TRYAGAIN, NOTFOUND and UNAVAIL, since they are the only returns
-+     that apply (though RETURN and MERGE exist).  We make a distinction
-+     between TRYAGAIN (recoverable) and TRYAGAIN' (not-recoverable).
-+     A recoverable TRYAGAIN is almost always due to buffer size issues
-+     and returns ERANGE in errno and the caller is expected to retry
-+     with a larger buffer.
-+
-+     Lastly, you may be tempted to make significant changes to the
-+     conditions in this code to bring about symmetry between responses.
-+     Please don't change anything without due consideration for
-+     expected application behaviour.  Some of the synthesized responses
-+     aren't very well thought out and sometimes appear to imply that
-+     IPv4 responses are always answer 1, and IPv6 responses are always
-+     answer 2, but that's not true (see the implemetnation of send_dg
-+     and send_vc to see response can arrive in any order, particlarly
-+     for UDP). However, we expect it holds roughly enough of the time
-+     that this code works, but certainly needs to be fixed to make this
-+     a more robust implementation.
-+
-+     ----------------------------------------------
-+     | Answer 1 Status /   | Synthesized | Reason |
-+     | Answer 2 Status     | Status      |        |
-+     |--------------------------------------------|
-+     | SUCCESS/SUCCESS     | SUCCESS     | [1]    |
-+     | SUCCESS/TRYAGAIN    | TRYAGAIN    | [5]    |
-+     | SUCCESS/TRYAGAIN'   | SUCCESS     | [1]    |
-+     | SUCCESS/NOTFOUND    | SUCCESS     | [1]    |
-+     | SUCCESS/UNAVAIL     | SUCCESS     | [1]    |
-+     | TRYAGAIN/SUCCESS    | TRYAGAIN    | [2]    |
-+     | TRYAGAIN/TRYAGAIN   | TRYAGAIN    | [2]    |
-+     | TRYAGAIN/TRYAGAIN'  | TRYAGAIN    | [2]    |
-+     | TRYAGAIN/NOTFOUND   | TRYAGAIN    | [2]    |
-+     | TRYAGAIN/UNAVAIL    | TRYAGAIN    | [2]    |
-+     | TRYAGAIN'/SUCCESS   | SUCCESS     | [3]    |
-+     | TRYAGAIN'/TRYAGAIN  | TRYAGAIN    | [3]    |
-+     | TRYAGAIN'/TRYAGAIN' | TRYAGAIN'   | [3]    |
-+     | TRYAGAIN'/NOTFOUND  | TRYAGAIN'   | [3]    |
-+     | TRYAGAIN'/UNAVAIL   | UNAVAIL     | [3]    |
-+     | NOTFOUND/SUCCESS    | SUCCESS     | [3]    |
-+     | NOTFOUND/TRYAGAIN   | TRYAGAIN    | [3]    |
-+     | NOTFOUND/TRYAGAIN'  | TRYAGAIN'   | [3]    |
-+     | NOTFOUND/NOTFOUND   | NOTFOUND    | [3]    |
-+     | NOTFOUND/UNAVAIL    | UNAVAIL     | [3]    |
-+     | UNAVAIL/SUCCESS     | UNAVAIL     | [4]    |
-+     | UNAVAIL/TRYAGAIN    | UNAVAIL     | [4]    |
-+     | UNAVAIL/TRYAGAIN'   | UNAVAIL     | [4]    |
-+     | UNAVAIL/NOTFOUND    | UNAVAIL     | [4]    |
-+     | UNAVAIL/UNAVAIL     | UNAVAIL     | [4]    |
-+     ----------------------------------------------
-+
-+     [1] If the first response is a success we return success.
-+         This ignores the state of the second answer and in fact
-+         incorrectly sets errno and h_errno to that of the second
-+       answer.  However because the response is a success we ignore
-+       *errnop and *h_errnop (though that means you touched errno on
-+         success).  We are being conservative here and returning the
-+         likely IPv4 response in the first answer as a success.
-+
-+     [2] If the first response is a recoverable TRYAGAIN we return
-+       that instead of looking at the second response.  The
-+       expectation here is that we have failed to get an IPv4 response
-+       and should retry both queries.
-+
-+     [3] If the first response was not a SUCCESS and the second
-+       response is not NOTFOUND (had a SUCCESS, need to TRYAGAIN,
-+       or failed entirely e.g. TRYAGAIN' and UNAVAIL) then use the
-+       result from the second response, otherwise the first responses
-+       status is used.  Again we have some odd side-effects when the
-+       second response is NOTFOUND because we overwrite *errnop and
-+       *h_errnop that means that a first answer of NOTFOUND might see
-+       its *errnop and *h_errnop values altered.  Whether it matters
-+       in practice that a first response NOTFOUND has the wrong
-+       *errnop and *h_errnop is undecided.
-+
-+     [4] If the first response is UNAVAIL we return that instead of
-+       looking at the second response.  The expectation here is that
-+       it will have failed similarly e.g. configuration failure.
-+
-+     [5] Testing this code is complicated by the fact that truncated
-+       second response buffers might be returned as SUCCESS if the
-+       first answer is a SUCCESS.  To fix this we add symmetry to
-+       TRYAGAIN with the second response.  If the second response
-+       is a recoverable error we now return TRYAGIN even if the first
-+       response was SUCCESS.  */
-+
-   if (anslen1 > 0)
-     status = gaih_getanswer_slice(answer1, anslen1, qname,
-                                 &pat, &buffer, &buflen,
-                                 errnop, h_errnop, ttlp,
-                                 &first);
-+
-   if ((status == NSS_STATUS_SUCCESS || status == NSS_STATUS_NOTFOUND
-        || (status == NSS_STATUS_TRYAGAIN
-          && (*errnop != ERANGE || *h_errnop == NO_RECOVERY)))
-@@ -1245,8 +1345,15 @@ gaih_getanswer (const querybuf *answer1,
-                                                    &pat, &buffer, &buflen,
-                                                    errnop, h_errnop, ttlp,
-                                                    &first);
-+      /* Use the second response status in some cases.  */
-       if (status != NSS_STATUS_SUCCESS && status2 != NSS_STATUS_NOTFOUND)
-       status = status2;
-+      /* Do not return a truncated second response (unless it was
-+         unavoidable e.g. unrecoverable TRYAGAIN).  */
-+      if (status == NSS_STATUS_SUCCESS
-+        && (status2 == NSS_STATUS_TRYAGAIN
-+            && *errnop == ERANGE && *h_errnop != NO_RECOVERY))
-+      status = NSS_STATUS_TRYAGAIN;
-     }
-   return status;
-Index: glibc-2.12-2-gc4ccff1/resolv/res_send.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/resolv/res_send.c
-+++ glibc-2.12-2-gc4ccff1/resolv/res_send.c
-@@ -1,3 +1,20 @@
-+/* Copyright (C) 2016 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, see
-+   <http://www.gnu.org/licenses/>.  */
-+
- /*
-  * Copyright (c) 1985, 1989, 1993
-  *    The Regents of the University of California.  All rights reserved.
-@@ -360,6 +377,8 @@ __libc_res_nsend(res_state statp, const
- #ifdef USE_HOOKS
-       if (__builtin_expect (statp->qhook || statp->rhook, 0)) {
-               if (anssiz < MAXPACKET && ansp) {
-+                      /* Always allocate MAXPACKET, callers expect
-+                         this specific size.  */
-                       u_char *buf = malloc (MAXPACKET);
-                       if (buf == NULL)
-                               return (-1);
-@@ -652,6 +671,77 @@ libresolv_hidden_def (res_nsend)
- /* Private */
-+/* The send_vc function is responsible for sending a DNS query over TCP
-+   to the nameserver numbered NS from the res_state STATP i.e.
-+   EXT(statp).nssocks[ns].  The function supports sending both IPv4 and
-+   IPv6 queries at the same serially on the same socket.
-+
-+   Please note that for TCP there is no way to disable sending both
-+   queries, unlike UDP, which honours RES_SNGLKUP and RES_SNGLKUPREOP
-+   and sends the queries serially and waits for the result after each
-+   sent query.  This implemetnation should be corrected to honour these
-+   options.
-+
-+   Please also note that for TCP we send both queries over the same
-+   socket one after another.  This technically violates best practice
-+   since the server is allowed to read the first query, respond, and
-+   then close the socket (to service another client).  If the server
-+   does this, then the remaining second query in the socket data buffer
-+   will cause the server to send the client an RST which will arrive
-+   asynchronously and the client's OS will likely tear down the socket
-+   receive buffer resulting in a potentially short read and lost
-+   response data.  This will force the client to retry the query again,
-+   and this process may repeat until all servers and connection resets
-+   are exhausted and then the query will fail.  It's not known if this
-+   happens with any frequency in real DNS server implementations.  This
-+   implementation should be corrected to use two sockets by default for
-+   parallel queries.
-+
-+   The query stored in BUF of BUFLEN length is sent first followed by
-+   the query stored in BUF2 of BUFLEN2 length.  Queries are sent
-+   serially on the same socket.
-+
-+   Answers to the query are stored firstly in *ANSP up to a max of
-+   *ANSSIZP bytes.  If more than *ANSSIZP bytes are needed and ANSCP
-+   is non-NULL (to indicate that modifying the answer buffer is allowed)
-+   then malloc is used to allocate a new response buffer and ANSCP and
-+   ANSP will both point to the new buffer.  If more than *ANSSIZP bytes
-+   are needed but ANSCP is NULL, then as much of the response as
-+   possible is read into the buffer, but the results will be truncated.
-+   When truncation happens because of a small answer buffer the DNS
-+   packets header feild TC will bet set to 1, indicating a truncated
-+   message and the rest of the socket data will be read and discarded.
-+
-+   Answers to the query are stored secondly in *ANSP2 up to a max of
-+   *ANSSIZP2 bytes, with the actual response length stored in
-+   *RESPLEN2.  If more than *ANSSIZP bytes are needed and ANSP2
-+   is non-NULL (required for a second query) then malloc is used to
-+   allocate a new response buffer, *ANSSIZP2 is set to the new buffer
-+   size and *ANSP2_MALLOCED is set to 1.
-+
-+   The ANSP2_MALLOCED argument will eventually be removed as the
-+   change in buffer pointer can be used to detect the buffer has
-+   changed and that the caller should use free on the new buffer.
-+
-+   Note that the answers may arrive in any order from the server and
-+   therefore the first and second answer buffers may not correspond to
-+   the first and second queries.
-+
-+   It is not supported to call this function with a non-NULL ANSP2
-+   but a NULL ANSCP.  Put another way, you can call send_vc with a
-+   single unmodifiable buffer or two modifiable buffers, but no other
-+   combination is supported.
-+
-+   It is the caller's responsibility to free the malloc allocated
-+   buffers by detecting that the pointers have changed from their
-+   original values i.e. *ANSCP or *ANSP2 has changed.
-+
-+   If errors are encountered then *TERRNO is set to an appropriate
-+   errno value and a zero result is returned for a recoverable error,
-+   and a less-than zero result is returned for a non-recoverable error.
-+
-+   If no errors are encountered then *TERRNO is left unmodified and
-+   a the length of the first response in bytes is returned.  */
- static int
- send_vc(res_state statp,
-       const u_char *buf, int buflen, const u_char *buf2, int buflen2,
-@@ -661,11 +751,7 @@ send_vc(res_state statp,
- {
-       const HEADER *hp = (HEADER *) buf;
-       const HEADER *hp2 = (HEADER *) buf2;
--      u_char *ans = *ansp;
--      int orig_anssizp = *anssizp;
--      // XXX REMOVE
--      // int anssiz = *anssizp;
--      HEADER *anhp = (HEADER *) ans;
-+      HEADER *anhp = (HEADER *) *ansp;
-       struct sockaddr_in6 *nsap = EXT(statp).nsaddrs[ns];
-       int truncating, connreset, resplen, n;
-       struct iovec iov[4];
-@@ -741,6 +827,8 @@ send_vc(res_state statp,
-        * Receive length & response
-        */
-       int recvresp1 = 0;
-+      /* Skip the second response if there is no second query.
-+           To do that we mark the second response as received.  */
-       int recvresp2 = buf2 == NULL;
-       uint16_t rlen16;
-  read_len:
-@@ -777,33 +865,14 @@ send_vc(res_state statp,
-       u_char **thisansp;
-       int *thisresplenp;
-       if ((recvresp1 | recvresp2) == 0 || buf2 == NULL) {
-+              /* We have not received any responses
-+                 yet or we only have one response to
-+                 receive.  */
-               thisanssizp = anssizp;
-               thisansp = anscp ?: ansp;
-               assert (anscp != NULL || ansp2 == NULL);
-               thisresplenp = &resplen;
-       } else {
--              if (*anssizp != MAXPACKET) {
--                      /* No buffer allocated for the first
--                         reply.  We can try to use the rest
--                         of the user-provided buffer.  */
--#ifdef _STRING_ARCH_unaligned
--                      *anssizp2 = orig_anssizp - resplen;
--                      *ansp2 = *ansp + resplen;
--#else
--                      int aligned_resplen
--                        = ((resplen + __alignof__ (HEADER) - 1)
--                           & ~(__alignof__ (HEADER) - 1));
--                      *anssizp2 = orig_anssizp - aligned_resplen;
--                      *ansp2 = *ansp + aligned_resplen;
--#endif
--              } else {
--                      /* The first reply did not fit into the
--                         user-provided buffer.  Maybe the second
--                         answer will.  */
--                      *anssizp2 = orig_anssizp;
--                      *ansp2 = *ansp;
--              }
--
-               thisanssizp = anssizp2;
-               thisansp = ansp2;
-               thisresplenp = resplen2;
-@@ -811,10 +880,14 @@ send_vc(res_state statp,
-       anhp = (HEADER *) *thisansp;
-       *thisresplenp = rlen;
--      if (rlen > *thisanssizp) {
--              /* Yes, we test ANSCP here.  If we have two buffers
--                 both will be allocatable.  */
--              if (__builtin_expect (anscp != NULL, 1)) {
-+      /* Is the answer buffer too small?  */
-+      if (*thisanssizp < rlen) {
-+              /* If the current buffer is non-NULL and it's not
-+                 pointing at the static user-supplied buffer then
-+                 we can reallocate it.  */
-+              if (thisansp != NULL && thisansp != ansp) {
-+                      /* Always allocate MAXPACKET, callers expect
-+                         this specific size.  */
-                       u_char *newp = malloc (MAXPACKET);
-                       if (newp == NULL) {
-                               *terrno = ENOMEM;
-@@ -824,6 +897,9 @@ send_vc(res_state statp,
-                       *thisanssizp = MAXPACKET;
-                       *thisansp = newp;
-                       anhp = (HEADER *) newp;
-+                      /* A uint16_t can't be larger than MAXPACKET
-+                         thus it's safe to allocate MAXPACKET but
-+                         read RLEN bytes instead.  */
-                       len = rlen;
-               } else {
-                       Dprint(statp->options & RES_DEBUG,
-@@ -987,6 +1063,66 @@ reopen (res_state statp, int *terrno, in
-       return 1;
- }
-+/* The send_dg function is responsible for sending a DNS query over UDP
-+   to the nameserver numbered NS from the res_state STATP i.e.
-+   EXT(statp).nssocks[ns].  The function supports IPv4 and IPv6 queries
-+   along with the ability to send the query in parallel for both stacks
-+   (default) or serially (RES_SINGLKUP).  It also supports serial lookup
-+   with a close and reopen of the socket used to talk to the server
-+   (RES_SNGLKUPREOP) to work around broken name servers.
-+
-+   The query stored in BUF of BUFLEN length is sent first followed by
-+   the query stored in BUF2 of BUFLEN2 length.  Queries are sent
-+   in parallel (default) or serially (RES_SINGLKUP or RES_SNGLKUPREOP).
-+
-+   Answers to the query are stored firstly in *ANSP up to a max of
-+   *ANSSIZP bytes.  If more than *ANSSIZP bytes are needed and ANSCP
-+   is non-NULL (to indicate that modifying the answer buffer is allowed)
-+   then malloc is used to allocate a new response buffer and ANSCP and
-+   ANSP will both point to the new buffer.  If more than *ANSSIZP bytes
-+   are needed but ANSCP is NULL, then as much of the response as
-+   possible is read into the buffer, but the results will be truncated.
-+   When truncation happens because of a small answer buffer the DNS
-+   packets header feild TC will bet set to 1, indicating a truncated
-+   message, while the rest of the UDP packet is discarded.
-+
-+   Answers to the query are stored secondly in *ANSP2 up to a max of
-+   *ANSSIZP2 bytes, with the actual response length stored in
-+   *RESPLEN2.  If more than *ANSSIZP bytes are needed and ANSP2
-+   is non-NULL (required for a second query) then malloc is used to
-+   allocate a new response buffer, *ANSSIZP2 is set to the new buffer
-+   size and *ANSP2_MALLOCED is set to 1.
-+
-+   The ANSP2_MALLOCED argument will eventually be removed as the
-+   change in buffer pointer can be used to detect the buffer has
-+   changed and that the caller should use free on the new buffer.
-+
-+   Note that the answers may arrive in any order from the server and
-+   therefore the first and second answer buffers may not correspond to
-+   the first and second queries.
-+
-+   It is not supported to call this function with a non-NULL ANSP2
-+   but a NULL ANSCP.  Put another way, you can call send_vc with a
-+   single unmodifiable buffer or two modifiable buffers, but no other
-+   combination is supported.
-+
-+   It is the caller's responsibility to free the malloc allocated
-+   buffers by detecting that the pointers have changed from their
-+   original values i.e. *ANSCP or *ANSP2 has changed.
-+
-+   If an answer is truncated because of UDP datagram DNS limits then
-+   *V_CIRCUIT is set to 1 and the return value non-zero to indicate to
-+   the caller to retry with TCP.  The value *GOTSOMEWHERE is set to 1
-+   if any progress was made reading a response from the nameserver and
-+   is used by the caller to distinguish between ECONNREFUSED and
-+   ETIMEDOUT (the latter if *GOTSOMEWHERE is 1).
-+
-+   If errors are encountered then *TERRNO is set to an appropriate
-+   errno value and a zero result is returned for a recoverable error,
-+   and a less-than zero result is returned for a non-recoverable error.
-+
-+   If no errors are encountered then *TERRNO is left unmodified and
-+   a the length of the first response in bytes is returned.  */
- static int
- send_dg(res_state statp,
-       const u_char *buf, int buflen, const u_char *buf2, int buflen2,
-@@ -996,8 +1132,6 @@ send_dg(res_state statp,
- {
-       const HEADER *hp = (HEADER *) buf;
-       const HEADER *hp2 = (HEADER *) buf2;
--      u_char *ans = *ansp;
--      int orig_anssizp = *anssizp;
-       struct timespec now, timeout, finish;
-       struct pollfd pfd[1];
-       int ptimeout;
-@@ -1029,6 +1163,8 @@ send_dg(res_state statp,
-       int need_recompute = 0;
-       int nwritten = 0;
-       int recvresp1 = 0;
-+      /* Skip the second response if there is no second query.
-+           To do that we mark the second response as received.  */
-       int recvresp2 = buf2 == NULL;
-       pfd[0].fd = EXT(statp).nssocks[ns];
-       pfd[0].events = POLLOUT;
-@@ -1125,50 +1261,52 @@ send_dg(res_state statp,
-               int *thisresplenp;
-               if ((recvresp1 | recvresp2) == 0 || buf2 == NULL) {
-+                      /* We have not received any responses
-+                         yet or we only have one response to
-+                         receive.  */
-                       thisanssizp = anssizp;
-                       thisansp = anscp ?: ansp;
-                       assert (anscp != NULL || ansp2 == NULL);
-                       thisresplenp = &resplen;
-               } else {
--                      if (*anssizp != MAXPACKET) {
--                              /* No buffer allocated for the first
--                                 reply.  We can try to use the rest
--                                 of the user-provided buffer.  */
--#ifdef _STRING_ARCH_unaligned
--                              *anssizp2 = orig_anssizp - resplen;
--                              *ansp2 = *ansp + resplen;
--#else
--                              int aligned_resplen
--                                = ((resplen + __alignof__ (HEADER) - 1)
--                                   & ~(__alignof__ (HEADER) - 1));
--                              *anssizp2 = orig_anssizp - aligned_resplen;
--                              *ansp2 = *ansp + aligned_resplen;
--#endif
--                      } else {
--                              /* The first reply did not fit into the
--                                 user-provided buffer.  Maybe the second
--                                 answer will.  */
--                              *anssizp2 = orig_anssizp;
--                              *ansp2 = *ansp;
--                      }
--
-                       thisanssizp = anssizp2;
-                       thisansp = ansp2;
-                       thisresplenp = resplen2;
-               }
-               if (*thisanssizp < MAXPACKET
--                  /* Yes, we test ANSCP here.  If we have two buffers
--                     both will be allocatable.  */
--                  && anscp
-+                  /* If the current buffer is non-NULL and it's not
-+                     pointing at the static user-supplied buffer then
-+                     we can reallocate it.  */
-+                  && (thisansp != NULL && thisansp != ansp)
-+                  /* Is the size too small?  */
-                   && (ioctl (pfd[0].fd, FIONREAD, thisresplenp) < 0
--                      || *thisanssizp < *thisresplenp)) {
-+                      || *thisanssizp < *thisresplenp)
-+                  ) {
-+                      /* Always allocate MAXPACKET, callers expect
-+                         this specific size.  */
-                       u_char *newp = malloc (MAXPACKET);
-                       if (newp != NULL) {
--                              *anssizp = MAXPACKET;
--                              *thisansp = ans = newp;
-+                              *thisanssizp = MAXPACKET;
-+                              *thisansp = newp;
-                       }
-               }
-+              /* We could end up with truncation if anscp was NULL
-+                 (not allowed to change caller's buffer) and the
-+                 response buffer size is too small.  This isn't a
-+                 reliable way to detect truncation because the ioctl
-+                 may be an inaccurate report of the UDP message size.
-+                 Therefore we use this only to issue debug output.
-+                 To do truncation accurately with UDP we need
-+                 MSG_TRUNC which is only available on Linux.  We
-+                 can abstract out the Linux-specific feature in the
-+                 future to detect truncation.  */
-+              if (__glibc_unlikely (*thisanssizp < *thisresplenp)) {
-+                      Dprint(statp->options & RES_DEBUG,
-+                             (stdout, ";; response may be truncated (UDP)\n")
-+                      );
-+              }
-+
-               HEADER *anhp = (HEADER *) *thisansp;
-               socklen_t fromlen = sizeof(struct sockaddr_in6);
-               assert (sizeof(from) <= fromlen);
-Index: glibc-2.12-2-gc4ccff1/resolv/res_query.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/resolv/res_query.c
-+++ glibc-2.12-2-gc4ccff1/resolv/res_query.c
-@@ -391,6 +391,7 @@ __libc_res_nsearch(res_state statp,
-                   && (*answerp2 < answer || *answerp2 >= answer + anslen))
-                 {
-                   free (*answerp2);
-+                  *nanswerp2 = 0;
-                   *answerp2 = NULL;
-                 }
-       }
-@@ -431,6 +432,7 @@ __libc_res_nsearch(res_state statp,
-                               || *answerp2 >= answer + anslen))
-                         {
-                           free (*answerp2);
-+                          *nanswerp2 = 0;
-                           *answerp2 = NULL;
-                         }
-@@ -503,6 +505,7 @@ __libc_res_nsearch(res_state statp,
-       if (answerp2 && (*answerp2 < answer || *answerp2 >= answer + anslen))
-         {
-           free (*answerp2);
-+          *nanswerp2 = NULL;
-           *answerp2 = NULL;
-         }
-       if (saved_herrno != -1)
diff --git a/src/patches/glibc/glibc-rh1299319-0.patch b/src/patches/glibc/glibc-rh1299319-0.patch
deleted file mode 100644 (file)
index f27eccd..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-commit 2c1094bd700e63a8d7f547b3f5495bedb55c0a08
-Author: Ulrich Drepper <drepper@gmail.com>
-Date:   Thu Dec 22 22:43:39 2011 -0500
-
-    Create internal threads with sufficient stack size
-
-Index: glibc-2.12-2-gc4ccff1/nptl/Versions
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nptl/Versions
-+++ glibc-2.12-2-gc4ccff1/nptl/Versions
-@@ -255,6 +255,6 @@ libpthread {
-   GLIBC_PRIVATE {
-     __pthread_initialize_minimal;
-     __pthread_clock_gettime; __pthread_clock_settime;
--    __pthread_unwind;
-+    __pthread_unwind; __pthread_get_minstack;
-   }
- }
-Index: glibc-2.12-2-gc4ccff1/nptl/nptl-init.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nptl/nptl-init.c
-+++ glibc-2.12-2-gc4ccff1/nptl/nptl-init.c
-@@ -507,3 +507,13 @@ __pthread_initialize_minimal_internal (i
- }
- strong_alias (__pthread_initialize_minimal_internal,
-             __pthread_initialize_minimal)
-+
-+
-+size_t
-+__pthread_get_minstack (const pthread_attr_t *attr)
-+{
-+  struct pthread_attr *iattr = (struct pthread_attr *) attr;
-+
-+  return (GLRO(dl_pagesize) + __static_tls_size + PTHREAD_STACK_MIN
-+        + iattr->guardsize);
-+}
-Index: glibc-2.12-2-gc4ccff1/nptl/pthreadP.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nptl/pthreadP.h
-+++ glibc-2.12-2-gc4ccff1/nptl/pthreadP.h
-@@ -397,6 +397,7 @@ weak_function;
- extern void __pthread_init_static_tls (struct link_map *) attribute_hidden;
-+extern size_t __pthread_get_minstack (const pthread_attr_t *attr);
- /* Namespace save aliases.  */
- extern int __pthread_getschedparam (pthread_t thread_id, int *policy,
-Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/timer_routines.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/unix/sysv/linux/timer_routines.c
-+++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/timer_routines.c
-@@ -165,7 +165,7 @@ __start_helper_thread (void)
-      and should go away automatically when canceled.  */
-   pthread_attr_t attr;
-   (void) pthread_attr_init (&attr);
--  (void) pthread_attr_setstacksize (&attr, PTHREAD_STACK_MIN);
-+  (void) pthread_attr_setstacksize (&attr, __pthread_get_minstack (&attr));
-   /* Block all signals in the helper thread but SIGSETXID.  To do this
-      thoroughly we temporarily have to block all signals here.  The
diff --git a/src/patches/glibc/glibc-rh1299319-1.patch b/src/patches/glibc/glibc-rh1299319-1.patch
deleted file mode 100644 (file)
index e6288a2..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-commit 232872379ee82cd040a52a48cbbae65a249b5765
-Author: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
-Date:   Sun Jan 8 19:56:52 2012 -0500
-
-    Use __pthread_get_minstack for AIO helper thread
-
-diff --git a/nptl/sysdeps/unix/sysv/linux/aio_misc.h b/nptl/sysdeps/unix/sysv/linux/aio_misc.h
-index 406d96e..8011c3e 100644
---- a/nptl/sysdeps/unix/sysv/linux/aio_misc.h
-+++ b/nptl/sysdeps/unix/sysv/linux/aio_misc.h
-@@ -47,7 +47,7 @@ __aio_create_helper_thread (pthread_t *threadp, void *(*tf) (void *),
-   pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED);
-   /* The helper thread needs only very little resources.  */
--  (void) pthread_attr_setstacksize (&attr, PTHREAD_STACK_MIN);
-+  (void) pthread_attr_setstacksize (&attr, __pthread_get_minstack (&attr));
-   /* Block all signals in the helper thread.  To do this thoroughly we
-      temporarily have to block all signals here.  */
diff --git a/src/patches/glibc/glibc-rh552960.patch b/src/patches/glibc/glibc-rh552960.patch
deleted file mode 100644 (file)
index 41eccb7..0000000
+++ /dev/null
@@ -1,1213 +0,0 @@
-diff -pruN glibc-2.12-2-gc4ccff1/nptl/Makefile glibc-2.12-2-gc4ccff1.fixed/nptl/Makefile
---- glibc-2.12-2-gc4ccff1/nptl/Makefile        2013-07-09 10:18:22.267421846 +0530
-+++ glibc-2.12-2-gc4ccff1.fixed/nptl/Makefile  2013-07-09 10:16:22.043427519 +0530
-@@ -207,7 +207,8 @@ tests = tst-typesizes \
-       tst-cond1 tst-cond2 tst-cond3 tst-cond4 tst-cond5 tst-cond6 tst-cond7 \
-       tst-cond8 tst-cond9 tst-cond10 tst-cond11 tst-cond12 tst-cond13 \
-       tst-cond14 tst-cond15 tst-cond16 tst-cond17 tst-cond18 tst-cond19 \
--      tst-cond20 tst-cond21 tst-cond22 tst-cond23 \
-+      tst-cond20 tst-cond21 tst-cond22 tst-cond23 tst-cond24 tst-cond25 \
-+      tst-cond-except \
-       tst-robust1 tst-robust2 tst-robust3 tst-robust4 tst-robust5 \
-       tst-robust6 tst-robust7 tst-robust8 tst-robust9 \
-       tst-robustpi1 tst-robustpi2 tst-robustpi3 tst-robustpi4 tst-robustpi5 \
-@@ -275,6 +276,8 @@ gen-as-const-headers = pthread-errnos.sy
- LDFLAGS-pthread.so = -Wl,--enable-new-dtags,-z,nodelete,-z,initfirst
-+LDFLAGS-tst-cond24 = -lrt
-+LDFLAGS-tst-cond25 = -lrt
- include ../Makeconfig
-diff -pruN glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S glibc-2.12-2-gc4ccff1.fixed/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
---- glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S      2010-05-04 16:57:23.000000000 +0530
-+++ glibc-2.12-2-gc4ccff1.fixed/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S        2013-07-09 10:16:22.044427519 +0530
-@@ -203,9 +203,11 @@ __pthread_cond_timedwait:
- 42:   leal    (%ebp), %esi
-       movl    28(%esp), %edx
-       addl    $cond_futex, %ebx
-+.Ladd_cond_futex_pi:
-       movl    $SYS_futex, %eax
-       ENTER_KERNEL
-       subl    $cond_futex, %ebx
-+.Lsub_cond_futex_pi:
-       movl    %eax, %esi
-       /* Set the pi-requeued flag only if the kernel has returned 0. The
-          kernel does not hold the mutex on ETIMEDOUT or any other error.  */
-@@ -213,8 +215,23 @@ __pthread_cond_timedwait:
-       sete    24(%esp)
-       je      41f
--      /* Normal and PI futexes dont mix. Use normal futex functions only
--         if the kernel does not support the PI futex functions.  */
-+      /* When a futex syscall with FUTEX_WAIT_REQUEUE_PI returns
-+         successfully, it has already locked the mutex for us and the
-+         pi_flag (24(%esp)) is set to denote that fact.  However, if another
-+         thread changed the futex value before we entered the wait, the
-+         syscall may return an EAGAIN and the mutex is not locked.  We go
-+         ahead with a success anyway since later we look at the pi_flag to
-+         decide if we got the mutex or not.  The sequence numbers then make
-+         sure that only one of the threads actually wake up.  We retry using
-+         normal FUTEX_WAIT only if the kernel returned ENOSYS, since normal
-+         and PI futexes don't mix.
-+
-+         Note that we don't check for EAGAIN specifically; we assume that the
-+         only other error the futex function could return is EAGAIN (barring
-+         the ETIMEOUT of course, for the timeout case in futex) since
-+         anything else would mean an error in our function.  It is too
-+         expensive to do that check for every call (which is  quite common in
-+         case of a large number of threads), so it has been skipped.  */
-       cmpl    $-ENOSYS, %eax
-       jne     41f
-       xorl    %ecx, %ecx
-@@ -274,9 +291,24 @@ __pthread_cond_timedwait:
-       jne     9f
- 15:   cmpl    $-ETIMEDOUT, %esi
--      jne     8b
-+      je      28f
--      addl    $1, wakeup_seq(%ebx)
-+      /* We need to go back to futex_wait.  If we're using requeue_pi, then
-+         release the mutex we had acquired and go back.  */
-+      movl    24(%esp), %edx
-+      test    %edx, %edx
-+      jz      8b
-+
-+      /* Adjust the mutex values first and then unlock it.  The unlock
-+         should always succeed or else the kernel did not lock the mutex
-+         correctly.  */
-+      movl    dep_mutex(%ebx), %eax
-+      call    __pthread_mutex_cond_lock_adjust
-+      xorl    %edx, %edx
-+      call    __pthread_mutex_unlock_usercnt
-+      jmp     8b
-+
-+28:   addl    $1, wakeup_seq(%ebx)
-       adcl    $0, wakeup_seq+4(%ebx)
-       addl    $1, cond_futex(%ebx)
-       movl    $ETIMEDOUT, %esi
-@@ -644,10 +676,27 @@ __condvar_tw_cleanup:
-       movl    $0x7fffffff, %edx
-       ENTER_KERNEL
-+      /* Lock the mutex only if we don't own it already.  This only happens
-+         in case of PI mutexes, if we got cancelled after a successful
-+         return of the futex syscall and before disabling async
-+         cancellation.  */
- 5:    movl    24+FRAME_SIZE(%esp), %eax
--      call    __pthread_mutex_cond_lock
-+      movl    MUTEX_KIND(%eax), %ebx
-+      andl    $(ROBUST_BIT|PI_BIT), %ebx
-+      cmpl    $PI_BIT, %ebx
-+      jne     8f
-+
-+      movl    (%eax), %ebx
-+      andl    $TID_MASK, %ebx
-+      cmpl    %ebx, %gs:TID
-+      jne     8f
-+      /* We managed to get the lock.  Fix it up before returning.  */
-+      call    __pthread_mutex_cond_lock_adjust
-+      jmp     9f
-+
-+8:    call    __pthread_mutex_cond_lock
--      movl    %esi, (%esp)
-+9:    movl    %esi, (%esp)
- .LcallUR:
-       call    _Unwind_Resume
-       hlt
-@@ -665,7 +714,15 @@ __condvar_tw_cleanup:
-       .uleb128 .Lcstend-.Lcstbegin
- .Lcstbegin:
-       .long   .LcleanupSTART-.LSTARTCODE
--      .long   .Ladd_cond_futex-.LcleanupSTART
-+      .long   .Ladd_cond_futex_pi-.LcleanupSTART
-+      .long   __condvar_tw_cleanup-.LSTARTCODE
-+      .uleb128  0
-+      .long   .Ladd_cond_futex_pi-.LSTARTCODE
-+      .long   .Lsub_cond_futex_pi-.Ladd_cond_futex_pi
-+      .long   __condvar_tw_cleanup2-.LSTARTCODE
-+      .uleb128  0
-+      .long   .Lsub_cond_futex_pi-.LSTARTCODE
-+      .long   .Ladd_cond_futex-.Lsub_cond_futex_pi
-       .long   __condvar_tw_cleanup-.LSTARTCODE
-       .uleb128  0
-       .long   .Ladd_cond_futex-.LSTARTCODE
-diff -pruN glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S glibc-2.12-2-gc4ccff1.fixed/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
---- glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S   2010-05-04 16:57:23.000000000 +0530
-+++ glibc-2.12-2-gc4ccff1.fixed/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S     2013-07-09 10:16:22.046427519 +0530
-@@ -138,17 +138,33 @@ __pthread_cond_wait:
-       movl    %ebp, %edx
-       xorl    %esi, %esi
-       addl    $cond_futex, %ebx
-+.Ladd_cond_futex_pi:
-       movl    $SYS_futex, %eax
-       ENTER_KERNEL
-       subl    $cond_futex, %ebx
-+.Lsub_cond_futex_pi:
-       /* Set the pi-requeued flag only if the kernel has returned 0. The
-          kernel does not hold the mutex on error.  */
-       cmpl    $0, %eax
-       sete    16(%esp)
-       je      19f
--      /* Normal and PI futexes dont mix. Use normal futex functions only
--         if the kernel does not support the PI futex functions.  */
-+      /* When a futex syscall with FUTEX_WAIT_REQUEUE_PI returns
-+         successfully, it has already locked the mutex for us and the
-+         pi_flag (16(%esp)) is set to denote that fact.  However, if another
-+         thread changed the futex value before we entered the wait, the
-+         syscall may return an EAGAIN and the mutex is not locked.  We go
-+         ahead with a success anyway since later we look at the pi_flag to
-+         decide if we got the mutex or not.  The sequence numbers then make
-+         sure that only one of the threads actually wake up.  We retry using
-+         normal FUTEX_WAIT only if the kernel returned ENOSYS, since normal
-+         and PI futexes don't mix.
-+
-+         Note that we don't check for EAGAIN specifically; we assume that the
-+         only other error the futex function could return is EAGAIN since
-+         anything else would mean an error in our function.  It is too
-+         expensive to do that check for every call (which is  quite common in
-+         case of a large number of threads), so it has been skipped.  */
-       cmpl    $-ENOSYS, %eax
-       jne     19f
-       xorl    %ecx, %ecx
-@@ -198,12 +214,12 @@ __pthread_cond_wait:
-       cmpl    8(%esp), %edx
-       jne     7f
-       cmpl    4(%esp), %edi
--      je      8b
-+      je      22f
- 7:    cmpl    %ecx, %edx
-       jne     9f
-       cmp     %eax, %edi
--      je      8b
-+      je      22f
- 9:    addl    $1, woken_seq(%ebx)
-       adcl    $0, woken_seq+4(%ebx)
-@@ -279,6 +295,22 @@ __pthread_cond_wait:
-       jmp     20b
-       cfi_adjust_cfa_offset(-FRAME_SIZE);
-+
-+      /* We need to go back to futex_wait.  If we're using requeue_pi, then
-+         release the mutex we had acquired and go back.  */
-+22:   movl    16(%esp), %edx
-+      test    %edx, %edx
-+      jz      8b
-+
-+      /* Adjust the mutex values first and then unlock it.  The unlock
-+         should always succeed or else the kernel did not lock the mutex
-+         correctly.  */
-+      movl    dep_mutex(%ebx), %eax
-+      call    __pthread_mutex_cond_lock_adjust
-+      xorl    %edx, %edx
-+      call    __pthread_mutex_unlock_usercnt
-+      jmp     8b
-+
-       /* Initial locking failed.  */
- 1:
- #if cond_lock == 0
-@@ -391,6 +423,7 @@ __pthread_cond_wait:
- #endif
-       call    __lll_unlock_wake
-       jmp     11b
-+
-       .size   __pthread_cond_wait, .-__pthread_cond_wait
- versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait,
-                 GLIBC_2_3_2)
-@@ -531,10 +564,27 @@ __condvar_w_cleanup:
-       movl    $0x7fffffff, %edx
-       ENTER_KERNEL
-+      /* Lock the mutex only if we don't own it already.  This only happens
-+         in case of PI mutexes, if we got cancelled after a successful
-+         return of the futex syscall and before disabling async
-+         cancellation.  */
- 5:    movl    24+FRAME_SIZE(%esp), %eax
--      call    __pthread_mutex_cond_lock
-+      movl    MUTEX_KIND(%eax), %ebx
-+      andl    $(ROBUST_BIT|PI_BIT), %ebx
-+      cmpl    $PI_BIT, %ebx
-+      jne     8f
-+
-+      movl    (%eax), %ebx
-+      andl    $TID_MASK, %ebx
-+      cmpl    %ebx, %gs:TID
-+      jne     8f
-+      /* We managed to get the lock.  Fix it up before returning.  */
-+      call    __pthread_mutex_cond_lock_adjust
-+      jmp     9f
--      movl    %esi, (%esp)
-+8:    call    __pthread_mutex_cond_lock
-+
-+9:    movl    %esi, (%esp)
- .LcallUR:
-       call    _Unwind_Resume
-       hlt
-@@ -552,7 +602,15 @@ __condvar_w_cleanup:
-       .uleb128 .Lcstend-.Lcstbegin
- .Lcstbegin:
-       .long   .LcleanupSTART-.LSTARTCODE
--      .long   .Ladd_cond_futex-.LcleanupSTART
-+      .long   .Ladd_cond_futex_pi-.LcleanupSTART
-+      .long   __condvar_w_cleanup-.LSTARTCODE
-+      .uleb128  0
-+      .long   .Ladd_cond_futex_pi-.LSTARTCODE
-+      .long   .Lsub_cond_futex_pi-.Ladd_cond_futex_pi
-+      .long   __condvar_w_cleanup2-.LSTARTCODE
-+      .uleb128  0
-+      .long   .Lsub_cond_futex_pi-.LSTARTCODE
-+      .long   .Ladd_cond_futex-.Lsub_cond_futex_pi
-       .long   __condvar_w_cleanup-.LSTARTCODE
-       .uleb128  0
-       .long   .Ladd_cond_futex-.LSTARTCODE
-diff -pruN glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/pthread-pi-defines.sym glibc-2.12-2-gc4ccff1.fixed/nptl/sysdeps/unix/sysv/linux/pthread-pi-defines.sym
---- glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/pthread-pi-defines.sym  2010-05-04 16:57:23.000000000 +0530
-+++ glibc-2.12-2-gc4ccff1.fixed/nptl/sysdeps/unix/sysv/linux/pthread-pi-defines.sym    2013-07-09 10:16:22.047427519 +0530
-@@ -6,3 +6,4 @@ MUTEX_KIND     offsetof (pthread_mutex_t, __
- ROBUST_BIT    PTHREAD_MUTEX_ROBUST_NORMAL_NP
- PI_BIT                PTHREAD_MUTEX_PRIO_INHERIT_NP
- PS_BIT                PTHREAD_MUTEX_PSHARED_BIT
-+TID_MASK      FUTEX_TID_MASK
-diff -pruN glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S glibc-2.12-2-gc4ccff1.fixed/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
---- glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S 2013-07-09 10:18:22.506421835 +0530
-+++ glibc-2.12-2-gc4ccff1.fixed/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S   2013-07-09 10:16:22.048427519 +0530
-@@ -104,6 +104,8 @@ __pthread_cond_timedwait:
-       movq    %rsi, dep_mutex(%rdi)
- 22:
-+      xorb    %r15b, %r15b
-+
- #ifndef __ASSUME_FUTEX_CLOCK_REALTIME
- #  ifdef PIC
-       cmpl    $0, __have_futex_clock_realtime(%rip)
-@@ -189,18 +191,39 @@ __pthread_cond_timedwait:
-       movl    $SYS_futex, %eax
-       syscall
--      movl    $1, %r15d
-+      cmpl    $0, %eax
-+      sete    %r15b
-+
- #ifdef __ASSUME_REQUEUE_PI
-       jmp     62f
- #else
--      cmpq    $-4095, %rax
--      jnae    62f
-+      je      62f
-+
-+      /* When a futex syscall with FUTEX_WAIT_REQUEUE_PI returns
-+         successfully, it has already locked the mutex for us and the
-+         pi_flag (%r15b) is set to denote that fact.  However, if another
-+         thread changed the futex value before we entered the wait, the
-+         syscall may return an EAGAIN and the mutex is not locked.  We go
-+         ahead with a success anyway since later we look at the pi_flag to
-+         decide if we got the mutex or not.  The sequence numbers then make
-+         sure that only one of the threads actually wake up.  We retry using
-+         normal FUTEX_WAIT only if the kernel returned ENOSYS, since normal
-+         and PI futexes don't mix.
-+
-+         Note that we don't check for EAGAIN specifically; we assume that the
-+         only other error the futex function could return is EAGAIN (barring
-+         the ETIMEOUT of course, for the timeout case in futex) since
-+         anything else would mean an error in our function.  It is too
-+         expensive to do that check for every call (which is  quite common in
-+         case of a large number of threads), so it has been skipped.  */
-+      cmpl    $-ENOSYS, %eax
-+      jne     62f
-       subq    $cond_futex, %rdi
- #endif
- 61:   movl    $(FUTEX_WAIT_BITSET|FUTEX_PRIVATE_FLAG), %esi
--60:   xorl    %r15d, %r15d
-+60:   xorb    %r15b, %r15b
-       xorl    %eax, %eax
-       /* The following only works like this because we only support
-          two clocks, represented using a single bit.  */
-@@ -247,7 +270,23 @@ __pthread_cond_timedwait:
-       ja      39f
- 45:   cmpq    $-ETIMEDOUT, %r14
--      jne     38b
-+      je      99f
-+
-+      /* We need to go back to futex_wait.  If we're using requeue_pi, then
-+         release the mutex we had acquired and go back.  */
-+      test    %r15b, %r15b
-+      jz      38b
-+
-+      /* Adjust the mutex values first and then unlock it.  The unlock
-+         should always succeed or else the kernel did not lock the
-+         mutex correctly.  */
-+      movq    %r8, %rdi
-+      callq   __pthread_mutex_cond_lock_adjust
-+      xorl    %esi, %esi
-+      callq   __pthread_mutex_unlock_usercnt
-+      /* Reload cond_var.  */
-+      movq    8(%rsp), %rdi
-+      jmp     38b
- 99:   incq    wakeup_seq(%rdi)
-       incl    cond_futex(%rdi)
-@@ -297,7 +336,7 @@ __pthread_cond_timedwait:
-       /* If requeue_pi is used the kernel performs the locking of the
-          mutex. */
- 41:   movq    16(%rsp), %rdi
--      testl   %r15d, %r15d
-+      testb   %r15b, %r15b
-       jnz     64f
-       callq   __pthread_mutex_cond_lock
-@@ -405,8 +444,6 @@ __pthread_cond_timedwait:
- #ifndef __ASSUME_FUTEX_CLOCK_REALTIME
- .Lreltmo:
--      xorl    %r15d, %r15d
--
-       /* Get internal lock.  */
-       movl    $1, %esi
-       xorl    %eax, %eax
-@@ -765,10 +802,27 @@ __condvar_cleanup2:
-       movl    $SYS_futex, %eax
-       syscall
-+      /* Lock the mutex only if we don't own it already.  This only happens
-+         in case of PI mutexes, if we got cancelled after a successful
-+         return of the futex syscall and before disabling async
-+         cancellation.  */
- 5:    movq    16(%rsp), %rdi
--      callq   __pthread_mutex_cond_lock
-+      movl    MUTEX_KIND(%rdi), %eax
-+      andl    $(ROBUST_BIT|PI_BIT), %eax
-+      cmpl    $PI_BIT, %eax
-+      jne     7f
-+
-+      movl    (%rdi), %eax
-+      andl    $TID_MASK, %eax
-+      cmpl    %eax, %fs:TID
-+      jne     7f
-+      /* We managed to get the lock.  Fix it up before returning.  */
-+      callq   __pthread_mutex_cond_lock_adjust
-+      jmp     8f
-+
-+7:    callq   __pthread_mutex_cond_lock
--      movq    24(%rsp), %rdi
-+8:    movq    24(%rsp), %rdi
-       movq    FRAME_SIZE(%rsp), %r15
-       movq    FRAME_SIZE+8(%rsp), %r14
-       movq    FRAME_SIZE+16(%rsp), %r13
-diff -pruN glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S glibc-2.12-2-gc4ccff1.fixed/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
---- glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S      2013-07-09 10:18:22.507421834 +0530
-+++ glibc-2.12-2-gc4ccff1.fixed/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S        2013-07-09 10:16:22.048427519 +0530
-@@ -23,6 +23,7 @@
- #include <lowlevelcond.h>
- #include <tcb-offsets.h>
- #include <pthread-pi-defines.h>
-+#include <pthread-errnos.h>
- #include <kernel-features.h>
-@@ -137,12 +138,32 @@ __pthread_cond_wait:
-       movl    $SYS_futex, %eax
-       syscall
--      movl    $1, %r8d
-+      cmpl    $0, %eax
-+      sete    %r8b
-+
- #ifdef __ASSUME_REQUEUE_PI
-       jmp     62f
- #else
--      cmpq    $-4095, %rax
--      jnae    62f
-+      je      62f
-+
-+      /* When a futex syscall with FUTEX_WAIT_REQUEUE_PI returns
-+         successfully, it has already locked the mutex for us and the
-+         pi_flag (%r8b) is set to denote that fact.  However, if another
-+         thread changed the futex value before we entered the wait, the
-+         syscall may return an EAGAIN and the mutex is not locked.  We go
-+         ahead with a success anyway since later we look at the pi_flag to
-+         decide if we got the mutex or not.  The sequence numbers then make
-+         sure that only one of the threads actually wake up.  We retry using
-+         normal FUTEX_WAIT only if the kernel returned ENOSYS, since normal
-+         and PI futexes don't mix.
-+
-+         Note that we don't check for EAGAIN specifically; we assume that the
-+         only other error the futex function could return is EAGAIN since
-+         anything else would mean an error in our function.  It is too
-+         expensive to do that check for every call (which is  quite common in
-+         case of a large number of threads), so it has been skipped.  */
-+      cmpl    $-ENOSYS, %eax
-+      jne     62f
- # ifndef __ASSUME_PRIVATE_FUTEX
-       movl    $FUTEX_WAIT, %esi
-@@ -155,7 +176,7 @@ __pthread_cond_wait:
- #else
-       orl     %fs:PRIVATE_FUTEX, %esi
- #endif
--60:   xorl    %r8d, %r8d
-+60:   xorb    %r8b, %r8b
-       movl    $SYS_futex, %eax
-       syscall
-@@ -185,10 +206,10 @@ __pthread_cond_wait:
-       jne     16f
-       cmpq    24(%rsp), %r9
--      jbe     8b
-+      jbe     19f
-       cmpq    %rax, %r9
--      jna     8b
-+      jna     19f
-       incq    woken_seq(%rdi)
-@@ -230,7 +251,7 @@ __pthread_cond_wait:
-       /* If requeue_pi is used the kernel performs the locking of the
-          mutex. */
- 11:   movq    16(%rsp), %rdi
--      testl   %r8d, %r8d
-+      testb   %r8b, %r8b
-       jnz     18f
-       callq   __pthread_mutex_cond_lock
-@@ -247,6 +268,23 @@ __pthread_cond_wait:
-       xorl    %eax, %eax
-       jmp     14b
-+      /* We need to go back to futex_wait.  If we're using requeue_pi, then
-+         release the mutex we had acquired and go back.  */
-+19:   testb   %r8b, %r8b
-+      jz      8b
-+
-+      /* Adjust the mutex values first and then unlock it.  The unlock
-+         should always succeed or else the kernel did not lock the mutex
-+         correctly.  */
-+      movq    16(%rsp), %rdi
-+      callq   __pthread_mutex_cond_lock_adjust
-+      movq    %rdi, %r8
-+      xorl    %esi, %esi
-+      callq   __pthread_mutex_unlock_usercnt
-+      /* Reload cond_var.  */
-+      movq    8(%rsp), %rdi
-+      jmp     8b
-+
-       /* Initial locking failed.  */
- 1:
- #if cond_lock != 0
-@@ -324,6 +362,7 @@ __pthread_cond_wait:
- 13:   movq    %r10, %rax
-       jmp     14b
-+
-       .size   __pthread_cond_wait, .-__pthread_cond_wait
- versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait,
-                 GLIBC_2_3_2)
-@@ -454,10 +493,28 @@ __condvar_cleanup1:
-       movl    $SYS_futex, %eax
-       syscall
-+      /* Lock the mutex only if we don't own it already.  This only happens
-+         in case of PI mutexes, if we got cancelled after a successful
-+         return of the futex syscall and before disabling async
-+         cancellation.  */
- 5:    movq    16(%rsp), %rdi
--      callq   __pthread_mutex_cond_lock
-+      movl    MUTEX_KIND(%rdi), %eax
-+      andl    $(ROBUST_BIT|PI_BIT), %eax
-+      cmpl    $PI_BIT, %eax
-+      jne     7f
-+
-+      movl    (%rdi), %eax
-+      andl    $TID_MASK, %eax
-+      cmpl    %eax, %fs:TID
-+      jne     7f
-+      /* We managed to get the lock.  Fix it up before returning.  */
-+      callq   __pthread_mutex_cond_lock_adjust
-+      jmp     8f
-+
--      movq    24(%rsp), %rdi
-+7:    callq   __pthread_mutex_cond_lock
-+
-+8:    movq    24(%rsp), %rdi
- .LcallUR:
-       call    _Unwind_Resume@PLT
-       hlt
-@@ -476,11 +533,11 @@ __condvar_cleanup1:
-       .uleb128 .LcleanupSTART-.LSTARTCODE
-       .uleb128 .LcleanupEND-.LcleanupSTART
-       .uleb128 __condvar_cleanup1-.LSTARTCODE
--      .uleb128  0
-+      .uleb128 0
-       .uleb128 .LcallUR-.LSTARTCODE
-       .uleb128 .LENDCODE-.LcallUR
-       .uleb128 0
--      .uleb128  0
-+      .uleb128 0
- .Lcstend:
-diff -pruN glibc-2.12-2-gc4ccff1/nptl/tst-cond24.c glibc-2.12-2-gc4ccff1.fixed/nptl/tst-cond24.c
---- glibc-2.12-2-gc4ccff1/nptl/tst-cond24.c    1970-01-01 05:30:00.000000000 +0530
-+++ glibc-2.12-2-gc4ccff1.fixed/nptl/tst-cond24.c      2013-07-09 10:19:10.008419593 +0530
-@@ -0,0 +1,249 @@
-+/* Verify that condition variables synchronized by PI mutexes don't hang.
-+   Copyright (C) 2012-2013 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, see
-+   <http://www.gnu.org/licenses/>.  */
-+
-+#include <pthread.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+#include <errno.h>
-+#include <sys/types.h>
-+#include <sys/syscall.h>
-+#include <unistd.h>
-+#include <sys/time.h>
-+#include <time.h>
-+
-+#define THREADS_NUM 5
-+#define MAXITER 50000
-+
-+static pthread_mutex_t mutex;
-+static pthread_mutexattr_t mutex_attr;
-+static pthread_cond_t cond;
-+static pthread_t threads[THREADS_NUM];
-+static int pending = 0;
-+
-+typedef void * (*threadfunc) (void *);
-+
-+void *
-+thread_fun_timed (void *arg)
-+{
-+  int *ret = arg;
-+  int rv, i;
-+
-+  printf ("Started thread_fun_timed[%d]\n", *ret);
-+
-+  for (i = 0; i < MAXITER / THREADS_NUM; i++)
-+    {
-+      rv = pthread_mutex_lock (&mutex);
-+      if (rv)
-+        {
-+        printf ("pthread_mutex_lock: %s(%d)\n", strerror (rv), rv);
-+        *ret = 1;
-+        goto out;
-+      }
-+
-+      while (!pending)
-+      {
-+        struct timespec ts;
-+        clock_gettime(CLOCK_REALTIME, &ts);
-+        ts.tv_sec += 20;
-+        rv = pthread_cond_timedwait (&cond, &mutex, &ts);
-+
-+        /* There should be no timeout either.  */
-+        if (rv)
-+            {
-+            printf ("pthread_cond_wait: %s(%d)\n", strerror (rv), rv);
-+            *ret = 1;
-+            goto out;
-+          }
-+      }
-+
-+      pending--;
-+
-+      rv = pthread_mutex_unlock (&mutex);
-+      if (rv)
-+        {
-+        printf ("pthread_mutex_unlock: %s(%d)\n", strerror (rv), rv);
-+        *ret = 1;
-+        goto out;
-+      }
-+    }
-+
-+  *ret = 0;
-+
-+out:
-+  return ret;
-+}
-+
-+void *
-+thread_fun (void *arg)
-+{
-+  int *ret = arg;
-+  int rv, i;
-+
-+  printf ("Started thread_fun[%d]\n", *ret);
-+
-+  for (i = 0; i < MAXITER / THREADS_NUM; i++)
-+    {
-+      rv = pthread_mutex_lock (&mutex);
-+      if (rv)
-+        {
-+        printf ("pthread_mutex_lock: %s(%d)\n", strerror (rv), rv);
-+        *ret = 1;
-+        goto out;
-+      }
-+
-+      while (!pending)
-+      {
-+        rv = pthread_cond_wait (&cond, &mutex);
-+
-+        if (rv)
-+            {
-+            printf ("pthread_cond_wait: %s(%d)\n", strerror (rv), rv);
-+            *ret = 1;
-+            goto out;
-+          }
-+      }
-+
-+      pending--;
-+
-+      rv = pthread_mutex_unlock (&mutex);
-+      if (rv)
-+        {
-+        printf ("pthread_mutex_unlock: %s(%d)\n", strerror (rv), rv);
-+        *ret = 1;
-+        goto out;
-+      }
-+    }
-+
-+  *ret = 0;
-+
-+out:
-+  return ret;
-+}
-+
-+static int
-+do_test_wait (threadfunc f)
-+{
-+  int i;
-+  int rv;
-+  int counter = 0;
-+  int retval[THREADS_NUM];
-+
-+  puts ("Starting test");
-+
-+  rv = pthread_mutexattr_init (&mutex_attr);
-+  if (rv)
-+    {
-+      printf ("pthread_mutexattr_init: %s(%d)\n", strerror (rv), rv);
-+      return 1;
-+    }
-+
-+  rv = pthread_mutexattr_setprotocol (&mutex_attr, PTHREAD_PRIO_INHERIT);
-+  if (rv)
-+    {
-+      printf ("pthread_mutexattr_setprotocol: %s(%d)\n", strerror (rv), rv);
-+      return 1;
-+    }
-+
-+  rv = pthread_mutex_init (&mutex, &mutex_attr);
-+  if (rv)
-+    {
-+      printf ("pthread_mutex_init: %s(%d)\n", strerror (rv), rv);
-+      return 1;
-+    }
-+
-+  rv = pthread_cond_init (&cond, NULL);
-+  if (rv)
-+    {
-+      printf ("pthread_cond_init: %s(%d)\n", strerror (rv), rv);
-+      return 1;
-+    }
-+
-+  for (i = 0; i < THREADS_NUM; i++)
-+    {
-+      retval[i] = i;
-+      rv = pthread_create (&threads[i], NULL, f, &retval[i]);
-+      if (rv)
-+        {
-+          printf ("pthread_create: %s(%d)\n", strerror (rv), rv);
-+          return 1;
-+        }
-+    }
-+
-+  for (; counter < MAXITER; counter++)
-+    {
-+      rv = pthread_mutex_lock (&mutex);
-+      if (rv)
-+        {
-+          printf ("pthread_mutex_lock: %s(%d)\n", strerror (rv), rv);
-+          return 1;
-+        }
-+
-+      if (!(counter % 100))
-+      printf ("counter: %d\n", counter);
-+      pending += 1;
-+
-+      rv = pthread_cond_signal (&cond);
-+      if (rv)
-+        {
-+          printf ("pthread_cond_signal: %s(%d)\n", strerror (rv), rv);
-+          return 1;
-+        }
-+
-+      rv = pthread_mutex_unlock (&mutex);
-+      if (rv)
-+        {
-+          printf ("pthread_mutex_unlock: %s(%d)\n", strerror (rv), rv);
-+          return 1;
-+        }
-+    }
-+
-+  for (i = 0; i < THREADS_NUM; i++)
-+    {
-+      void *ret;
-+      rv = pthread_join (threads[i], &ret);
-+      if (rv)
-+        {
-+          printf ("pthread_join: %s(%d)\n", strerror (rv), rv);
-+          return 1;
-+        }
-+      if (ret && *(int *)ret)
-+        {
-+        printf ("Thread %d returned with an error\n", i);
-+        return 1;
-+      }
-+    }
-+
-+  return 0;
-+}
-+
-+static int
-+do_test (void)
-+{
-+  puts ("Testing pthread_cond_wait");
-+  int ret = do_test_wait (thread_fun);
-+  if (ret)
-+    return ret;
-+
-+  puts ("Testing pthread_cond_timedwait");
-+  return do_test_wait (thread_fun_timed);
-+}
-+
-+#define TIMEOUT 20
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
-diff -pruN glibc-2.12-2-gc4ccff1/nptl/tst-cond25.c glibc-2.12-2-gc4ccff1.fixed/nptl/tst-cond25.c
---- glibc-2.12-2-gc4ccff1/nptl/tst-cond25.c    1970-01-01 05:30:00.000000000 +0530
-+++ glibc-2.12-2-gc4ccff1.fixed/nptl/tst-cond25.c      2013-07-09 10:19:15.472419335 +0530
-@@ -0,0 +1,281 @@
-+/* Verify that condition variables synchronized by PI mutexes don't hang on
-+   on cancellation.
-+   Copyright (C) 2012-2013 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, see
-+   <http://www.gnu.org/licenses/>.  */
-+
-+#include <pthread.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <stdint.h>
-+#include <string.h>
-+#include <errno.h>
-+#include <sys/types.h>
-+#include <sys/syscall.h>
-+#include <unistd.h>
-+#include <sys/time.h>
-+#include <time.h>
-+
-+#define NUM 5
-+#define ITERS 10000
-+#define COUNT 100
-+
-+typedef void *(*thr_func) (void *);
-+
-+pthread_mutex_t mutex;
-+pthread_cond_t cond;
-+
-+void cleanup (void *u)
-+{
-+  /* pthread_cond_wait should always return with the mutex locked.  */
-+  if (pthread_mutex_unlock (&mutex))
-+    abort ();
-+}
-+
-+void *
-+signaller (void *u)
-+{
-+  int i, ret = 0;
-+  void *tret = NULL;
-+
-+  for (i = 0; i < ITERS; i++)
-+    {
-+      if ((ret = pthread_mutex_lock (&mutex)) != 0)
-+        {
-+        tret = (void *)1;
-+        printf ("signaller:mutex_lock failed: %s\n", strerror (ret));
-+        goto out;
-+      }
-+      if ((ret = pthread_cond_signal (&cond)) != 0)
-+        {
-+        tret = (void *)1;
-+        printf ("signaller:signal failed: %s\n", strerror (ret));
-+        goto unlock_out;
-+      }
-+      if ((ret = pthread_mutex_unlock (&mutex)) != 0)
-+        {
-+        tret = (void *)1;
-+        printf ("signaller:mutex_unlock failed: %s\n", strerror (ret));
-+        goto out;
-+      }
-+      pthread_testcancel ();
-+    }
-+
-+out:
-+  return tret;
-+
-+unlock_out:
-+  if ((ret = pthread_mutex_unlock (&mutex)) != 0)
-+    printf ("signaller:mutex_unlock[2] failed: %s\n", strerror (ret));
-+  goto out;
-+}
-+
-+void *
-+waiter (void *u)
-+{
-+  int i, ret = 0;
-+  void *tret = NULL;
-+  int seq = (uintptr_t) u;
-+
-+  for (i = 0; i < ITERS / NUM; i++)
-+    {
-+      if ((ret = pthread_mutex_lock (&mutex)) != 0)
-+        {
-+        tret = (void *) (uintptr_t) 1;
-+        printf ("waiter[%u]:mutex_lock failed: %s\n", seq, strerror (ret));
-+        goto out;
-+      }
-+      pthread_cleanup_push (cleanup, NULL);
-+
-+      if ((ret = pthread_cond_wait (&cond, &mutex)) != 0)
-+        {
-+        tret = (void *) (uintptr_t) 1;
-+        printf ("waiter[%u]:wait failed: %s\n", seq, strerror (ret));
-+        goto unlock_out;
-+      }
-+
-+      if ((ret = pthread_mutex_unlock (&mutex)) != 0)
-+        {
-+        tret = (void *) (uintptr_t) 1;
-+        printf ("waiter[%u]:mutex_unlock failed: %s\n", seq, strerror (ret));
-+        goto out;
-+      }
-+      pthread_cleanup_pop (0);
-+    }
-+
-+out:
-+  puts ("waiter tests done");
-+  return tret;
-+
-+unlock_out:
-+  if ((ret = pthread_mutex_unlock (&mutex)) != 0)
-+    printf ("waiter:mutex_unlock[2] failed: %s\n", strerror (ret));
-+  goto out;
-+}
-+
-+void *
-+timed_waiter (void *u)
-+{
-+  int i, ret;
-+  void *tret = NULL;
-+  int seq = (uintptr_t) u;
-+
-+  for (i = 0; i < ITERS / NUM; i++)
-+    {
-+      struct timespec ts;
-+
-+      if ((ret = clock_gettime(CLOCK_REALTIME, &ts)) != 0)
-+        {
-+        tret = (void *) (uintptr_t) 1;
-+        printf ("%u:clock_gettime failed: %s\n", seq, strerror (errno));
-+        goto out;
-+      }
-+      ts.tv_sec += 20;
-+
-+      if ((ret = pthread_mutex_lock (&mutex)) != 0)
-+        {
-+        tret = (void *) (uintptr_t) 1;
-+        printf ("waiter[%u]:mutex_lock failed: %s\n", seq, strerror (ret));
-+        goto out;
-+      }
-+      pthread_cleanup_push (cleanup, NULL);
-+
-+      /* We should not time out either.  */
-+      if ((ret = pthread_cond_timedwait (&cond, &mutex, &ts)) != 0)
-+        {
-+        tret = (void *) (uintptr_t) 1;
-+        printf ("waiter[%u]:timedwait failed: %s\n", seq, strerror (ret));
-+        goto unlock_out;
-+      }
-+      if ((ret = pthread_mutex_unlock (&mutex)) != 0)
-+        {
-+        tret = (void *) (uintptr_t) 1;
-+        printf ("waiter[%u]:mutex_unlock failed: %s\n", seq, strerror (ret));
-+        goto out;
-+      }
-+      pthread_cleanup_pop (0);
-+    }
-+
-+out:
-+  puts ("timed_waiter tests done");
-+  return tret;
-+
-+unlock_out:
-+  if ((ret = pthread_mutex_unlock (&mutex)) != 0)
-+    printf ("waiter[%u]:mutex_unlock[2] failed: %s\n", seq, strerror (ret));
-+  goto out;
-+}
-+
-+int
-+do_test_wait (thr_func f)
-+{
-+  pthread_t w[NUM];
-+  pthread_t s;
-+  pthread_mutexattr_t attr;
-+  int i, j, ret = 0;
-+  void *thr_ret;
-+
-+  for (i = 0; i < COUNT; i++)
-+    {
-+      if ((ret = pthread_mutexattr_init (&attr)) != 0)
-+        {
-+        printf ("mutexattr_init failed: %s\n", strerror (ret));
-+        goto out;
-+      }
-+
-+      if ((ret = pthread_mutexattr_setprotocol (&attr,
-+                                                PTHREAD_PRIO_INHERIT)) != 0)
-+        {
-+        printf ("mutexattr_setprotocol failed: %s\n", strerror (ret));
-+        goto out;
-+      }
-+
-+      if ((ret = pthread_cond_init (&cond, NULL)) != 0)
-+        {
-+        printf ("cond_init failed: %s\n", strerror (ret));
-+        goto out;
-+      }
-+
-+      if ((ret = pthread_mutex_init (&mutex, &attr)) != 0)
-+        {
-+        printf ("mutex_init failed: %s\n", strerror (ret));
-+        goto out;
-+      }
-+
-+      for (j = 0; j < NUM; j++)
-+        if ((ret = pthread_create (&w[j], NULL,
-+                                   f, (void *) (uintptr_t) j)) != 0)
-+        {
-+          printf ("waiter[%d]: create failed: %s\n", j, strerror (ret));
-+          goto out;
-+        }
-+
-+      if ((ret = pthread_create (&s, NULL, signaller, NULL)) != 0)
-+        {
-+        printf ("signaller: create failed: %s\n", strerror (ret));
-+        goto out;
-+      }
-+
-+      for (j = 0; j < NUM; j++)
-+        {
-+          pthread_cancel (w[j]);
-+
-+          if ((ret = pthread_join (w[j], &thr_ret)) != 0)
-+          {
-+            printf ("waiter[%d]: join failed: %s\n", j, strerror (ret));
-+            goto out;
-+          }
-+
-+          if (thr_ret != NULL && thr_ret != PTHREAD_CANCELED)
-+          {
-+            ret = 1;
-+            goto out;
-+          }
-+        }
-+
-+      /* The signalling thread could have ended before it was cancelled.  */
-+      pthread_cancel (s);
-+
-+      if ((ret = pthread_join (s, &thr_ret)) != 0)
-+        {
-+        printf ("signaller: join failed: %s\n", strerror (ret));
-+        goto out;
-+      }
-+
-+      if (thr_ret != NULL && thr_ret != PTHREAD_CANCELED)
-+        {
-+          ret = 1;
-+          goto out;
-+        }
-+    }
-+
-+out:
-+  return ret;
-+}
-+
-+int
-+do_test (int argc, char **argv)
-+{
-+  int ret = do_test_wait (waiter);
-+
-+  if (ret)
-+    return ret;
-+
-+  return do_test_wait (timed_waiter);
-+}
-+
-+#define TIMEOUT 5
-+#include "../test-skeleton.c"
-diff -pruN glibc-2.12-2-gc4ccff1/nptl/tst-cond-except.c glibc-2.12-2-gc4ccff1.fixed/nptl/tst-cond-except.c
---- glibc-2.12-2-gc4ccff1/nptl/tst-cond-except.c       1970-01-01 05:30:00.000000000 +0530
-+++ glibc-2.12-2-gc4ccff1.fixed/nptl/tst-cond-except.c 2013-07-09 10:19:01.334420002 +0530
-@@ -0,0 +1,110 @@
-+/* Verify that exception table for pthread_cond_wait is correct.
-+   Copyright (C) 2012-2013 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, see
-+   <http://www.gnu.org/licenses/>.  */
-+
-+#include <pthread.h>
-+#include <stdio.h>
-+#include <stdint.h>
-+#include <string.h>
-+#include <unistd.h>
-+
-+pthread_mutex_t mutex;
-+pthread_cond_t cond;
-+
-+#define CHECK_RETURN_VAL_OR_FAIL(ret,str) \
-+  ({ if ((ret) != 0) \
-+       { \
-+         printf ("%s failed: %s\n", (str), strerror (ret)); \
-+         ret = 1; \
-+         goto out; \
-+       } \
-+  })
-+
-+
-+void
-+clean (void *arg)
-+{
-+  puts ("clean: Unlocking mutex...");
-+  pthread_mutex_unlock ((pthread_mutex_t *) arg);
-+  puts ("clean: Mutex unlocked...");
-+}
-+
-+void *
-+thr (void *arg)
-+{
-+  int ret = 0;
-+  pthread_mutexattr_t mutexAttr;
-+  ret = pthread_mutexattr_init (&mutexAttr);
-+  CHECK_RETURN_VAL_OR_FAIL (ret, "pthread_mutexattr_init");
-+
-+  ret = pthread_mutexattr_setprotocol (&mutexAttr, PTHREAD_PRIO_INHERIT);
-+  CHECK_RETURN_VAL_OR_FAIL (ret, "pthread_mutexattr_setprotocol");
-+
-+  ret = pthread_mutex_init (&mutex, &mutexAttr);
-+  CHECK_RETURN_VAL_OR_FAIL (ret, "pthread_mutex_init");
-+
-+  ret = pthread_cond_init (&cond, 0);
-+  CHECK_RETURN_VAL_OR_FAIL (ret, "pthread_cond_init");
-+
-+  puts ("th: Init done, entering wait...");
-+
-+  pthread_cleanup_push (clean, (void *) &mutex);
-+  ret = pthread_mutex_lock (&mutex);
-+  CHECK_RETURN_VAL_OR_FAIL (ret, "pthread_mutex_lock");
-+  while (1)
-+    {
-+      ret = pthread_cond_wait (&cond, &mutex);
-+      CHECK_RETURN_VAL_OR_FAIL (ret, "pthread_cond_wait");
-+    }
-+  pthread_cleanup_pop (1);
-+
-+out:
-+  return (void *) (uintptr_t) ret;
-+}
-+
-+int
-+do_test (void)
-+{
-+  pthread_t thread;
-+  int ret = 0;
-+  void *thr_ret = 0;
-+  ret = pthread_create (&thread, 0, thr, &thr_ret);
-+  CHECK_RETURN_VAL_OR_FAIL (ret, "pthread_create");
-+
-+  puts ("main: Thread created, waiting a bit...");
-+  sleep (2);
-+
-+  puts ("main: Cancelling thread...");
-+  ret = pthread_cancel (thread);
-+  CHECK_RETURN_VAL_OR_FAIL (ret, "pthread_cancel");
-+
-+  puts ("main: Joining th...");
-+  ret = pthread_join (thread, NULL);
-+  CHECK_RETURN_VAL_OR_FAIL (ret, "pthread_join");
-+
-+  if (thr_ret != NULL)
-+    return 1;
-+
-+  puts ("main: Joined thread, done!");
-+
-+out:
-+  return ret;
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#define TIMEOUT 5
-+#include "../test-skeleton.c"
diff --git a/src/patches/glibc/glibc-rh580498.patch b/src/patches/glibc/glibc-rh580498.patch
deleted file mode 100644 (file)
index 05b673a..0000000
+++ /dev/null
@@ -1,296 +0,0 @@
-2010-07-03  Ulrich Drepper  <drepper@redhat.com>
-
-       * tst-abstime.c (do_test): Some more cleanups
-
-2010-07-02  Ulrich Drepper  <drepper@redhat.com>
-
-       * tst-abstime.c: Correct testing and add test for sem_timedwait.
-
-2010-07-01  Andreas Schwab  <schwab@redhat.com>
-           Ulrich Drepper  <drepper@redhat.com>
-
-       * Makefile (tests): Add tst-abstime.
-       * tst-abstime.c: New file.
-       * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
-       (__lll_timedlock_wait): Check for timestamp before the Epoch.
-       * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
-       (__lll_timedlock_wait): Likewise.
-       * sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S
-       (__lll_robust_timedlock_wait): Likewise.
-       * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
-       (__pthread_cond_timedwait): Likewise.
-       * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S
-       (pthread_rwlock_timedrdlock): Likewise.
-       * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S
-       (pthread_rwlock_timedwrlock): Likewise.
-       * sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S (sem_timedwait):
-       Likewise.
-
-Index: glibc-2.12-2-gc4ccff1/nptl/Makefile
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nptl/Makefile
-+++ glibc-2.12-2-gc4ccff1/nptl/Makefile
-@@ -256,6 +256,7 @@ tests = tst-typesizes \
-       tst-sched1 \
-       tst-backtrace1 \
-       tst-oddstacklimit \
-+      tst-abstime \
-       tst-vfork1 tst-vfork2 tst-vfork1x tst-vfork2x \
-       tst-getpid1 tst-getpid2 tst-getpid3 \
-       tst-initializers1 $(patsubst %,tst-initializers1-%,c89 gnu89 c99 gnu99)
-Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
-+++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
-@@ -188,6 +188,9 @@ __lll_timedlock_wait:
-       je      .Lreltmo
- # endif
-+      cmpl    $0, (%edx)
-+      js      8f
-+
-       movl    %ecx, %ebx
-       movl    %esi, %ecx
-       movl    %edx, %esi
-@@ -223,6 +226,9 @@ __lll_timedlock_wait:
-       cfi_restore(%ebp)
-       ret
-+8:    movl    $ETIMEDOUT, %eax
-+      jmp     7b
-+
- # ifndef __ASSUME_FUTEX_CLOCK_REALTIME
- .Lreltmo:
-       /* Check for a valid timeout value.  */
-Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
-+++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
-@@ -169,9 +169,13 @@ __lll_timedlock_wait:
-       je      .Lreltmo
- # endif
-+      cmpq    $0, (%rdx)
-+      js      5f
-+
-       pushq   %r9
-       cfi_adjust_cfa_offset(8)
-       cfi_rel_offset(%r9, 0)
-+
-       movq    %rdx, %r10
-       movl    $0xffffffff, %r9d
-       LOAD_FUTEX_WAIT_ABS (%esi)
-@@ -202,6 +206,9 @@ __lll_timedlock_wait:
-       cfi_restore(%r9)
-       retq
-+5:    movl    $ETIMEDOUT, %eax
-+      retq
-+
- # ifndef __ASSUME_FUTEX_CLOCK_REALTIME
- .Lreltmo:
-       /* Check for a valid timeout value.  */
-Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S
-+++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S
-@@ -125,6 +125,9 @@ __lll_robust_timedlock_wait:
-       je      .Lreltmo
- # endif
-+      cmpq    $0, (%rdx)
-+      js      7f
-+
-       pushq   %r9
-       cfi_adjust_cfa_offset(8)
-       cfi_rel_offset(%r9, 0)
-@@ -180,6 +183,9 @@ __lll_robust_timedlock_wait:
-       cfi_adjust_cfa_offset(-8)
-       cfi_restore(%r9)
-+7:    movl    $ETIMEDOUT, %eax
-+      retq
-+
- # ifndef __ASSUME_FUTEX_CLOCK_REALTIME
- .Lreltmo:
-Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
-+++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
-@@ -144,6 +144,10 @@ __pthread_cond_timedwait:
-       movq    %r9, 24(%rsp)
-       movl    %edx, 4(%rsp)
-+      cmpq    $0, (%r13)
-+      movq    $-ETIMEDOUT, %r14
-+      js      36f
-+
- 38:   movl    cond_futex(%rdi), %r12d
-       /* Unlock.  */
-Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S
-+++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S
-@@ -102,6 +102,9 @@ pthread_rwlock_timedrdlock:
-       je      .Lreltmo
- #endif
-+      cmpq    $0, (%r13)
-+      js      16f             /* Time is already up.  */
-+
-       movl    $FUTEX_PRIVATE_FLAG|FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME, %esi
-       xorl    PSHARED(%r12), %esi
-       movq    %r13, %r10
-Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S
-+++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S
-@@ -99,6 +99,9 @@ pthread_rwlock_timedwrlock:
-       je      .Lreltmo
- #endif
-+      cmpq    $0, (%r13)
-+      js      16f             /* Time is already up. */
-+
-       movl    $FUTEX_PRIVATE_FLAG|FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME, %esi
-       xorl    PSHARED(%r12), %esi
-       movq    %r13, %r10
-Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S
-+++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S
-@@ -77,6 +77,9 @@ sem_timedwait:
-       je      .Lreltmo
- #endif
-+      cmpq    $0, (%rsi)
-+      js      16f
-+
-       /* This push is only needed to store the sem_t pointer for the
-          exception handler.  */
-       pushq   %rdi
-@@ -169,6 +172,19 @@ sem_timedwait:
-       retq
-+16:
-+#if USE___THREAD
-+      movq    errno@gottpoff(%rip), %rdx
-+      movl    $ETIMEDOUT, %fs:(%rdx)
-+#else
-+      callq   __errno_location@plt
-+      movl    $ETIMEDOUT, (%rax)
-+#endif
-+
-+      orl     $-1, %eax
-+
-+      retq
-+
- #ifndef __ASSUME_FUTEX_CLOCK_REALTIME
- .Lreltmo:
-       pushq   %r12
-Index: glibc-2.12-2-gc4ccff1/nptl/tst-abstime.c
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/nptl/tst-abstime.c
-@@ -0,0 +1,98 @@
-+/* Copyright (C) 2010 Free Software Foundation, Inc.
-+   This file is part of the GNU C Library.
-+   Contributed by Andreas Schwab <schwab@redhat.com>, 2010.
-+
-+   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 <pthread.h>
-+#include <semaphore.h>
-+#include <stdio.h>
-+
-+static pthread_cond_t c = PTHREAD_COND_INITIALIZER;
-+static pthread_mutex_t m1 = PTHREAD_MUTEX_INITIALIZER;
-+static pthread_mutex_t m2 = PTHREAD_MUTEX_INITIALIZER;
-+static pthread_rwlock_t rw1 = PTHREAD_RWLOCK_INITIALIZER;
-+static pthread_rwlock_t rw2 = PTHREAD_RWLOCK_INITIALIZER;
-+static sem_t sem;
-+
-+static void *
-+th (void *arg)
-+{
-+  long int res = 0;
-+  int r;
-+  struct timespec t = { -2, 0 };
-+
-+  r = pthread_mutex_timedlock (&m1, &t);
-+  if (r != ETIMEDOUT)
-+    {
-+      puts ("pthread_mutex_timedlock did not return ETIMEDOUT");
-+      res = 1;
-+    }
-+  r = pthread_rwlock_timedrdlock (&rw1, &t);
-+  if (r != ETIMEDOUT)
-+    {
-+      puts ("pthread_rwlock_timedrdlock did not return ETIMEDOUT");
-+      res = 1;
-+    }
-+  r = pthread_rwlock_timedwrlock (&rw2, &t);
-+  if (r != ETIMEDOUT)
-+    {
-+      puts ("pthread_rwlock_timedwrlock did not return ETIMEDOUT");
-+      res = 1;
-+    }
-+  return (void *) res;
-+}
-+
-+static int
-+do_test (void)
-+{
-+  int res = 0;
-+  int r;
-+  struct timespec t = { -2, 0 };
-+  pthread_t pth;
-+
-+  sem_init (&sem, 0, 0);
-+  r = sem_timedwait (&sem, &t);
-+  if (r != -1 || errno != ETIMEDOUT)
-+    {
-+      puts ("sem_timedwait did not fail with ETIMEDOUT");
-+      res = 1;
-+    }
-+
-+  pthread_mutex_lock (&m1);
-+  pthread_rwlock_wrlock (&rw1);
-+  pthread_rwlock_rdlock (&rw2);
-+  pthread_mutex_lock (&m2);
-+  if (pthread_create (&pth, 0, th, 0) != 0)
-+    {
-+      puts ("cannot create thread");
-+      return 1;
-+    }
-+  r = pthread_cond_timedwait (&c, &m2, &t);
-+  if (r != ETIMEDOUT)
-+    {
-+      puts ("pthread_cond_timedwait did not return ETIMEDOUT");
-+      res = 1;
-+    }
-+  void *thres;
-+  pthread_join (pth, &thres);
-+  return res | (thres != NULL);
-+}
-+
-+
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
diff --git a/src/patches/glibc/glibc-rh582738.patch b/src/patches/glibc/glibc-rh582738.patch
deleted file mode 100644 (file)
index 40f7b80..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: glibc-2.11-382-g1cdb215/nscd/nscd.init
-===================================================================
---- glibc-2.11-382-g1cdb215.orig/nscd/nscd.init
-+++ glibc-2.11-382-g1cdb215/nscd/nscd.init
-@@ -76,7 +76,7 @@ case "$1" in
-       RETVAL=$?
-       ;;
-     stop)
--      stop
-+      [ ! -e /var/lock/subsys/nscd ] || stop
-       RETVAL=$?
-       ;;
-     status)
diff --git a/src/patches/glibc/glibc-rh587360.patch b/src/patches/glibc/glibc-rh587360.patch
deleted file mode 100644 (file)
index 07b62e6..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: glibc-2.11-382-g1cdb215/posix/regexec.c
-===================================================================
---- glibc-2.11-382-g1cdb215.orig/posix/regexec.c
-+++ glibc-2.11-382-g1cdb215/posix/regexec.c
-@@ -4031,7 +4031,7 @@ find_collation_sequence_value (const uns
-         /* Skip the collation sequence value.  */
-         idx += sizeof (uint32_t);
-         /* Skip the wide char sequence of the collating element.  */
--        idx = idx + sizeof (uint32_t) * (extra[idx] + 1);
-+        idx = idx + sizeof (uint32_t) * (*(int32_t *) (extra + idx) + 1);
-         /* If we found the entry, return the sequence value.  */
-         if (found)
-           return *(uint32_t *) (extra + idx);
diff --git a/src/patches/glibc/glibc-rh593396.patch b/src/patches/glibc/glibc-rh593396.patch
deleted file mode 100644 (file)
index b907a36..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-2010-05-06  Ulrich Drepper  <drepper@redhat.com>
-
-       * malloc/malloc.c (_int_free): Possible race in the most recently
-       added check.  Only act on the data if no current modification
-       happened.
-
-Index: glibc-2.12-2-gc4ccff1/malloc/malloc.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/malloc/malloc.c
-+++ glibc-2.12-2-gc4ccff1/malloc/malloc.c
-@@ -4859,6 +4859,7 @@ _int_free(mstate av, mchunkptr p)
- #ifdef ATOMIC_FASTBINS
-     mchunkptr fd;
-     mchunkptr old = *fb;
-+    unsigned int old_idx = ~0u;
-     do
-       {
-       /* Another simple check: make sure the top of the bin is not the
-@@ -4868,15 +4869,17 @@ _int_free(mstate av, mchunkptr p)
-           errstr = "double free or corruption (fasttop)";
-           goto errout;
-         }
--      if (old != NULL
--          && __builtin_expect (fastbin_index(chunksize(old)) != idx, 0))
--        {
--          errstr = "invalid fastbin entry (free)";
--          goto errout;
--        }
-+      if (old != NULL)
-+        old_idx = fastbin_index(chunksize(old));
-       p->fd = fd = old;
-       }
-     while ((old = catomic_compare_and_exchange_val_rel (fb, p, fd)) != fd);
-+
-+    if (fd != NULL && __builtin_expect (old_idx != idx, 0))
-+      {
-+      errstr = "invalid fastbin entry (free)";
-+      goto errout;
-+      }
- #else
-     /* Another simple check: make sure the top of the bin is not the
-        record we are going to add (i.e., double free).  */
diff --git a/src/patches/glibc/glibc-rh593686.patch b/src/patches/glibc/glibc-rh593686.patch
deleted file mode 100644 (file)
index 3eceb68..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-2010-05-26  Andreas Schwab  <schwab@redhat.com>
-
-       * elf/Makefile: Add rules to build and run unload8 test.
-       * elf/unload8.c: New file.
-       * elf/unload8mod1.c: New file.
-       * elf/unload8mod1x.c: New file.
-       * elf/unload8mod2.c: New file.
-       * elf/unload8mod3.c: New file.
-
-       * elf/dl-close.c (_dl_close_worker): Reset private search list if
-       it wasn't used.
-
-Index: glibc-2.12-2-gc4ccff1/elf/Makefile
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/Makefile
-+++ glibc-2.12-2-gc4ccff1/elf/Makefile
-@@ -89,6 +89,7 @@ distribute   := rtld-Rules \
-                  unload4mod1.c unload4mod2.c unload4mod3.c unload4mod4.c \
-                  unload6mod1.c unload6mod2.c unload6mod3.c \
-                  unload7mod1.c unload7mod2.c \
-+                 unload8mod1.c unload8mod1x.c unload8mod2.c unload8mod3.c \
-                  tst-audit1.c tst-audit2.c tst-audit3.c tst-audit4.c \
-                  tst-auditmod1.c tst-auditmod3a.c tst-auditmod3b.c \
-                  tst-auditmod4a.c tst-auditmod4b.c \
-@@ -196,7 +197,7 @@ tests += loadtest restest1 preloadtest l
-        tst-align tst-align2 $(tests-execstack-$(have-z-execstack)) \
-        tst-dlmodcount tst-dlopenrpath tst-deep1 \
-        tst-dlmopen1 tst-dlmopen2 tst-dlmopen3 \
--       unload3 unload4 unload5 unload6 unload7 tst-global1 order2 \
-+       unload3 unload4 unload5 unload6 unload7 unload8 tst-global1 order2 \
-        tst-audit1 tst-audit2 \
-        tst-stackguard1 tst-addr1 tst-thrlock \
-        tst-unique1 tst-unique2
-@@ -247,6 +248,7 @@ modules-names = testobj1 testobj2 testob
-               unload4mod1 unload4mod2 unload4mod3 unload4mod4 \
-               unload6mod1 unload6mod2 unload6mod3 \
-               unload7mod1 unload7mod2 \
-+              unload8mod1 unload8mod1x unload8mod2 unload8mod3 \
-               order2mod1 order2mod2 order2mod3 order2mod4 \
-               tst-unique1mod1 tst-unique1mod2 \
-               tst-unique2mod1 tst-unique2mod2
-@@ -522,6 +524,9 @@ $(objpfx)unload6mod2.so: $(libdl)
- $(objpfx)unload6mod3.so: $(libdl)
- $(objpfx)unload7mod1.so: $(libdl)
- $(objpfx)unload7mod2.so: $(objpfx)unload7mod1.so
-+$(objpfx)unload8mod1.so: $(objpfx)unload8mod2.so
-+$(objpfx)unload8mod2.so: $(objpfx)unload8mod3.so
-+$(objpfx)unload8mod3.so: $(libdl)
- LDFLAGS-tst-tlsmod5.so = -nostdlib
- LDFLAGS-tst-tlsmod6.so = -nostdlib
-@@ -823,6 +828,9 @@ $(objpfx)unload7: $(libdl)
- $(objpfx)unload7.out: $(objpfx)unload7mod1.so $(objpfx)unload7mod2.so
- unload7-ENV = MALLOC_PERTURB_=85
-+$(objpfx)unload8: $(libdl)
-+$(objpfx)unload8.out: $(objpfx)unload8mod1.so $(objpfx)unload8mod1x.so
-+
- ifdef libdl
- $(objpfx)tst-tls9-static: $(common-objpfx)dlfcn/libdl.a
- $(objpfx)tst-tls9-static.out: $(objpfx)tst-tlsmod5.so $(objpfx)tst-tlsmod6.so
-Index: glibc-2.12-2-gc4ccff1/elf/dl-close.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/dl-close.c
-+++ glibc-2.12-2-gc4ccff1/elf/dl-close.c
-@@ -421,6 +421,13 @@ _dl_close_worker (struct link_map *map)
-             imap->l_scope_max = new_size;
-           }
-+        else if (new_list != NULL)
-+          {
-+            /* We didn't change the scope array, so reset the search
-+               list.  */
-+            imap->l_searchlist.r_list = NULL;
-+            imap->l_searchlist.r_nlist = 0;
-+          }
-         /* The loader is gone, so mark the object as not having one.
-            Note: l_idx != IDX_STILL_USED -> object will be removed.  */
-Index: glibc-2.12-2-gc4ccff1/elf/unload8.c
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/elf/unload8.c
-@@ -0,0 +1,33 @@
-+#include <dlfcn.h>
-+#include <stdio.h>
-+
-+int
-+main (void)
-+{
-+  void *h = dlopen ("$ORIGIN/unload8mod1.so", RTLD_LAZY);
-+  if (h == NULL)
-+    {
-+      puts ("dlopen unload8mod1.so failed");
-+      return 1;
-+    }
-+
-+  void *h2 = dlopen ("$ORIGIN/unload8mod1x.so", RTLD_LAZY);
-+  if (h2 == NULL)
-+    {
-+      puts ("dlopen unload8mod1x.so failed");
-+      return 1;
-+    }
-+  dlclose (h2);
-+
-+  int (*mod1) (void) = dlsym (h, "mod1");
-+  if (mod1 == NULL)
-+    {
-+      puts ("dlsym failed");
-+      return 1;
-+    }
-+
-+  mod1 ();
-+  dlclose (h);
-+
-+  return 0;
-+}
-Index: glibc-2.12-2-gc4ccff1/elf/unload8mod1.c
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/elf/unload8mod1.c
-@@ -0,0 +1,7 @@
-+extern void mod2 (void);
-+
-+void
-+mod1 (void)
-+{
-+  mod2 ();
-+}
-Index: glibc-2.12-2-gc4ccff1/elf/unload8mod1x.c
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/elf/unload8mod1x.c
-@@ -0,0 +1 @@
-+int mod1x;
-Index: glibc-2.12-2-gc4ccff1/elf/unload8mod2.c
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/elf/unload8mod2.c
-@@ -0,0 +1,7 @@
-+extern void mod3 (void);
-+
-+void
-+mod2 (void)
-+{
-+  mod3 ();
-+}
-Index: glibc-2.12-2-gc4ccff1/elf/unload8mod3.c
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/elf/unload8mod3.c
-@@ -0,0 +1,27 @@
-+#include <dlfcn.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+
-+void
-+mod3_fini2 (void)
-+{
-+}
-+
-+void
-+mod3_fini (void)
-+{
-+  mod3_fini2 ();
-+}
-+
-+void
-+mod3 (void)
-+{
-+  void *h = dlopen ("$ORIGIN/unload8mod2.so", RTLD_LAZY);
-+  if (h == NULL)
-+    {
-+      puts ("dlopen unload8mod2.so failed");
-+      exit (1);
-+    }
-+
-+  atexit (mod3_fini);
-+}
diff --git a/src/patches/glibc/glibc-rh601686.patch b/src/patches/glibc/glibc-rh601686.patch
deleted file mode 100644 (file)
index 01e42dc..0000000
+++ /dev/null
@@ -1,4640 +0,0 @@
-2010-11-09  H.J. Lu  <hongjiu.lu@intel.com>
-
-       [BZ #12205]
-       * string/test-strncasecmp.c (check_result): New function.
-       (do_one_test): Use it.
-       (check1): New function.
-       (test_main): Use it.
-       * sysdeps/i386/i686/multiarch/strcmp.S (nibble_ashr_use_sse4_2_exit):
-       Support strcasecmp and strncasecmp.
-
-2010-10-03  Ulrich Drepper  <drepper@gmail.com>
-
-       [BZ #12077]
-       * sysdeps/x86_64/strcmp.S: Fix handling of remaining bytes in buffer
-       for strncmp and strncasecmp.
-       * string/stratcliff.c: Add tests for strcmp and strncmp.
-       * wcsmbs/wcsatcliff.c: Adjust for stratcliff change.
-
-2010-09-20  Ulrich Drepper  <drepper@redhat.com>
-
-       * sysdeps/x86_64/strcmp.S: Fix another type in strncasecmp limit
-       detection.
-
-2010-08-19  Ulrich Drepper  <drepper@redhat.com>
-
-       * sysdeps/x86_64/multiarch/strcmp.S: Fix two typos in strncasecmp
-       handling.
-
-2010-08-15  Ulrich Drepper  <drepper@redhat.com>
-
-       * sysdeps/x86_64/strcmp.S: Use correct register for fourth parameter
-       of strncasecmp_l.
-       * sysdeps/multiarch/strcmp.S: Likewise.
-
-2010-08-14  Ulrich Drepper  <drepper@redhat.com>
-
-       * sysdeps/x86_64/Makefile [subdir=string] (sysdep_routines): Add
-       strncase_l-nonascii.
-       * sysdeps/x86_64/multiarch/Makefile [subdir=string] (sysdep_routines):
-       Add strncase_l-ssse3.
-       * sysdeps/x86_64/multiarch/strcmp.S: Prepare for use as strncasecmp.
-       * sysdeps/x86_64/strcmp.S: Likewise.
-       * sysdeps/x86_64/multiarch/strncase_l-ssse3.S: New file.
-       * sysdeps/x86_64/multiarch/strncase_l.S: New file.
-       * sysdeps/x86_64/strncase.S: New file.
-       * sysdeps/x86_64/strncase_l-nonascii.c: New file.
-       * sysdeps/x86_64/strncase_l.S: New file.
-       * string/Makefile (strop-tests): Add strncasecmp.
-       * string/test-strncasecmp.c: New file.
-
-       * sysdeps/x86_64/strcasecmp_l-nonascii.c: Add prototype to avoid
-       warning.
-
-       * sysdeps/x86_64/strcmp.S: Move definition of NO_NOLOCALE_ALIAS to...
-       * sysdeps/x86_64/multiarch/strcasecmp_l-ssse3.S: ... here.
-
-2010-07-31  Ulrich Drepper  <drepper@redhat.com>
-
-       * sysdeps/x86_64/multiarch/Makefile [subdir=string] (sysdep_routines):
-       Add strcasecmp_l-ssse3.
-       * sysdeps/x86_64/multiarch/strcmp.S: Add support to compile for
-       strcasecmp.
-       * sysdeps/x86_64/strcmp.S: Allow more flexible compiling of strcasecmp.
-       * sysdeps/x86_64/multiarch/strcasecmp_l.S: New file.
-       * sysdeps/x86_64/multiarch/strcasecmp_l-ssse3.S: New file.
-
-2010-07-30  Ulrich Drepper  <drepper@redhat.com>
-
-       * sysdeps/x86_64/multiarch/strcmp.S: Pretty printing.
-
-       * string/Makefile (strop-tests): Add strcasecmp.
-       * sysdeps/x86_64/Makefile [subdir=string] (sysdep_routines): Add
-       strcasecmp_l-nonascii.
-       (gen-as-const-headers): Add locale-defines.sym.
-       * sysdeps/x86_64/strcmp.S: Add support for strcasecmp implementation.
-       * sysdeps/x86_64/strcasecmp.S: New file.
-       * sysdeps/x86_64/strcasecmp_l.S: New file.
-       * sysdeps/x86_64/strcasecmp_l-nonascii.c: New file.
-       * sysdeps/x86_64/locale-defines.sym: New file.
-       * string/test-strcasecmp.c: New file.
-
-       * string/test-strcasestr.c: Test both ends of the range of characters.
-       * sysdeps/x86_64/multiarch/strstr.c: Fix UCHIGH definition.
-
-2010-07-26  Ulrich Drepper  <drepper@redhat.com>
-
-       * string/test-strnlen.c: New file.
-       * string/Makefile (strop-tests): Add strnlen.
-       * string/tester.c (test_strnlen): Add a few more test cases.
-       * string/tst-strlen.c: Better error reporting.
-
-       * sysdeps/x86_64/strnlen.S: New file.
-
-2010-07-24  Ulrich Drepper  <drepper@redhat.com>
-
-       * sysdeps/x86_64/multiarch/strstr.c (__m128i_strloadu_tolower): Use
-       lower-latency instructions.
-
-2010-07-23  Ulrich Drepper  <drepper@redhat.com>
-
-       * string/test-strcasestr.c: New file.
-       * string/test-strstr.c: New file.
-       * string/Makefile (strop-tests): Add strstr and strcasestr.
-       * string/str-two-way.h: Don't undefine MAX.
-       * string/strcasestr.c: Don't define alias if NO_ALIAS is defined.
-
-2010-07-21  Andreas Schwab  <schwab@redhat.com>
-
-       * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add
-       strcasestr-nonascii.
-       (CFLAGS-strcasestr-nonascii.c): Define.
-       * sysdeps/i386/i686/multiarch/strcasestr-nonascii.c: New file.
-       * sysdeps/x86_64/multiarch/strcasestr-nonascii.c (STRSTR_SSE42):
-       Remove unused attribute.
-
-2010-07-16  Ulrich Drepper  <drepper@redhat.com>
-
-       * sysdeps/x86_64/multiarch/strstr.c: Rewrite to avoid indirect function
-       call in strcasestr.
-       * sysdeps/x86_64/multiarch/strcasestr.c: Declare
-       __strcasestr_sse42_nonascii.
-       * sysdeps/x86_64/multiarch/Makefile: Add rules to build
-       strcasestr-nonascii.c.
-       * sysdeps/x86_64/multiarch/strcasestr-nonascii.c: New file.
-
-Index: glibc-2.12-2-gc4ccff1/string/Makefile
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/string/Makefile
-+++ glibc-2.12-2-gc4ccff1/string/Makefile
-@@ -48,7 +48,8 @@ o-objects.ob := memcpy.o memset.o memchr
- strop-tests   := memchr memcmp memcpy memmove mempcpy memset memccpy  \
-                  stpcpy stpncpy strcat strchr strcmp strcpy strcspn   \
--                 strlen strncmp strncpy strpbrk strrchr strspn memmem
-+                 strlen strncmp strncpy strpbrk strrchr strspn memmem \
-+                 strstr strcasestr strnlen strcasecmp strncasecmp
- tests         := tester inl-tester noinl-tester testcopy test-ffs     \
-                  tst-strlen stratcliff tst-svc tst-inlcall            \
-                  bug-strncat1 bug-strspn1 bug-strpbrk1 tst-bswap      \
-Index: glibc-2.12-2-gc4ccff1/string/str-two-way.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/string/str-two-way.h
-+++ glibc-2.12-2-gc4ccff1/string/str-two-way.h
-@@ -426,5 +426,4 @@ two_way_long_needle (const unsigned char
- #undef AVAILABLE
- #undef CANON_ELEMENT
- #undef CMP_FUNC
--#undef MAX
- #undef RETURN_TYPE
-Index: glibc-2.12-2-gc4ccff1/string/stratcliff.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/string/stratcliff.c
-+++ glibc-2.12-2-gc4ccff1/string/stratcliff.c
-@@ -47,6 +47,8 @@
- # define MEMCPY memcpy
- # define MEMPCPY mempcpy
- # define MEMCHR memchr
-+# define STRCMP strcmp
-+# define STRNCMP strncmp
- #endif
-@@ -277,7 +279,74 @@ do_test (void)
-             adr[inner] = L('T');
-           }
--        }
-+      }
-+
-+      /* strcmp/wcscmp tests */
-+      for (outer = 1; outer < 32; ++outer)
-+      for (middle = 0; middle < 16; ++middle)
-+        {
-+          MEMSET (adr + middle, L('T'), 256);
-+          adr[256] = L('\0');
-+          MEMSET (dest + nchars - outer, L('T'), outer - 1);
-+          dest[nchars - 1] = L('\0');
-+
-+          if (STRCMP (adr + middle, dest + nchars - outer) <= 0)
-+            {
-+              printf ("%s 1 flunked for outer = %d, middle = %d\n",
-+                      STRINGIFY (STRCMP), outer, middle);
-+              result = 1;
-+            }
-+
-+          if (STRCMP (dest + nchars - outer, adr + middle) >= 0)
-+            {
-+              printf ("%s 2 flunked for outer = %d, middle = %d\n",
-+                      STRINGIFY (STRCMP), outer, middle);
-+              result = 1;
-+            }
-+        }
-+
-+      /* strncmp/wcsncmp tests */
-+      for (outer = 1; outer < 32; ++outer)
-+      for (middle = 0; middle < 16; ++middle)
-+        {
-+          MEMSET (adr + middle, L('T'), 256);
-+          adr[256] = L('\0');
-+          MEMSET (dest + nchars - outer, L('T'), outer - 1);
-+          dest[nchars - 1] = L('U');
-+
-+          for (inner = 0; inner < outer; ++inner)
-+            {
-+              if (STRNCMP (adr + middle, dest + nchars - outer, inner) != 0)
-+                {
-+                  printf ("%s 1 flunked for outer = %d, middle = %d, "
-+                          "inner = %d\n",
-+                          STRINGIFY (STRNCMP), outer, middle, inner);
-+                  result = 1;
-+                }
-+
-+              if (STRNCMP (dest + nchars - outer, adr + middle, inner) != 0)
-+                {
-+                  printf ("%s 2 flunked for outer = %d, middle = %d, "
-+                          "inner = %d\n",
-+                          STRINGIFY (STRNCMP), outer, middle, inner);
-+                  result = 1;
-+                }
-+            }
-+
-+          if (STRNCMP (adr + middle, dest + nchars - outer, outer) >= 0)
-+            {
-+              printf ("%s 1 flunked for outer = %d, middle = %d, full\n",
-+                      STRINGIFY (STRNCMP), outer, middle);
-+              result = 1;
-+            }
-+
-+          if (STRNCMP (dest + nchars - outer, adr + middle, outer) <= 0)
-+            {
-+              printf ("%s 2 flunked for outer = %d, middle = %d, full\n",
-+                      STRINGIFY (STRNCMP), outer, middle);
-+              result = 1;
-+            }
-+        }
-       /* strncpy/wcsncpy tests */
-       adr[nchars - 1] = L('T');
-Index: glibc-2.12-2-gc4ccff1/string/strcasestr.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/string/strcasestr.c
-+++ glibc-2.12-2-gc4ccff1/string/strcasestr.c
-@@ -103,4 +103,6 @@ STRCASESTR (const char *haystack_start, 
- #undef LONG_NEEDLE_THRESHOLD
-+#ifndef NO_ALIAS
- weak_alias (__strcasestr, strcasestr)
-+#endif
-Index: glibc-2.12-2-gc4ccff1/string/test-strcasecmp.c
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/string/test-strcasecmp.c
-@@ -0,0 +1,276 @@
-+/* Test and measure strcasecmp functions.
-+   Copyright (C) 1999, 2002, 2003, 2005, 2010 Free Software Foundation, Inc.
-+   This file is part of the GNU C Library.
-+   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
-+
-+   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 <ctype.h>
-+#define TEST_MAIN
-+#include "test-string.h"
-+
-+typedef int (*proto_t) (const char *, const char *);
-+static int simple_strcasecmp (const char *, const char *);
-+static int stupid_strcasecmp (const char *, const char *);
-+
-+IMPL (stupid_strcasecmp, 0)
-+IMPL (simple_strcasecmp, 0)
-+IMPL (strcasecmp, 1)
-+
-+static int
-+simple_strcasecmp (const char *s1, const char *s2)
-+{
-+  int ret;
-+
-+  while ((ret = ((unsigned char) tolower (*s1)
-+               - (unsigned char) tolower (*s2))) == 0
-+       && *s1++)
-+    ++s2;
-+  return ret;
-+}
-+
-+static int
-+stupid_strcasecmp (const char *s1, const char *s2)
-+{
-+  size_t ns1 = strlen (s1) + 1, ns2 = strlen (s2) + 1;
-+  size_t n = ns1 < ns2 ? ns1 : ns2;
-+  int ret = 0;
-+
-+  while (n--)
-+    {
-+      if ((ret = ((unsigned char) tolower (*s1)
-+                - (unsigned char) tolower (*s2))) != 0)
-+      break;
-+      ++s1;
-+      ++s2;
-+    }
-+  return ret;
-+}
-+
-+static void
-+do_one_test (impl_t *impl, const char *s1, const char *s2, int exp_result)
-+{
-+  int result = CALL (impl, s1, s2);
-+  if ((exp_result == 0 && result != 0)
-+      || (exp_result < 0 && result >= 0)
-+      || (exp_result > 0 && result <= 0))
-+    {
-+      error (0, 0, "Wrong result in function %s %d %d", impl->name,
-+           result, exp_result);
-+      ret = 1;
-+      return;
-+    }
-+
-+  if (HP_TIMING_AVAIL)
-+    {
-+      hp_timing_t start __attribute ((unused));
-+      hp_timing_t stop __attribute ((unused));
-+      hp_timing_t best_time = ~ (hp_timing_t) 0;
-+      size_t i;
-+
-+      for (i = 0; i < 32; ++i)
-+      {
-+        HP_TIMING_NOW (start);
-+        CALL (impl, s1, s2);
-+        HP_TIMING_NOW (stop);
-+        HP_TIMING_BEST (best_time, start, stop);
-+      }
-+
-+      printf ("\t%zd", (size_t) best_time);
-+    }
-+}
-+
-+static void
-+do_test (size_t align1, size_t align2, size_t len, int max_char,
-+       int exp_result)
-+{
-+  size_t i;
-+  char *s1, *s2;
-+
-+  if (len == 0)
-+    return;
-+
-+  align1 &= 7;
-+  if (align1 + len + 1 >= page_size)
-+    return;
-+
-+  align2 &= 7;
-+  if (align2 + len + 1 >= page_size)
-+    return;
-+
-+  s1 = (char *) (buf1 + align1);
-+  s2 = (char *) (buf2 + align2);
-+
-+  for (i = 0; i < len; i++)
-+    {
-+      s1[i] = toupper (1 + 23 * i % max_char);
-+      s2[i] = tolower (s1[i]);
-+    }
-+
-+  s1[len] = s2[len] = 0;
-+  s1[len + 1] = 23;
-+  s2[len + 1] = 24 + exp_result;
-+  if ((s2[len - 1] == 'z' && exp_result == -1)
-+      || (s2[len - 1] == 'a' && exp_result == 1))
-+    s1[len - 1] += exp_result;
-+  else
-+    s2[len - 1] -= exp_result;
-+
-+  if (HP_TIMING_AVAIL)
-+    printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
-+
-+  FOR_EACH_IMPL (impl, 0)
-+    do_one_test (impl, s1, s2, exp_result);
-+
-+  if (HP_TIMING_AVAIL)
-+    putchar ('\n');
-+}
-+
-+static void
-+do_random_tests (void)
-+{
-+  size_t i, j, n, align1, align2, pos, len1, len2;
-+  int result;
-+  long r;
-+  unsigned char *p1 = buf1 + page_size - 512;
-+  unsigned char *p2 = buf2 + page_size - 512;
-+
-+  for (n = 0; n < ITERATIONS; n++)
-+    {
-+      align1 = random () & 31;
-+      if (random () & 1)
-+      align2 = random () & 31;
-+      else
-+      align2 = align1 + (random () & 24);
-+      pos = random () & 511;
-+      j = align1 > align2 ? align1 : align2;
-+      if (pos + j >= 511)
-+      pos = 510 - j - (random () & 7);
-+      len1 = random () & 511;
-+      if (pos >= len1 && (random () & 1))
-+      len1 = pos + (random () & 7);
-+      if (len1 + j >= 512)
-+      len1 = 511 - j - (random () & 7);
-+      if (pos >= len1)
-+      len2 = len1;
-+      else
-+      len2 = len1 + (len1 != 511 - j ? random () % (511 - j - len1) : 0);
-+      j = (pos > len2 ? pos : len2) + align1 + 64;
-+      if (j > 512)
-+      j = 512;
-+      for (i = 0; i < j; ++i)
-+      {
-+        p1[i] = tolower (random () & 255);
-+        if (i < len1 + align1 && !p1[i])
-+          {
-+            p1[i] = tolower (random () & 255);
-+            if (!p1[i])
-+              p1[i] = tolower (1 + (random () & 127));
-+          }
-+      }
-+      for (i = 0; i < j; ++i)
-+      {
-+        p2[i] = toupper (random () & 255);
-+        if (i < len2 + align2 && !p2[i])
-+          {
-+            p2[i] = toupper (random () & 255);
-+            if (!p2[i])
-+              toupper (p2[i] = 1 + (random () & 127));
-+          }
-+      }
-+
-+      result = 0;
-+      memcpy (p2 + align2, p1 + align1, pos);
-+      if (pos < len1)
-+      {
-+        if (tolower (p2[align2 + pos]) == p1[align1 + pos])
-+          {
-+            p2[align2 + pos] = toupper (random () & 255);
-+            if (tolower (p2[align2 + pos]) == p1[align1 + pos])
-+              p2[align2 + pos] = toupper (p1[align1 + pos]
-+                                          + 3 + (random () & 127));
-+          }
-+
-+        if (p1[align1 + pos] < tolower (p2[align2 + pos]))
-+          result = -1;
-+        else
-+          result = 1;
-+      }
-+      p1[len1 + align1] = 0;
-+      p2[len2 + align2] = 0;
-+
-+      FOR_EACH_IMPL (impl, 1)
-+      {
-+        r = CALL (impl, (char *) (p1 + align1), (char *) (p2 + align2));
-+        /* Test whether on 64-bit architectures where ABI requires
-+           callee to promote has the promotion been done.  */
-+        asm ("" : "=g" (r) : "0" (r));
-+        if ((r == 0 && result)
-+            || (r < 0 && result >= 0)
-+            || (r > 0 && result <= 0))
-+          {
-+            error (0, 0, "Iteration %zd - wrong result in function %s (%zd, %zd, %zd, %zd, %zd) %ld != %d, p1 %p p2 %p",
-+                   n, impl->name, align1, align2, len1, len2, pos, r, result, p1, p2);
-+            ret = 1;
-+          }
-+      }
-+    }
-+}
-+
-+int
-+test_main (void)
-+{
-+  size_t i;
-+
-+  test_init ();
-+
-+  printf ("%23s", "");
-+  FOR_EACH_IMPL (impl, 0)
-+    printf ("\t%s", impl->name);
-+  putchar ('\n');
-+
-+  for (i = 1; i < 16; ++i)
-+    {
-+      do_test (i, i, i, 127, 0);
-+      do_test (i, i, i, 127, 1);
-+      do_test (i, i, i, 127, -1);
-+    }
-+
-+  for (i = 1; i < 10; ++i)
-+    {
-+      do_test (0, 0, 2 << i, 127, 0);
-+      do_test (0, 0, 2 << i, 254, 0);
-+      do_test (0, 0, 2 << i, 127, 1);
-+      do_test (0, 0, 2 << i, 254, 1);
-+      do_test (0, 0, 2 << i, 127, -1);
-+      do_test (0, 0, 2 << i, 254, -1);
-+    }
-+
-+  for (i = 1; i < 8; ++i)
-+    {
-+      do_test (i, 2 * i, 8 << i, 127, 0);
-+      do_test (2 * i, i, 8 << i, 254, 0);
-+      do_test (i, 2 * i, 8 << i, 127, 1);
-+      do_test (2 * i, i, 8 << i, 254, 1);
-+      do_test (i, 2 * i, 8 << i, 127, -1);
-+      do_test (2 * i, i, 8 << i, 254, -1);
-+    }
-+
-+  do_random_tests ();
-+  return ret;
-+}
-+
-+#include "../test-skeleton.c"
-Index: glibc-2.12-2-gc4ccff1/string/test-strcasestr.c
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/string/test-strcasestr.c
-@@ -0,0 +1,197 @@
-+/* Test and measure strcasestr functions.
-+   Copyright (C) 2010 Free Software Foundation, Inc.
-+   This file is part of the GNU C Library.
-+   Written by Ulrich Drepper <drepper@redhat.com>, 2010.
-+
-+   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 TEST_MAIN
-+#include "test-string.h"
-+
-+
-+#define STRCASESTR simple_strcasestr
-+#define NO_ALIAS
-+#define __strncasecmp strncasecmp
-+#include "strcasestr.c"
-+
-+
-+static char *
-+stupid_strcasestr (const char *s1, const char *s2)
-+{
-+  ssize_t s1len = strlen (s1);
-+  ssize_t s2len = strlen (s2);
-+
-+  if (s2len > s1len)
-+    return NULL;
-+
-+  for (ssize_t i = 0; i <= s1len - s2len; ++i)
-+    {
-+      size_t j;
-+      for (j = 0; j < s2len; ++j)
-+      if (tolower (s1[i + j]) != tolower (s2[j]))
-+        break;
-+      if (j == s2len)
-+      return (char *) s1 + i;
-+    }
-+
-+  return NULL;
-+}
-+
-+
-+typedef char *(*proto_t) (const char *, const char *);
-+
-+IMPL (stupid_strcasestr, 0)
-+IMPL (simple_strcasestr, 0)
-+IMPL (strcasestr, 1)
-+
-+
-+static void
-+do_one_test (impl_t *impl, const char *s1, const char *s2, char *exp_result)
-+{
-+  char *result = CALL (impl, s1, s2);
-+  if (result != exp_result)
-+    {
-+      error (0, 0, "Wrong result in function %s %s %s", impl->name,
-+           result, exp_result);
-+      ret = 1;
-+      return;
-+    }
-+
-+  if (HP_TIMING_AVAIL)
-+    {
-+      hp_timing_t start __attribute ((unused));
-+      hp_timing_t stop __attribute ((unused));
-+      hp_timing_t best_time = ~(hp_timing_t) 0;
-+      size_t i;
-+
-+      for (i = 0; i < 32; ++i)
-+      {
-+        HP_TIMING_NOW (start);
-+        CALL (impl, s1, s2);
-+        HP_TIMING_NOW (stop);
-+        HP_TIMING_BEST (best_time, start, stop);
-+      }
-+
-+      printf ("\t%zd", (size_t) best_time);
-+    }
-+}
-+
-+
-+static void
-+do_test (size_t align1, size_t align2, size_t len1, size_t len2,
-+       int fail)
-+{
-+  char *s1 = (char *) (buf1 + align1);
-+  char *s2 = (char *) (buf2 + align2);
-+
-+  static const char d[] = "1234567890abcxyz";
-+#define dl (sizeof (d) - 1)
-+  char *ss2 = s2;
-+  for (size_t l = len2; l > 0; l = l > dl ? l - dl : 0)
-+    {
-+      size_t t = l > dl ? dl : l;
-+      ss2 = mempcpy (ss2, d, t);
-+    }
-+  s2[len2] = '\0';
-+
-+  if (fail)
-+    {
-+      char *ss1 = s1;
-+      for (size_t l = len1; l > 0; l = l > dl ? l - dl : 0)
-+      {
-+        size_t t = l > dl ? dl : l;
-+        memcpy (ss1, d, t);
-+        ++ss1[len2 > 7 ? 7 : len2 - 1];
-+        ss1 += t;
-+      }
-+    }
-+  else
-+    {
-+      memset (s1, '0', len1);
-+      for (size_t i = 0; i < len2; ++i)
-+      s1[len1 - len2 + i] = toupper (s2[i]);
-+    }
-+  s1[len1] = '\0';
-+
-+  if (HP_TIMING_AVAIL)
-+    printf ("Length %4zd/%zd, alignment %2zd/%2zd, %s:",
-+          len1, len2, align1, align2, fail ? "fail" : "found");
-+
-+  FOR_EACH_IMPL (impl, 0)
-+    do_one_test (impl, s1, s2, fail ? NULL : s1 + len1 - len2);
-+
-+  if (HP_TIMING_AVAIL)
-+    putchar ('\n');
-+}
-+
-+
-+static int
-+test_main (void)
-+{
-+  test_init ();
-+
-+  printf ("%23s", "");
-+  FOR_EACH_IMPL (impl, 0)
-+    printf ("\t%s", impl->name);
-+  putchar ('\n');
-+
-+  for (size_t klen = 2; klen < 32; ++klen)
-+    for (size_t hlen = 2 * klen; hlen < 16 * klen; hlen += klen)
-+      {
-+      do_test (0, 0, hlen, klen, 0);
-+      do_test (0, 0, hlen, klen, 1);
-+      do_test (0, 3, hlen, klen, 0);
-+      do_test (0, 3, hlen, klen, 1);
-+      do_test (0, 9, hlen, klen, 0);
-+      do_test (0, 9, hlen, klen, 1);
-+      do_test (0, 15, hlen, klen, 0);
-+      do_test (0, 15, hlen, klen, 1);
-+
-+      do_test (3, 0, hlen, klen, 0);
-+      do_test (3, 0, hlen, klen, 1);
-+      do_test (3, 3, hlen, klen, 0);
-+      do_test (3, 3, hlen, klen, 1);
-+      do_test (3, 9, hlen, klen, 0);
-+      do_test (3, 9, hlen, klen, 1);
-+      do_test (3, 15, hlen, klen, 0);
-+      do_test (3, 15, hlen, klen, 1);
-+
-+      do_test (9, 0, hlen, klen, 0);
-+      do_test (9, 0, hlen, klen, 1);
-+      do_test (9, 3, hlen, klen, 0);
-+      do_test (9, 3, hlen, klen, 1);
-+      do_test (9, 9, hlen, klen, 0);
-+      do_test (9, 9, hlen, klen, 1);
-+      do_test (9, 15, hlen, klen, 0);
-+      do_test (9, 15, hlen, klen, 1);
-+
-+      do_test (15, 0, hlen, klen, 0);
-+      do_test (15, 0, hlen, klen, 1);
-+      do_test (15, 3, hlen, klen, 0);
-+      do_test (15, 3, hlen, klen, 1);
-+      do_test (15, 9, hlen, klen, 0);
-+      do_test (15, 9, hlen, klen, 1);
-+      do_test (15, 15, hlen, klen, 0);
-+      do_test (15, 15, hlen, klen, 1);
-+      }
-+
-+  do_test (0, 0, page_size - 1, 16, 0);
-+  do_test (0, 0, page_size - 1, 16, 1);
-+
-+  return ret;
-+}
-+
-+#include "../test-skeleton.c"
-Index: glibc-2.12-2-gc4ccff1/string/test-strncasecmp.c
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/string/test-strncasecmp.c
-@@ -0,0 +1,349 @@
-+/* Test and measure strncasecmp functions.
-+   Copyright (C) 1999, 2002, 2003, 2005, 2010 Free Software Foundation, Inc.
-+   This file is part of the GNU C Library.
-+   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
-+
-+   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 <ctype.h>
-+#define TEST_MAIN
-+#include "test-string.h"
-+
-+typedef int (*proto_t) (const char *, const char *, size_t);
-+static int simple_strncasecmp (const char *, const char *, size_t);
-+static int stupid_strncasecmp (const char *, const char *, size_t);
-+
-+IMPL (stupid_strncasecmp, 0)
-+IMPL (simple_strncasecmp, 0)
-+IMPL (strncasecmp, 1)
-+
-+static int
-+simple_strncasecmp (const char *s1, const char *s2, size_t n)
-+{
-+  int ret;
-+
-+  if (n == 0)
-+    return 0;
-+
-+  while ((ret = ((unsigned char) tolower (*s1)
-+               - (unsigned char) tolower (*s2))) == 0
-+       && *s1++)
-+    {
-+      if (--n == 0)
-+      return 0;
-+      ++s2;
-+    }
-+  return ret;
-+}
-+
-+static int
-+stupid_strncasecmp (const char *s1, const char *s2, size_t max)
-+{
-+  size_t ns1 = strlen (s1) + 1;
-+  size_t ns2 = strlen (s2) + 1;
-+  size_t n = ns1 < ns2 ? ns1 : ns2;
-+  if (n > max)
-+    n = max;
-+  int ret = 0;
-+
-+  while (n--)
-+    {
-+      if ((ret = ((unsigned char) tolower (*s1)
-+                - (unsigned char) tolower (*s2))) != 0)
-+      break;
-+      ++s1;
-+      ++s2;
-+    }
-+  return ret;
-+}
-+
-+static int
-+check_result (impl_t *impl, const char *s1, const char *s2, size_t n,
-+            int exp_result)
-+{
-+  int result = CALL (impl, s1, s2, n);
-+  if ((exp_result == 0 && result != 0)
-+      || (exp_result < 0 && result >= 0)
-+      || (exp_result > 0 && result <= 0))
-+    {
-+      error (0, 0, "Wrong result in function %s %d %d", impl->name,
-+           result, exp_result);
-+      ret = 1;
-+      return -1;
-+    }
-+
-+  return 0;
-+}
-+
-+static void
-+do_one_test (impl_t *impl, const char *s1, const char *s2, size_t n,
-+           int exp_result)
-+{
-+  if (check_result (impl, s1, s2, n, exp_result) < 0)
-+    return;
-+
-+  if (HP_TIMING_AVAIL)
-+    {
-+      hp_timing_t start __attribute ((unused));
-+      hp_timing_t stop __attribute ((unused));
-+      hp_timing_t best_time = ~ (hp_timing_t) 0;
-+      size_t i;
-+
-+      for (i = 0; i < 32; ++i)
-+      {
-+        HP_TIMING_NOW (start);
-+        CALL (impl, s1, s2, n);
-+        HP_TIMING_NOW (stop);
-+        HP_TIMING_BEST (best_time, start, stop);
-+      }
-+
-+      printf ("\t%zd", (size_t) best_time);
-+    }
-+}
-+
-+static void
-+do_test (size_t align1, size_t align2, size_t n, size_t len, int max_char,
-+       int exp_result)
-+{
-+  size_t i;
-+  char *s1, *s2;
-+
-+  if (len == 0)
-+    return;
-+
-+  align1 &= 7;
-+  if (align1 + len + 1 >= page_size)
-+    return;
-+
-+  align2 &= 7;
-+  if (align2 + len + 1 >= page_size)
-+    return;
-+
-+  s1 = (char *) (buf1 + align1);
-+  s2 = (char *) (buf2 + align2);
-+
-+  for (i = 0; i < len; i++)
-+    {
-+      s1[i] = toupper (1 + 23 * i % max_char);
-+      s2[i] = tolower (s1[i]);
-+    }
-+
-+  s1[len] = s2[len] = 0;
-+  s1[len + 1] = 23;
-+  s2[len + 1] = 24 + exp_result;
-+  if ((s2[len - 1] == 'z' && exp_result == -1)
-+      || (s2[len - 1] == 'a' && exp_result == 1))
-+    s1[len - 1] += exp_result;
-+  else
-+    s2[len - 1] -= exp_result;
-+
-+  if (HP_TIMING_AVAIL)
-+    printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
-+
-+  FOR_EACH_IMPL (impl, 0)
-+    do_one_test (impl, s1, s2, n, exp_result);
-+
-+  if (HP_TIMING_AVAIL)
-+    putchar ('\n');
-+}
-+
-+static void
-+do_random_tests (void)
-+{
-+  size_t i, j, n, align1, align2, pos, len1, len2;
-+  int result;
-+  long r;
-+  unsigned char *p1 = buf1 + page_size - 512;
-+  unsigned char *p2 = buf2 + page_size - 512;
-+
-+  for (n = 0; n < ITERATIONS; n++)
-+    {
-+      align1 = random () & 31;
-+      if (random () & 1)
-+      align2 = random () & 31;
-+      else
-+      align2 = align1 + (random () & 24);
-+      pos = random () & 511;
-+      j = align1 > align2 ? align1 : align2;
-+      if (pos + j >= 511)
-+      pos = 510 - j - (random () & 7);
-+      len1 = random () & 511;
-+      if (pos >= len1 && (random () & 1))
-+      len1 = pos + (random () & 7);
-+      if (len1 + j >= 512)
-+      len1 = 511 - j - (random () & 7);
-+      if (pos >= len1)
-+      len2 = len1;
-+      else
-+      len2 = len1 + (len1 != 511 - j ? random () % (511 - j - len1) : 0);
-+      j = (pos > len2 ? pos : len2) + align1 + 64;
-+      if (j > 512)
-+      j = 512;
-+      for (i = 0; i < j; ++i)
-+      {
-+        p1[i] = tolower (random () & 255);
-+        if (i < len1 + align1 && !p1[i])
-+          {
-+            p1[i] = tolower (random () & 255);
-+            if (!p1[i])
-+              p1[i] = tolower (1 + (random () & 127));
-+          }
-+      }
-+      for (i = 0; i < j; ++i)
-+      {
-+        p2[i] = toupper (random () & 255);
-+        if (i < len2 + align2 && !p2[i])
-+          {
-+            p2[i] = toupper (random () & 255);
-+            if (!p2[i])
-+              toupper (p2[i] = 1 + (random () & 127));
-+          }
-+      }
-+
-+      result = 0;
-+      memcpy (p2 + align2, p1 + align1, pos);
-+      if (pos < len1)
-+      {
-+        if (tolower (p2[align2 + pos]) == p1[align1 + pos])
-+          {
-+            p2[align2 + pos] = toupper (random () & 255);
-+            if (tolower (p2[align2 + pos]) == p1[align1 + pos])
-+              p2[align2 + pos] = toupper (p1[align1 + pos]
-+                                          + 3 + (random () & 127));
-+          }
-+
-+        if (p1[align1 + pos] < tolower (p2[align2 + pos]))
-+          result = -1;
-+        else
-+          result = 1;
-+      }
-+      p1[len1 + align1] = 0;
-+      p2[len2 + align2] = 0;
-+
-+      FOR_EACH_IMPL (impl, 1)
-+      {
-+        r = CALL (impl, (char *) (p1 + align1), (char *) (p2 + align2),
-+                  pos + 1 + (random () & 255));
-+        /* Test whether on 64-bit architectures where ABI requires
-+           callee to promote has the promotion been done.  */
-+        asm ("" : "=g" (r) : "0" (r));
-+        if ((r == 0 && result)
-+            || (r < 0 && result >= 0)
-+            || (r > 0 && result <= 0))
-+          {
-+            error (0, 0, "Iteration %zd - wrong result in function %s (%zd, %zd, %zd, %zd, %zd) %ld != %d, p1 %p p2 %p",
-+                   n, impl->name, align1, align2, len1, len2, pos, r, result, p1, p2);
-+            ret = 1;
-+          }
-+      }
-+    }
-+}
-+
-+
-+static void
-+check1 (void)
-+{
-+  static char cp [4096+16] __attribute__ ((aligned(4096)));
-+  static char gotrel[4096] __attribute__ ((aligned(4096)));
-+  char *s1 = cp + 0xffa;
-+  char *s2 = gotrel + 0xcbe;
-+  int exp_result;
-+  size_t n = 6;
-+
-+  strcpy (s1, "gottpoff");
-+  strcpy (s2, "GOTPLT");
-+
-+  exp_result = simple_strncasecmp (s1, s2, n);
-+  FOR_EACH_IMPL (impl, 0)
-+    check_result (impl, s1, s2, n, exp_result);
-+}
-+
-+int
-+test_main (void)
-+{
-+  size_t i;
-+
-+  test_init ();
-+
-+  check1 ();
-+
-+  printf ("%23s", "");
-+  FOR_EACH_IMPL (impl, 0)
-+    printf ("\t%s", impl->name);
-+  putchar ('\n');
-+
-+  for (i = 1; i < 16; ++i)
-+    {
-+      do_test (i, i, i - 1, i, 127, 0);
-+
-+      do_test (i, i, i, i, 127, 0);
-+      do_test (i, i, i, i, 127, 1);
-+      do_test (i, i, i, i, 127, -1);
-+
-+      do_test (i, i, i + 1, i, 127, 0);
-+      do_test (i, i, i + 1, i, 127, 1);
-+      do_test (i, i, i + 1, i, 127, -1);
-+    }
-+
-+  for (i = 1; i < 10; ++i)
-+    {
-+      do_test (0, 0, (2 << i) - 1, 2 << i, 127, 0);
-+      do_test (0, 0, 2 << i, 2 << i, 254, 0);
-+      do_test (0, 0, (2 << i) + 1, 2 << i, 127, 0);
-+
-+      do_test (0, 0, (2 << i) + 1, 2 << i, 254, 0);
-+
-+      do_test (0, 0, 2 << i, 2 << i, 127, 1);
-+      do_test (0, 0, (2 << i) + 10, 2 << i, 127, 1);
-+
-+      do_test (0, 0, 2 << i, 2 << i, 254, 1);
-+      do_test (0, 0, (2 << i) + 10, 2 << i, 254, 1);
-+
-+      do_test (0, 0, 2 << i, 2 << i, 127, -1);
-+      do_test (0, 0, (2 << i) + 10, 2 << i, 127, -1);
-+
-+      do_test (0, 0, 2 << i, 2 << i, 254, -1);
-+      do_test (0, 0, (2 << i) + 10, 2 << i, 254, -1);
-+    }
-+
-+  for (i = 1; i < 8; ++i)
-+    {
-+      do_test (i, 2 * i, (8 << i) - 1, 8 << i, 127, 0);
-+      do_test (i, 2 * i, 8 << i, 8 << i, 127, 0);
-+      do_test (i, 2 * i, (8 << i) + 100, 8 << i, 127, 0);
-+
-+      do_test (2 * i, i, (8 << i) - 1, 8 << i, 254, 0);
-+      do_test (2 * i, i, 8 << i, 8 << i, 254, 0);
-+      do_test (2 * i, i, (8 << i) + 100, 8 << i, 254, 0);
-+
-+      do_test (i, 2 * i, 8 << i, 8 << i, 127, 1);
-+      do_test (i, 2 * i, (8 << i) + 100, 8 << i, 127, 1);
-+
-+      do_test (2 * i, i, 8 << i, 8 << i, 254, 1);
-+      do_test (2 * i, i, (8 << i) + 100, 8 << i, 254, 1);
-+
-+      do_test (i, 2 * i, 8 << i, 8 << i, 127, -1);
-+      do_test (i, 2 * i, (8 << i) + 100, 8 << i, 127, -1);
-+
-+      do_test (2 * i, i, 8 << i, 8 << i, 254, -1);
-+      do_test (2 * i, i, (8 << i) + 100, 8 << i, 254, -1);
-+    }
-+
-+  do_random_tests ();
-+  return ret;
-+}
-+
-+#include "../test-skeleton.c"
-Index: glibc-2.12-2-gc4ccff1/string/test-strnlen.c
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/string/test-strnlen.c
-@@ -0,0 +1,197 @@
-+/* Test and measure strlen functions.
-+   Copyright (C) 1999, 2002, 2003, 2005, 2010 Free Software Foundation, Inc.
-+   This file is part of the GNU C Library.
-+   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
-+
-+   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 TEST_MAIN
-+#include "test-string.h"
-+
-+typedef size_t (*proto_t) (const char *, size_t);
-+size_t simple_strnlen (const char *, size_t);
-+
-+IMPL (simple_strnlen, 0)
-+IMPL (strnlen, 1)
-+
-+size_t
-+simple_strnlen (const char *s, size_t maxlen)
-+{
-+  size_t i;
-+
-+  for (i = 0; i < maxlen && s[i]; ++i);
-+  return i;
-+}
-+
-+static void
-+do_one_test (impl_t *impl, const char *s, size_t maxlen, size_t exp_len)
-+{
-+  size_t len = CALL (impl, s, maxlen);
-+  if (len != exp_len)
-+    {
-+      error (0, 0, "Wrong result in function %s %zd %zd", impl->name,
-+           len, exp_len);
-+      ret = 1;
-+      return;
-+    }
-+
-+  if (HP_TIMING_AVAIL)
-+    {
-+      hp_timing_t start __attribute ((unused));
-+      hp_timing_t stop __attribute ((unused));
-+      hp_timing_t best_time = ~ (hp_timing_t) 0;
-+      size_t i;
-+
-+      for (i = 0; i < 32; ++i)
-+      {
-+        HP_TIMING_NOW (start);
-+        CALL (impl, s, maxlen);
-+        HP_TIMING_NOW (stop);
-+        HP_TIMING_BEST (best_time, start, stop);
-+      }
-+
-+      printf ("\t%zd", (size_t) best_time);
-+    }
-+}
-+
-+static void
-+do_test (size_t align, size_t len, size_t maxlen, int max_char)
-+{
-+  size_t i;
-+
-+  align &= 7;
-+  if (align + len >= page_size)
-+    return;
-+
-+  for (i = 0; i < len; ++i)
-+    buf1[align + i] = 1 + 7 * i % max_char;
-+  buf1[align + len] = 0;
-+
-+  if (HP_TIMING_AVAIL)
-+    printf ("Length %4zd, alignment %2zd:", len, align);
-+
-+  FOR_EACH_IMPL (impl, 0)
-+    do_one_test (impl, (char *) (buf1 + align), maxlen, MIN (len, maxlen));
-+
-+  if (HP_TIMING_AVAIL)
-+    putchar ('\n');
-+}
-+
-+static void
-+do_random_tests (void)
-+{
-+  size_t i, j, n, align, len;
-+  unsigned char *p = buf1 + page_size - 512;
-+
-+  for (n = 0; n < ITERATIONS; n++)
-+    {
-+      align = random () & 15;
-+      len = random () & 511;
-+      if (len + align > 510)
-+      len = 511 - align - (random () & 7);
-+      j = len + align + 64;
-+      if (j > 512)
-+      j = 512;
-+
-+      for (i = 0; i < j; i++)
-+      {
-+        if (i == len + align)
-+          p[i] = 0;
-+        else
-+          {
-+            p[i] = random () & 255;
-+            if (i >= align && i < len + align && !p[i])
-+              p[i] = (random () & 127) + 1;
-+          }
-+      }
-+
-+      FOR_EACH_IMPL (impl, 1)
-+      {
-+        if (len > 0
-+            && CALL (impl, (char *) (p + align), len - 1) != len - 1)
-+          {
-+            error (0, 0, "Iteration %zd (limited) - wrong result in function %s (%zd) %zd != %zd, p %p",
-+                   n, impl->name, align,
-+                   CALL (impl, (char *) (p + align), len - 1), len - 1, p);
-+            ret = 1;
-+          }
-+        if (CALL (impl, (char *) (p + align), len) != len)
-+          {
-+            error (0, 0, "Iteration %zd (exact) - wrong result in function %s (%zd) %zd != %zd, p %p",
-+                   n, impl->name, align,
-+                   CALL (impl, (char *) (p + align), len), len, p);
-+            ret = 1;
-+          }
-+        if (CALL (impl, (char *) (p + align), len + 1) != len)
-+          {
-+            error (0, 0, "Iteration %zd (long) - wrong result in function %s (%zd) %zd != %zd, p %p",
-+                   n, impl->name, align,
-+                   CALL (impl, (char *) (p + align), len + 1), len, p);
-+            ret = 1;
-+          }
-+      }
-+    }
-+}
-+
-+int
-+test_main (void)
-+{
-+  size_t i;
-+
-+  test_init ();
-+
-+  printf ("%20s", "");
-+  FOR_EACH_IMPL (impl, 0)
-+    printf ("\t%s", impl->name);
-+  putchar ('\n');
-+
-+  for (i = 1; i < 8; ++i)
-+    {
-+      do_test (0, i, i - 1, 127);
-+      do_test (0, i, i, 127);
-+      do_test (0, i, i + 1, 127);
-+    }
-+
-+  for (i = 1; i < 8; ++i)
-+    {
-+      do_test (i, i, i - 1, 127);
-+      do_test (i, i, i, 127);
-+      do_test (i, i, i + 1, 127);
-+    }
-+
-+  for (i = 2; i <= 10; ++i)
-+    {
-+      do_test (0, 1 << i, 5000, 127);
-+      do_test (1, 1 << i, 5000, 127);
-+    }
-+
-+  for (i = 1; i < 8; ++i)
-+    do_test (0, i, 5000, 255);
-+
-+  for (i = 1; i < 8; ++i)
-+    do_test (i, i, 5000, 255);
-+
-+  for (i = 2; i <= 10; ++i)
-+    {
-+      do_test (0, 1 << i, 5000, 255);
-+      do_test (1, 1 << i, 5000, 255);
-+    }
-+
-+  do_random_tests ();
-+  return ret;
-+}
-+
-+#include "../test-skeleton.c"
-Index: glibc-2.12-2-gc4ccff1/string/test-strstr.c
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/string/test-strstr.c
-@@ -0,0 +1,194 @@
-+/* Test and measure strstr functions.
-+   Copyright (C) 2010 Free Software Foundation, Inc.
-+   This file is part of the GNU C Library.
-+   Written by Ulrich Drepper <drepper@redhat.com>, 2010.
-+
-+   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 TEST_MAIN
-+#include "test-string.h"
-+
-+
-+#define STRSTR simple_strstr
-+#include "strstr.c"
-+
-+
-+static char *
-+stupid_strstr (const char *s1, const char *s2)
-+{
-+  ssize_t s1len = strlen (s1);
-+  ssize_t s2len = strlen (s2);
-+
-+  if (s2len > s1len)
-+    return NULL;
-+
-+  for (ssize_t i = 0; i <= s1len - s2len; ++i)
-+    {
-+      size_t j;
-+      for (j = 0; j < s2len; ++j)
-+      if (s1[i + j] != s2[j])
-+        break;
-+      if (j == s2len)
-+      return (char *) s1 + i;
-+    }
-+
-+  return NULL;
-+}
-+
-+
-+typedef char *(*proto_t) (const char *, const char *);
-+
-+IMPL (stupid_strstr, 0)
-+IMPL (simple_strstr, 0)
-+IMPL (strstr, 1)
-+
-+
-+static void
-+do_one_test (impl_t *impl, const char *s1, const char *s2, char *exp_result)
-+{
-+  char *result = CALL (impl, s1, s2);
-+  if (result != exp_result)
-+    {
-+      error (0, 0, "Wrong result in function %s %s %s", impl->name,
-+           result, exp_result);
-+      ret = 1;
-+      return;
-+    }
-+
-+  if (HP_TIMING_AVAIL)
-+    {
-+      hp_timing_t start __attribute ((unused));
-+      hp_timing_t stop __attribute ((unused));
-+      hp_timing_t best_time = ~(hp_timing_t) 0;
-+      size_t i;
-+
-+      for (i = 0; i < 32; ++i)
-+      {
-+        HP_TIMING_NOW (start);
-+        CALL (impl, s1, s2);
-+        HP_TIMING_NOW (stop);
-+        HP_TIMING_BEST (best_time, start, stop);
-+      }
-+
-+      printf ("\t%zd", (size_t) best_time);
-+    }
-+}
-+
-+
-+static void
-+do_test (size_t align1, size_t align2, size_t len1, size_t len2,
-+       int fail)
-+{
-+  char *s1 = (char *) (buf1 + align1);
-+  char *s2 = (char *) (buf2 + align2);
-+
-+  static const char d[] = "1234567890abcdef";
-+#define dl (sizeof (d) - 1)
-+  char *ss2 = s2;
-+  for (size_t l = len2; l > 0; l = l > dl ? l - dl : 0)
-+    {
-+      size_t t = l > dl ? dl : l;
-+      ss2 = mempcpy (ss2, d, t);
-+    }
-+  s2[len2] = '\0';
-+
-+  if (fail)
-+    {
-+      char *ss1 = s1;
-+      for (size_t l = len1; l > 0; l = l > dl ? l - dl : 0)
-+      {
-+        size_t t = l > dl ? dl : l;
-+        memcpy (ss1, d, t);
-+        ++ss1[len2 > 7 ? 7 : len2 - 1];
-+        ss1 += t;
-+      }
-+    }
-+  else
-+    {
-+      memset (s1, '0', len1);
-+      memcpy (s1 + len1 - len2, s2, len2);
-+    }
-+  s1[len1] = '\0';
-+
-+  if (HP_TIMING_AVAIL)
-+    printf ("Length %4zd/%zd, alignment %2zd/%2zd, %s:",
-+          len1, len2, align1, align2, fail ? "fail" : "found");
-+
-+  FOR_EACH_IMPL (impl, 0)
-+    do_one_test (impl, s1, s2, fail ? NULL : s1 + len1 - len2);
-+
-+  if (HP_TIMING_AVAIL)
-+    putchar ('\n');
-+}
-+
-+
-+static int
-+test_main (void)
-+{
-+  test_init ();
-+
-+  printf ("%23s", "");
-+  FOR_EACH_IMPL (impl, 0)
-+    printf ("\t%s", impl->name);
-+  putchar ('\n');
-+
-+  for (size_t klen = 2; klen < 32; ++klen)
-+    for (size_t hlen = 2 * klen; hlen < 16 * klen; hlen += klen)
-+      {
-+      do_test (0, 0, hlen, klen, 0);
-+      do_test (0, 0, hlen, klen, 1);
-+      do_test (0, 3, hlen, klen, 0);
-+      do_test (0, 3, hlen, klen, 1);
-+      do_test (0, 9, hlen, klen, 0);
-+      do_test (0, 9, hlen, klen, 1);
-+      do_test (0, 15, hlen, klen, 0);
-+      do_test (0, 15, hlen, klen, 1);
-+
-+      do_test (3, 0, hlen, klen, 0);
-+      do_test (3, 0, hlen, klen, 1);
-+      do_test (3, 3, hlen, klen, 0);
-+      do_test (3, 3, hlen, klen, 1);
-+      do_test (3, 9, hlen, klen, 0);
-+      do_test (3, 9, hlen, klen, 1);
-+      do_test (3, 15, hlen, klen, 0);
-+      do_test (3, 15, hlen, klen, 1);
-+
-+      do_test (9, 0, hlen, klen, 0);
-+      do_test (9, 0, hlen, klen, 1);
-+      do_test (9, 3, hlen, klen, 0);
-+      do_test (9, 3, hlen, klen, 1);
-+      do_test (9, 9, hlen, klen, 0);
-+      do_test (9, 9, hlen, klen, 1);
-+      do_test (9, 15, hlen, klen, 0);
-+      do_test (9, 15, hlen, klen, 1);
-+
-+      do_test (15, 0, hlen, klen, 0);
-+      do_test (15, 0, hlen, klen, 1);
-+      do_test (15, 3, hlen, klen, 0);
-+      do_test (15, 3, hlen, klen, 1);
-+      do_test (15, 9, hlen, klen, 0);
-+      do_test (15, 9, hlen, klen, 1);
-+      do_test (15, 15, hlen, klen, 0);
-+      do_test (15, 15, hlen, klen, 1);
-+      }
-+
-+  do_test (0, 0, page_size - 1, 16, 0);
-+  do_test (0, 0, page_size - 1, 16, 1);
-+
-+  return ret;
-+}
-+
-+#include "../test-skeleton.c"
-Index: glibc-2.12-2-gc4ccff1/string/tester.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/string/tester.c
-+++ glibc-2.12-2-gc4ccff1/string/tester.c
-@@ -441,20 +441,21 @@ test_strnlen (void)
-   check (strnlen ("", 10) == 0, 1);           /* Empty. */
-   check (strnlen ("a", 10) == 1, 2);          /* Single char. */
-   check (strnlen ("abcd", 10) == 4, 3);               /* Multiple chars. */
--  check (strnlen ("foo", (size_t)-1) == 3, 4);        /* limits of n. */
-+  check (strnlen ("foo", (size_t) -1) == 3, 4);       /* limits of n. */
-+  check (strnlen ("abcd", 0) == 0, 5);                /* Restricted. */
-+  check (strnlen ("abcd", 1) == 1, 6);                /* Restricted. */
-+  check (strnlen ("abcd", 2) == 2, 7);                /* Restricted. */
-+  check (strnlen ("abcd", 3) == 3, 8);                /* Restricted. */
-+  check (strnlen ("abcd", 4) == 4, 9);                /* Restricted. */
--  {
--    char buf[4096];
--    int i;
--    char *p;
--    for (i=0; i < 0x100; i++)
--      {
--      p = (char *) ((unsigned long int)(buf + 0xff) & ~0xff) + i;
--      strcpy (p, "OK");
--      strcpy (p+3, "BAD/WRONG");
--      check (strnlen (p, 100) == 2, 5+i);
--      }
--   }
-+  char buf[4096];
-+  for (int i = 0; i < 0x100; ++i)
-+    {
-+      char *p = (char *) ((unsigned long int)(buf + 0xff) & ~0xff) + i;
-+      strcpy (p, "OK");
-+      strcpy (p + 3, "BAD/WRONG");
-+      check (strnlen (p, 100) == 2, 10 + i);
-+    }
- }
- static void
-Index: glibc-2.12-2-gc4ccff1/string/tst-strlen.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/string/tst-strlen.c
-+++ glibc-2.12-2-gc4ccff1/string/tst-strlen.c
-@@ -31,11 +31,21 @@ main(int argc, char *argv[])
-             buf[words * 4 + 3] = (last & 8) != 0 ? 'e' : '\0';
-             buf[words * 4 + 4] = '\0';
--            if (strlen (buf) != words * 4 + lens[last]
--                || strnlen (buf, -1) != words * 4 + lens[last])
-+            if (strlen (buf) != words * 4 + lens[last])
-               {
--                printf ("failed for base=%Zu, words=%Zu, and last=%Zu\n",
--                        base, words, last);
-+                printf ("\
-+strlen failed for base=%Zu, words=%Zu, and last=%Zu (is %zd, expected %zd)\n",
-+                        base, words, last,
-+                        strlen (buf), words * 4 + lens[last]);
-+                return 1;
-+              }
-+
-+            if (strnlen (buf, -1) != words * 4 + lens[last])
-+              {
-+                printf ("\
-+strnlen failed for base=%Zu, words=%Zu, and last=%Zu (is %zd, expected %zd)\n",
-+                        base, words, last,
-+                        strnlen (buf, -1), words * 4 + lens[last]);
-                 return 1;
-               }
-           }
-Index: glibc-2.12-2-gc4ccff1/sysdeps/i386/i686/multiarch/Makefile
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/i386/i686/multiarch/Makefile
-+++ glibc-2.12-2-gc4ccff1/sysdeps/i386/i686/multiarch/Makefile
-@@ -9,7 +9,7 @@ sysdep_routines += bzero-sse2 memset-sse
-                  memmove-ssse3-rep bcopy-ssse3 bcopy-ssse3-rep \
-                  memset-sse2-rep bzero-sse2-rep strcmp-ssse3 \
-                  strcmp-sse4 strncmp-c strncmp-ssse3 strncmp-sse4 \
--                 memcmp-ssse3 memcmp-sse4
-+                 memcmp-ssse3 memcmp-sse4 strcasestr-nonascii
- ifeq (yes,$(config-cflags-sse4))
- sysdep_routines += strcspn-c strpbrk-c strspn-c strstr-c strcasestr-c
- CFLAGS-strcspn-c.c += -msse4
-@@ -17,6 +17,7 @@ CFLAGS-strpbrk-c.c += -msse4
- CFLAGS-strspn-c.c += -msse4
- CFLAGS-strstr.c += -msse4
- CFLAGS-strcasestr.c += -msse4
-+CFLAGS-strcasestr-nonascii.c += -msse4
- endif
- endif
-Index: glibc-2.12-2-gc4ccff1/sysdeps/i386/i686/multiarch/strcasestr-nonascii.c
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/sysdeps/i386/i686/multiarch/strcasestr-nonascii.c
-@@ -0,0 +1,2 @@
-+#include <nmmintrin.h>
-+#include <sysdeps/x86_64/multiarch/strcasestr-nonascii.c>
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/Makefile
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/Makefile
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/Makefile
-@@ -12,7 +12,8 @@ sysdep_routines += _mcount
- endif
- ifeq ($(subdir),string)
--sysdep_routines += cacheinfo
-+sysdep_routines += cacheinfo strcasecmp_l-nonascii strncase_l-nonascii
-+gen-as-const-headers += locale-defines.sym
- endif
- ifeq ($(subdir),elf)
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/locale-defines.sym
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/locale-defines.sym
-@@ -0,0 +1,11 @@
-+#include <locale/localeinfo.h>
-+#include <langinfo.h>
-+#include <stddef.h>
-+
-+--
-+
-+LOCALE_T___LOCALES            offsetof (struct __locale_struct, __locales)
-+LC_CTYPE
-+_NL_CTYPE_NONASCII_CASE
-+LOCALE_DATA_VALUES            offsetof (struct __locale_data, values)
-+SIZEOF_VALUES                 sizeof (((struct __locale_data *) 0)->values[0])
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/Makefile
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/multiarch/Makefile
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/Makefile
-@@ -5,7 +5,9 @@ endif
- ifeq ($(subdir),string)
- sysdep_routines += stpncpy-c strncpy-c strcmp-ssse3 strncmp-ssse3 \
--                 strend-sse4 memcmp-sse4
-+                 strend-sse4 memcmp-sse4 \
-+                 strcasestr-nonascii strcasecmp_l-ssse3 \
-+                 strncase_l-ssse3
- ifeq (yes,$(config-cflags-sse4))
- sysdep_routines += strcspn-c strpbrk-c strspn-c strstr-c strcasestr-c
- CFLAGS-strcspn-c.c += -msse4
-@@ -13,5 +15,6 @@ CFLAGS-strpbrk-c.c += -msse4
- CFLAGS-strspn-c.c += -msse4
- CFLAGS-strstr.c += -msse4
- CFLAGS-strcasestr.c += -msse4
-+CFLAGS-strcasestr-nonascii.c += -msse4
- endif
- endif
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strcasecmp_l-ssse3.S
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strcasecmp_l-ssse3.S
-@@ -0,0 +1,6 @@
-+#define USE_SSSE3 1
-+#define USE_AS_STRCASECMP_L
-+#define NO_NOLOCALE_ALIAS
-+#define STRCMP __strcasecmp_l_ssse3
-+#define __strcasecmp __strcasecmp_ssse3
-+#include "../strcmp.S"
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strcasecmp_l.S
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strcasecmp_l.S
-@@ -0,0 +1,6 @@
-+#define STRCMP __strcasecmp_l
-+#define USE_AS_STRCASECMP_L
-+#include "strcmp.S"
-+
-+weak_alias (__strcasecmp_l, strcasecmp_l)
-+libc_hidden_def (strcasecmp_l)
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strcasestr-nonascii.c
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strcasestr-nonascii.c
-@@ -0,0 +1,50 @@
-+/* strstr with SSE4.2 intrinsics
-+   Copyright (C) 2010 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 <ctype.h>
-+
-+
-+/* Similar to __m128i_strloadu.  Convert to lower case for none-POSIX/C
-+   locale.  */
-+static inline __m128i
-+__m128i_strloadu_tolower (const unsigned char *p)
-+{
-+  union
-+    {
-+      char b[16];
-+      __m128i x;
-+    } u;
-+
-+  for (int i = 0; i < 16; ++i)
-+    if (p[i] == 0)
-+      {
-+      u.b[i] = 0;
-+      break;
-+      }
-+    else
-+      u.b[i] = tolower (p[i]);
-+
-+  return u.x;
-+}
-+
-+
-+#define STRCASESTR_NONASCII
-+#define USE_AS_STRCASESTR
-+#define STRSTR_SSE42 __strcasestr_sse42_nonascii
-+#include "strstr.c"
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strcasestr.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/multiarch/strcasestr.c
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strcasestr.c
-@@ -1,3 +1,7 @@
-+extern char *__strcasestr_sse42_nonascii (const unsigned char *s1,
-+                                        const unsigned char *s2)
-+  attribute_hidden;
-+
- #define USE_AS_STRCASESTR
- #define STRSTR_SSE42 __strcasestr_sse42
- #include "strstr.c"
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strcmp.S
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/multiarch/strcmp.S
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strcmp.S
-@@ -24,7 +24,7 @@
- #ifdef USE_AS_STRNCMP
- /* Since the counter, %r11, is unsigned, we branch to strcmp_exitz
-    if the new counter > the old one or is 0.  */
--#define UPDATE_STRNCMP_COUNTER                                \
-+# define UPDATE_STRNCMP_COUNTER                               \
-       /* calculate left number to compare */          \
-       lea     -16(%rcx, %r11), %r9;                   \
-       cmp     %r9, %r11;                              \
-@@ -33,23 +33,50 @@
-       je      LABEL(strcmp_exitz_sse4_2);             \
-       mov     %r9, %r11
--#define STRCMP_SSE42  __strncmp_sse42
--#define STRCMP_SSSE3  __strncmp_ssse3
--#define STRCMP_SSE2   __strncmp_sse2
--#define __GI_STRCMP   __GI_strncmp
-+# define STRCMP_SSE42 __strncmp_sse42
-+# define STRCMP_SSSE3 __strncmp_ssse3
-+# define STRCMP_SSE2  __strncmp_sse2
-+# define __GI_STRCMP  __GI_strncmp
-+#elif defined USE_AS_STRCASECMP_L
-+# include "locale-defines.h"
-+
-+# define UPDATE_STRNCMP_COUNTER
-+
-+# define STRCMP_SSE42 __strcasecmp_l_sse42
-+# define STRCMP_SSSE3 __strcasecmp_l_ssse3
-+# define STRCMP_SSE2  __strcasecmp_l_sse2
-+# define __GI_STRCMP  __GI___strcasecmp_l
-+#elif defined USE_AS_STRNCASECMP_L
-+# include "locale-defines.h"
-+
-+/* Since the counter, %r11, is unsigned, we branch to strcmp_exitz
-+   if the new counter > the old one or is 0.  */
-+# define UPDATE_STRNCMP_COUNTER                               \
-+      /* calculate left number to compare */          \
-+      lea     -16(%rcx, %r11), %r9;                   \
-+      cmp     %r9, %r11;                              \
-+      jb      LABEL(strcmp_exitz_sse4_2);             \
-+      test    %r9, %r9;                               \
-+      je      LABEL(strcmp_exitz_sse4_2);             \
-+      mov     %r9, %r11
-+
-+# define STRCMP_SSE42 __strncasecmp_l_sse42
-+# define STRCMP_SSSE3 __strncasecmp_l_ssse3
-+# define STRCMP_SSE2  __strncasecmp_l_sse2
-+# define __GI_STRCMP  __GI___strncasecmp_l
- #else
--#define UPDATE_STRNCMP_COUNTER
--#ifndef STRCMP
--#define STRCMP                strcmp
--#define STRCMP_SSE42  __strcmp_sse42
--#define STRCMP_SSSE3  __strcmp_ssse3
--#define STRCMP_SSE2   __strcmp_sse2
--#define __GI_STRCMP   __GI_strcmp
--#endif
-+# define UPDATE_STRNCMP_COUNTER
-+# ifndef STRCMP
-+#  define STRCMP      strcmp
-+#  define STRCMP_SSE42        __strcmp_sse42
-+#  define STRCMP_SSSE3        __strcmp_ssse3
-+#  define STRCMP_SSE2 __strcmp_sse2
-+#  define __GI_STRCMP __GI_strcmp
-+# endif
- #endif
- #ifndef LABEL
--#define LABEL(l) L(l)
-+# define LABEL(l) L(l)
- #endif
- /* Define multiple versions only for the definition in libc.  Don't
-@@ -73,6 +100,43 @@ ENTRY(STRCMP)
- 2:    ret
- END(STRCMP)
-+# ifdef USE_AS_STRCASECMP_L
-+ENTRY(__strcasecmp)
-+      .type   __strcasecmp, @gnu_indirect_function
-+      cmpl    $0, __cpu_features+KIND_OFFSET(%rip)
-+      jne     1f
-+      call    __init_cpu_features
-+1:
-+      leaq    __strcasecmp_sse42(%rip), %rax
-+      testl   $bit_SSE4_2, __cpu_features+CPUID_OFFSET+index_SSE4_2(%rip)
-+      jnz     2f
-+      leaq    __strcasecmp_ssse3(%rip), %rax
-+      testl   $bit_SSSE3, __cpu_features+CPUID_OFFSET+index_SSSE3(%rip)
-+      jnz     2f
-+      leaq    __strcasecmp_sse2(%rip), %rax
-+2:    ret
-+END(__strcasecmp)
-+weak_alias (__strcasecmp, strcasecmp)
-+# endif
-+# ifdef USE_AS_STRNCASECMP_L
-+ENTRY(__strncasecmp)
-+      .type   __strncasecmp, @gnu_indirect_function
-+      cmpl    $0, __cpu_features+KIND_OFFSET(%rip)
-+      jne     1f
-+      call    __init_cpu_features
-+1:
-+      leaq    __strncasecmp_sse42(%rip), %rax
-+      testl   $bit_SSE4_2, __cpu_features+CPUID_OFFSET+index_SSE4_2(%rip)
-+      jnz     2f
-+      leaq    __strncasecmp_ssse3(%rip), %rax
-+      testl   $bit_SSSE3, __cpu_features+CPUID_OFFSET+index_SSSE3(%rip)
-+      jnz     2f
-+      leaq    __strncasecmp_sse2(%rip), %rax
-+2:    ret
-+END(__strncasecmp)
-+weak_alias (__strncasecmp, strncasecmp)
-+# endif
-+
- /* We use 0x1a:
-       _SIDD_SBYTE_OPS
-       | _SIDD_CMP_EQUAL_EACH
-@@ -101,8 +165,31 @@ END(STRCMP)
-       /* Put all SSE 4.2 functions together.  */
-       .section .text.sse4.2,"ax",@progbits
--      .align  16
-+      .align  16
-       .type   STRCMP_SSE42, @function
-+# ifdef USE_AS_STRCASECMP_L
-+ENTRY (__strcasecmp_sse42)
-+      movq    __libc_tsd_LOCALE@gottpoff(%rip),%rax
-+      movq    %fs:(%rax),%rdx
-+
-+      // XXX 5 byte should be before the function
-+      /* 5-byte NOP.  */
-+      .byte   0x0f,0x1f,0x44,0x00,0x00
-+END (__strcasecmp_sse42)
-+      /* FALLTHROUGH to strcasecmp_l.  */
-+# endif
-+# ifdef USE_AS_STRNCASECMP_L
-+ENTRY (__strncasecmp_sse42)
-+      movq    __libc_tsd_LOCALE@gottpoff(%rip),%rax
-+      movq    %fs:(%rax),%rcx
-+
-+      // XXX 5 byte should be before the function
-+      /* 5-byte NOP.  */
-+      .byte   0x0f,0x1f,0x44,0x00,0x00
-+END (__strncasecmp_sse42)
-+      /* FALLTHROUGH to strncasecmp_l.  */
-+# endif
-+
- STRCMP_SSE42:
-       cfi_startproc
-       CALL_MCOUNT
-@@ -110,24 +197,87 @@ STRCMP_SSE42:
- /*
-  * This implementation uses SSE to compare up to 16 bytes at a time.
-  */
--#ifdef USE_AS_STRNCMP
-+# ifdef USE_AS_STRCASECMP_L
-+      /* We have to fall back on the C implementation for locales
-+         with encodings not matching ASCII for single bytes.  */
-+#  if LOCALE_T___LOCALES != 0 || LC_CTYPE != 0
-+      movq    LOCALE_T___LOCALES+LC_CTYPE*8(%rdx), %rax
-+#  else
-+      movq    (%rdx), %rax
-+#  endif
-+      testl   $0, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax)
-+      jne     __strcasecmp_l_nonascii
-+# endif
-+# ifdef USE_AS_STRNCASECMP_L
-+      /* We have to fall back on the C implementation for locales
-+         with encodings not matching ASCII for single bytes.  */
-+#  if LOCALE_T___LOCALES != 0 || LC_CTYPE != 0
-+      movq    LOCALE_T___LOCALES+LC_CTYPE*8(%rcx), %rax
-+#  else
-+      movq    (%rcx), %rax
-+#  endif
-+      testl   $0, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax)
-+      jne     __strncasecmp_l_nonascii
-+# endif
-+
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       test    %rdx, %rdx
-       je      LABEL(strcmp_exitz_sse4_2)
-       cmp     $1, %rdx
-       je      LABEL(Byte0_sse4_2)
-       mov     %rdx, %r11
--#endif
-+# endif
-       mov     %esi, %ecx
-       mov     %edi, %eax
- /* Use 64bit AND here to avoid long NOP padding.  */
-       and     $0x3f, %rcx             /* rsi alignment in cache line */
-       and     $0x3f, %rax             /* rdi alignment in cache line */
-+# if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
-+      .section .rodata.cst16,"aM",@progbits,16
-+      .align 16
-+.Lbelowupper_sse4:
-+      .quad   0x4040404040404040
-+      .quad   0x4040404040404040
-+.Ltopupper_sse4:
-+      .quad   0x5b5b5b5b5b5b5b5b
-+      .quad   0x5b5b5b5b5b5b5b5b
-+.Ltouppermask_sse4:
-+      .quad   0x2020202020202020
-+      .quad   0x2020202020202020
-+      .previous
-+      movdqa  .Lbelowupper_sse4(%rip), %xmm4
-+#  define UCLOW_reg %xmm4
-+      movdqa  .Ltopupper_sse4(%rip), %xmm5
-+#  define UCHIGH_reg %xmm5
-+      movdqa  .Ltouppermask_sse4(%rip), %xmm6
-+#  define LCQWORD_reg %xmm6
-+# endif
-       cmp     $0x30, %ecx
-       ja      LABEL(crosscache_sse4_2)/* rsi: 16-byte load will cross cache line */
-       cmp     $0x30, %eax
-       ja      LABEL(crosscache_sse4_2)/* rdi: 16-byte load will cross cache line */
-       movdqu  (%rdi), %xmm1
-       movdqu  (%rsi), %xmm2
-+# if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
-+#  define TOLOWER(reg1, reg2) \
-+      movdqa  reg1, %xmm7;                                    \
-+      movdqa  UCHIGH_reg, %xmm8;                              \
-+      movdqa  reg2, %xmm9;                                    \
-+      movdqa  UCHIGH_reg, %xmm10;                             \
-+      pcmpgtb UCLOW_reg, %xmm7;                               \
-+      pcmpgtb reg1, %xmm8;                                    \
-+      pcmpgtb UCLOW_reg, %xmm9;                               \
-+      pcmpgtb reg2, %xmm10;                                   \
-+      pand    %xmm8, %xmm7;                                   \
-+      pand    %xmm10, %xmm9;                                  \
-+      pand    LCQWORD_reg, %xmm7;                             \
-+      pand    LCQWORD_reg, %xmm9;                             \
-+      por     %xmm7, reg1;                                    \
-+      por     %xmm9, reg2
-+      TOLOWER (%xmm1, %xmm2)
-+# else
-+#  define TOLOWER(reg1, reg2)
-+# endif
-       pxor    %xmm0, %xmm0            /* clear %xmm0 for null char checks */
-       pcmpeqb %xmm1, %xmm0            /* Any null chars? */
-       pcmpeqb %xmm2, %xmm1            /* compare first 16 bytes for equality */
-@@ -135,10 +285,10 @@ STRCMP_SSE42:
-       pmovmskb %xmm1, %edx
-       sub     $0xffff, %edx           /* if first 16 bytes are same, edx == 0xffff */
-       jnz     LABEL(less16bytes_sse4_2)/* If not, find different value or null char */
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)/* finish comparision */
--#endif
-+# endif
-       add     $16, %rsi               /* prepare to search next 16 bytes */
-       add     $16, %rdi               /* prepare to search next 16 bytes */
-@@ -180,7 +330,13 @@ LABEL(ashr_0_sse4_2):
-       movdqa  (%rsi), %xmm1
-       pxor    %xmm0, %xmm0                    /* clear %xmm0 for null char check */
-       pcmpeqb %xmm1, %xmm0                    /* Any null chars? */
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-       pcmpeqb (%rdi), %xmm1                   /* compare 16 bytes for equality */
-+# else
-+      movdqa  (%rdi), %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-+      pcmpeqb %xmm2, %xmm1                    /* compare 16 bytes for equality */
-+# endif
-       psubb   %xmm0, %xmm1                    /* packed sub of comparison results*/
-       pmovmskb %xmm1, %r9d
-       shr     %cl, %edx                       /* adjust 0xffff for offset */
-@@ -204,44 +360,60 @@ LABEL(ashr_0_sse4_2):
-       .p2align 4
- LABEL(ashr_0_use_sse4_2):
-       movdqa  (%rdi,%rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-       pcmpistri      $0x1a,(%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       lea     16(%rdx), %rdx
-       jbe     LABEL(ashr_0_use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       movdqa  (%rdi,%rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-       pcmpistri      $0x1a,(%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       lea     16(%rdx), %rdx
-       jbe     LABEL(ashr_0_use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       jmp     LABEL(ashr_0_use_sse4_2)
-       .p2align 4
- LABEL(ashr_0_use_sse4_2_exit):
-       jnc     LABEL(strcmp_exitz_sse4_2)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     %rcx, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       lea     -16(%rdx, %rcx), %rcx
-       movzbl  (%rdi, %rcx), %eax
-       movzbl  (%rsi, %rcx), %edx
-+# if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
-+      leaq    _nl_C_LC_CTYPE_tolower+128*4(%rip), %rcx
-+      movl    (%rcx,%rax,4), %eax
-+      movl    (%rcx,%rdx,4), %edx
-+# endif
-       sub     %edx, %eax
-       ret
--
- /*
-  * The following cases will be handled by ashr_1
-- * rcx(offset of rsi)  rax(offset of rdi)   relative offset           corresponding case
-+ * rcx(offset of rsi)  rax(offset of rdi)   relative offset   corresponding case
-  *        n(15)            n -15            0(15 +(n-15) - n)         ashr_1
-  */
-       .p2align 4
-@@ -251,6 +423,7 @@ LABEL(ashr_1_sse4_2):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0            /* Any null chars? */
-       pslldq  $15, %xmm2              /* shift first string to align with second */
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2            /* compare 16 bytes for equality */
-       psubb   %xmm0, %xmm2            /* packed sub of comparison results*/
-       pmovmskb %xmm2, %r9d
-@@ -281,12 +454,18 @@ LABEL(loop_ashr_1_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $1, -16(%rdi, %rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-       pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       add     $16, %r10
-@@ -294,12 +473,18 @@ LABEL(loop_ashr_1_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $1, -16(%rdi, %rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-       pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       jmp     LABEL(loop_ashr_1_use_sse4_2)
-@@ -309,10 +494,10 @@ LABEL(nibble_ashr_1_use_sse4_2):
-       movdqa  -16(%rdi, %rdx), %xmm0
-       psrldq  $1, %xmm0
-       pcmpistri      $0x3a,%xmm0, %xmm0
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       cmp     %r11, %rcx
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
--#endif
-+# endif
-       cmp     $14, %ecx
-       ja      LABEL(loop_ashr_1_use_sse4_2)
-@@ -320,7 +505,7 @@ LABEL(nibble_ashr_1_use_sse4_2):
- /*
-  * The following cases will be handled by ashr_2
-- * rcx(offset of rsi)  rax(offset of rdi)   relative offset           corresponding case
-+ * rcx(offset of rsi)  rax(offset of rdi)   relative offset   corresponding case
-  *        n(14~15)            n -14         1(15 +(n-14) - n)         ashr_2
-  */
-       .p2align 4
-@@ -330,6 +515,7 @@ LABEL(ashr_2_sse4_2):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pslldq  $14, %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2
-       psubb   %xmm0, %xmm2
-       pmovmskb %xmm2, %r9d
-@@ -360,12 +546,18 @@ LABEL(loop_ashr_2_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $2, -16(%rdi, %rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-       pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       add     $16, %r10
-@@ -373,12 +565,18 @@ LABEL(loop_ashr_2_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $2, -16(%rdi, %rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-       pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       jmp     LABEL(loop_ashr_2_use_sse4_2)
-@@ -388,10 +586,10 @@ LABEL(nibble_ashr_2_use_sse4_2):
-       movdqa  -16(%rdi, %rdx), %xmm0
-       psrldq  $2, %xmm0
-       pcmpistri      $0x3a,%xmm0, %xmm0
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       cmp     %r11, %rcx
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
--#endif
-+# endif
-       cmp     $13, %ecx
-       ja      LABEL(loop_ashr_2_use_sse4_2)
-@@ -409,6 +607,7 @@ LABEL(ashr_3_sse4_2):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pslldq  $13, %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2
-       psubb   %xmm0, %xmm2
-       pmovmskb %xmm2, %r9d
-@@ -439,12 +638,18 @@ LABEL(loop_ashr_3_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $3, -16(%rdi, %rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-       pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       add     $16, %r10
-@@ -452,12 +657,18 @@ LABEL(loop_ashr_3_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $3, -16(%rdi, %rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-       pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       jmp     LABEL(loop_ashr_3_use_sse4_2)
-@@ -467,10 +678,10 @@ LABEL(nibble_ashr_3_use_sse4_2):
-       movdqa  -16(%rdi, %rdx), %xmm0
-       psrldq  $3, %xmm0
-       pcmpistri      $0x3a,%xmm0, %xmm0
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       cmp     %r11, %rcx
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
--#endif
-+# endif
-       cmp     $12, %ecx
-       ja      LABEL(loop_ashr_3_use_sse4_2)
-@@ -488,6 +699,7 @@ LABEL(ashr_4_sse4_2):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pslldq  $12, %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2
-       psubb   %xmm0, %xmm2
-       pmovmskb %xmm2, %r9d
-@@ -519,12 +731,18 @@ LABEL(loop_ashr_4_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $4, -16(%rdi, %rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-       pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       add     $16, %r10
-@@ -532,12 +750,18 @@ LABEL(loop_ashr_4_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $4, -16(%rdi, %rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-       pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       jmp     LABEL(loop_ashr_4_use_sse4_2)
-@@ -547,10 +771,10 @@ LABEL(nibble_ashr_4_use_sse4_2):
-       movdqa  -16(%rdi, %rdx), %xmm0
-       psrldq  $4, %xmm0
-       pcmpistri      $0x3a,%xmm0, %xmm0
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       cmp     %r11, %rcx
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
--#endif
-+# endif
-       cmp     $11, %ecx
-       ja      LABEL(loop_ashr_4_use_sse4_2)
-@@ -559,7 +783,7 @@ LABEL(nibble_ashr_4_use_sse4_2):
- /*
-  * The following cases will be handled by ashr_5
-  *  rcx(offset of rsi)  rax(offset of rdi)        relative offset      corresponding case
-- *        n(11~15)          n - 11              4(15 +(n-11) - n)         ashr_5
-+ *        n(11~15)          n - 11              4(15 +(n-11) - n)         ashr_5
-  */
-       .p2align 4
- LABEL(ashr_5_sse4_2):
-@@ -568,6 +792,7 @@ LABEL(ashr_5_sse4_2):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pslldq  $11, %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2
-       psubb   %xmm0, %xmm2
-       pmovmskb %xmm2, %r9d
-@@ -599,12 +824,18 @@ LABEL(loop_ashr_5_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $5, -16(%rdi, %rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-       pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       add     $16, %r10
-@@ -613,12 +844,18 @@ LABEL(loop_ashr_5_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $5, -16(%rdi, %rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-       pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       jmp     LABEL(loop_ashr_5_use_sse4_2)
-@@ -628,10 +865,10 @@ LABEL(nibble_ashr_5_use_sse4_2):
-       movdqa  -16(%rdi, %rdx), %xmm0
-       psrldq  $5, %xmm0
-       pcmpistri      $0x3a,%xmm0, %xmm0
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       cmp     %r11, %rcx
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
--#endif
-+# endif
-       cmp     $10, %ecx
-       ja      LABEL(loop_ashr_5_use_sse4_2)
-@@ -640,7 +877,7 @@ LABEL(nibble_ashr_5_use_sse4_2):
- /*
-  * The following cases will be handled by ashr_6
-  *  rcx(offset of rsi)  rax(offset of rdi)        relative offset      corresponding case
-- *        n(10~15)          n - 10              5(15 +(n-10) - n)         ashr_6
-+ *        n(10~15)          n - 10              5(15 +(n-10) - n)         ashr_6
-  */
-       .p2align 4
- LABEL(ashr_6_sse4_2):
-@@ -649,6 +886,7 @@ LABEL(ashr_6_sse4_2):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pslldq  $10, %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2
-       psubb   %xmm0, %xmm2
-       pmovmskb %xmm2, %r9d
-@@ -680,12 +918,18 @@ LABEL(loop_ashr_6_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $6, -16(%rdi, %rdx), %xmm0
--      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-+      pcmpistri $0x1a,(%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       add     $16, %r10
-@@ -693,12 +937,18 @@ LABEL(loop_ashr_6_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $6, -16(%rdi, %rdx), %xmm0
--      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-+      pcmpistri $0x1a,(%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       jmp     LABEL(loop_ashr_6_use_sse4_2)
-@@ -708,10 +958,10 @@ LABEL(nibble_ashr_6_use_sse4_2):
-       movdqa  -16(%rdi, %rdx), %xmm0
-       psrldq  $6, %xmm0
-       pcmpistri      $0x3a,%xmm0, %xmm0
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       cmp     %r11, %rcx
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
--#endif
-+# endif
-       cmp     $9, %ecx
-       ja      LABEL(loop_ashr_6_use_sse4_2)
-@@ -720,7 +970,7 @@ LABEL(nibble_ashr_6_use_sse4_2):
- /*
-  * The following cases will be handled by ashr_7
-  *  rcx(offset of rsi)  rax(offset of rdi)        relative offset      corresponding case
-- *        n(9~15)          n - 9                      6(15 +(n - 9) - n)         ashr_7
-+ *        n(9~15)          n - 9                6(15 +(n - 9) - n)         ashr_7
-  */
-       .p2align 4
- LABEL(ashr_7_sse4_2):
-@@ -729,6 +979,7 @@ LABEL(ashr_7_sse4_2):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pslldq  $9, %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2
-       psubb   %xmm0, %xmm2
-       pmovmskb %xmm2, %r9d
-@@ -760,12 +1011,18 @@ LABEL(loop_ashr_7_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $7, -16(%rdi, %rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-       pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       add     $16, %r10
-@@ -773,12 +1030,18 @@ LABEL(loop_ashr_7_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $7, -16(%rdi, %rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-       pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       jmp     LABEL(loop_ashr_7_use_sse4_2)
-@@ -788,10 +1051,10 @@ LABEL(nibble_ashr_7_use_sse4_2):
-       movdqa  -16(%rdi, %rdx), %xmm0
-       psrldq  $7, %xmm0
-       pcmpistri      $0x3a,%xmm0, %xmm0
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       cmp     %r11, %rcx
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
--#endif
-+# endif
-       cmp     $8, %ecx
-       ja      LABEL(loop_ashr_7_use_sse4_2)
-@@ -800,7 +1063,7 @@ LABEL(nibble_ashr_7_use_sse4_2):
- /*
-  *  The following cases will be handled by ashr_8
-  *  rcx(offset of rsi)  rax(offset of rdi)        relative offset      corresponding case
-- *        n(8~15)          n - 8                      7(15 +(n - 8) - n)         ashr_8
-+ *        n(8~15)          n - 8                7(15 +(n - 8) - n)         ashr_8
-  */
-       .p2align 4
- LABEL(ashr_8_sse4_2):
-@@ -809,6 +1072,7 @@ LABEL(ashr_8_sse4_2):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pslldq  $8, %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2
-       psubb   %xmm0, %xmm2
-       pmovmskb %xmm2, %r9d
-@@ -840,12 +1104,18 @@ LABEL(loop_ashr_8_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $8, -16(%rdi, %rdx), %xmm0
--      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-+      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       add     $16, %r10
-@@ -853,12 +1123,18 @@ LABEL(loop_ashr_8_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $8, -16(%rdi, %rdx), %xmm0
--      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-+      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       jmp     LABEL(loop_ashr_8_use_sse4_2)
-@@ -868,10 +1144,10 @@ LABEL(nibble_ashr_8_use_sse4_2):
-       movdqa  -16(%rdi, %rdx), %xmm0
-       psrldq  $8, %xmm0
-       pcmpistri      $0x3a,%xmm0, %xmm0
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       cmp     %r11, %rcx
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
--#endif
-+# endif
-       cmp     $7, %ecx
-       ja      LABEL(loop_ashr_8_use_sse4_2)
-@@ -880,7 +1156,7 @@ LABEL(nibble_ashr_8_use_sse4_2):
- /*
-  *  The following cases will be handled by ashr_9
-  *  rcx(offset of rsi)  rax(offset of rdi)        relative offset      corresponding case
-- *        n(7~15)          n - 7                      8(15 +(n - 7) - n)         ashr_9
-+ *        n(7~15)          n - 7                8(15 +(n - 7) - n)         ashr_9
-  */
-       .p2align 4
- LABEL(ashr_9_sse4_2):
-@@ -889,6 +1165,7 @@ LABEL(ashr_9_sse4_2):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pslldq  $7, %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2
-       psubb   %xmm0, %xmm2
-       pmovmskb %xmm2, %r9d
-@@ -921,12 +1198,18 @@ LABEL(loop_ashr_9_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $9, -16(%rdi, %rdx), %xmm0
--      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-+      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       add     $16, %r10
-@@ -934,12 +1217,18 @@ LABEL(loop_ashr_9_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $9, -16(%rdi, %rdx), %xmm0
--      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-+      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       jmp     LABEL(loop_ashr_9_use_sse4_2)
-@@ -949,10 +1238,10 @@ LABEL(nibble_ashr_9_use_sse4_2):
-       movdqa  -16(%rdi, %rdx), %xmm0
-       psrldq  $9, %xmm0
-       pcmpistri      $0x3a,%xmm0, %xmm0
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       cmp     %r11, %rcx
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
--#endif
-+# endif
-       cmp     $6, %ecx
-       ja      LABEL(loop_ashr_9_use_sse4_2)
-@@ -961,7 +1250,7 @@ LABEL(nibble_ashr_9_use_sse4_2):
- /*
-  *  The following cases will be handled by ashr_10
-  *  rcx(offset of rsi)  rax(offset of rdi)        relative offset      corresponding case
-- *        n(6~15)          n - 6                      9(15 +(n - 6) - n)         ashr_10
-+ *        n(6~15)          n - 6                9(15 +(n - 6) - n)         ashr_10
-  */
-       .p2align 4
- LABEL(ashr_10_sse4_2):
-@@ -970,6 +1259,7 @@ LABEL(ashr_10_sse4_2):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pslldq  $6, %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2
-       psubb   %xmm0, %xmm2
-       pmovmskb %xmm2, %r9d
-@@ -1001,12 +1291,18 @@ LABEL(loop_ashr_10_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $10, -16(%rdi, %rdx), %xmm0
--      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-+      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       add     $16, %r10
-@@ -1014,12 +1310,18 @@ LABEL(loop_ashr_10_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $10, -16(%rdi, %rdx), %xmm0
--      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-+      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       jmp     LABEL(loop_ashr_10_use_sse4_2)
-@@ -1029,10 +1331,10 @@ LABEL(nibble_ashr_10_use_sse4_2):
-       movdqa  -16(%rdi, %rdx), %xmm0
-       psrldq  $10, %xmm0
-       pcmpistri      $0x3a,%xmm0, %xmm0
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       cmp     %r11, %rcx
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
--#endif
-+# endif
-       cmp     $5, %ecx
-       ja      LABEL(loop_ashr_10_use_sse4_2)
-@@ -1041,7 +1343,7 @@ LABEL(nibble_ashr_10_use_sse4_2):
- /*
-  *  The following cases will be handled by ashr_11
-  *  rcx(offset of rsi)  rax(offset of rdi)        relative offset      corresponding case
-- *        n(5~15)          n - 5                      10(15 +(n - 5) - n)         ashr_11
-+ *        n(5~15)          n - 5                10(15 +(n - 5) - n)         ashr_11
-  */
-       .p2align 4
- LABEL(ashr_11_sse4_2):
-@@ -1050,6 +1352,7 @@ LABEL(ashr_11_sse4_2):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pslldq  $5, %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2
-       psubb   %xmm0, %xmm2
-       pmovmskb %xmm2, %r9d
-@@ -1081,12 +1384,18 @@ LABEL(loop_ashr_11_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $11, -16(%rdi, %rdx), %xmm0
--      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-+      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       add     $16, %r10
-@@ -1094,12 +1403,18 @@ LABEL(loop_ashr_11_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $11, -16(%rdi, %rdx), %xmm0
--      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-+      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       jmp     LABEL(loop_ashr_11_use_sse4_2)
-@@ -1109,10 +1424,10 @@ LABEL(nibble_ashr_11_use_sse4_2):
-       movdqa  -16(%rdi, %rdx), %xmm0
-       psrldq  $11, %xmm0
-       pcmpistri      $0x3a,%xmm0, %xmm0
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       cmp     %r11, %rcx
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
--#endif
-+# endif
-       cmp     $4, %ecx
-       ja      LABEL(loop_ashr_11_use_sse4_2)
-@@ -1121,7 +1436,7 @@ LABEL(nibble_ashr_11_use_sse4_2):
- /*
-  *  The following cases will be handled by ashr_12
-  *  rcx(offset of rsi)  rax(offset of rdi)        relative offset      corresponding case
-- *        n(4~15)          n - 4                      11(15 +(n - 4) - n)         ashr_12
-+ *        n(4~15)          n - 4                11(15 +(n - 4) - n)         ashr_12
-  */
-       .p2align 4
- LABEL(ashr_12_sse4_2):
-@@ -1130,6 +1445,7 @@ LABEL(ashr_12_sse4_2):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pslldq  $4, %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2
-       psubb   %xmm0, %xmm2
-       pmovmskb %xmm2, %r9d
-@@ -1161,12 +1477,18 @@ LABEL(loop_ashr_12_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $12, -16(%rdi, %rdx), %xmm0
--      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-+      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       add     $16, %r10
-@@ -1174,12 +1496,18 @@ LABEL(loop_ashr_12_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $12, -16(%rdi, %rdx), %xmm0
--      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-+      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       jmp     LABEL(loop_ashr_12_use_sse4_2)
-@@ -1189,10 +1517,10 @@ LABEL(nibble_ashr_12_use_sse4_2):
-       movdqa  -16(%rdi, %rdx), %xmm0
-       psrldq  $12, %xmm0
-       pcmpistri      $0x3a,%xmm0, %xmm0
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       cmp     %r11, %rcx
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
--#endif
-+# endif
-       cmp     $3, %ecx
-       ja      LABEL(loop_ashr_12_use_sse4_2)
-@@ -1201,7 +1529,7 @@ LABEL(nibble_ashr_12_use_sse4_2):
- /*
-  *  The following cases will be handled by ashr_13
-  *  rcx(offset of rsi)  rax(offset of rdi)        relative offset      corresponding case
-- *        n(3~15)          n - 3                      12(15 +(n - 3) - n)         ashr_13
-+ *        n(3~15)          n - 3                12(15 +(n - 3) - n)         ashr_13
-  */
-       .p2align 4
- LABEL(ashr_13_sse4_2):
-@@ -1210,6 +1538,7 @@ LABEL(ashr_13_sse4_2):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pslldq  $3, %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2
-       psubb   %xmm0, %xmm2
-       pmovmskb %xmm2, %r9d
-@@ -1242,12 +1571,18 @@ LABEL(loop_ashr_13_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $13, -16(%rdi, %rdx), %xmm0
--      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-+      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       add     $16, %r10
-@@ -1255,12 +1590,18 @@ LABEL(loop_ashr_13_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $13, -16(%rdi, %rdx), %xmm0
--      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-+      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       jmp     LABEL(loop_ashr_13_use_sse4_2)
-@@ -1270,10 +1611,10 @@ LABEL(nibble_ashr_13_use_sse4_2):
-       movdqa  -16(%rdi, %rdx), %xmm0
-       psrldq  $13, %xmm0
-       pcmpistri      $0x3a,%xmm0, %xmm0
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       cmp     %r11, %rcx
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
--#endif
-+# endif
-       cmp     $2, %ecx
-       ja      LABEL(loop_ashr_13_use_sse4_2)
-@@ -1282,7 +1623,7 @@ LABEL(nibble_ashr_13_use_sse4_2):
- /*
-  *  The following cases will be handled by ashr_14
-  *  rcx(offset of rsi)  rax(offset of rdi)        relative offset      corresponding case
-- *        n(2~15)          n - 2                      13(15 +(n - 2) - n)         ashr_14
-+ *        n(2~15)          n - 2                13(15 +(n - 2) - n)         ashr_14
-  */
-       .p2align 4
- LABEL(ashr_14_sse4_2):
-@@ -1291,6 +1632,7 @@ LABEL(ashr_14_sse4_2):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pslldq  $2, %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2
-       psubb   %xmm0, %xmm2
-       pmovmskb %xmm2, %r9d
-@@ -1323,12 +1665,18 @@ LABEL(loop_ashr_14_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $14, -16(%rdi, %rdx), %xmm0
--      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-+      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       add     $16, %r10
-@@ -1336,12 +1684,18 @@ LABEL(loop_ashr_14_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $14, -16(%rdi, %rdx), %xmm0
--      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-+      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       jmp     LABEL(loop_ashr_14_use_sse4_2)
-@@ -1351,10 +1705,10 @@ LABEL(nibble_ashr_14_use_sse4_2):
-       movdqa  -16(%rdi, %rdx), %xmm0
-       psrldq  $14, %xmm0
-       pcmpistri      $0x3a,%xmm0, %xmm0
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       cmp     %r11, %rcx
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
--#endif
-+# endif
-       cmp     $1, %ecx
-       ja      LABEL(loop_ashr_14_use_sse4_2)
-@@ -1363,7 +1717,7 @@ LABEL(nibble_ashr_14_use_sse4_2):
- /*
-  *  The following cases will be handled by ashr_15
-  *  rcx(offset of rsi)  rax(offset of rdi)        relative offset      corresponding case
-- *        n(1~15)          n - 1                      14(15 +(n - 1) - n)         ashr_15
-+ *        n(1~15)          n - 1                14(15 +(n - 1) - n)         ashr_15
-  */
-       .p2align 4
- LABEL(ashr_15_sse4_2):
-@@ -1372,6 +1726,7 @@ LABEL(ashr_15_sse4_2):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pslldq  $1, %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2
-       psubb   %xmm0, %xmm2
-       pmovmskb %xmm2, %r9d
-@@ -1406,12 +1761,18 @@ LABEL(loop_ashr_15_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $15, -16(%rdi, %rdx), %xmm0
--      pcmpistri      $0x1a,(%rsi,%rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-+      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       add     $16, %r10
-@@ -1419,12 +1780,18 @@ LABEL(loop_ashr_15_use_sse4_2):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $15, -16(%rdi, %rdx), %xmm0
--      pcmpistri      $0x1a,(%rsi,%rdx), %xmm0
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-+      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       jbe     LABEL(use_sse4_2_exit)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     $16, %rdx
-       jmp     LABEL(loop_ashr_15_use_sse4_2)
-@@ -1434,22 +1801,28 @@ LABEL(nibble_ashr_15_use_sse4_2):
-       movdqa  -16(%rdi, %rdx), %xmm0
-       psrldq  $15, %xmm0
-       pcmpistri      $0x3a,%xmm0, %xmm0
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       cmp     %r11, %rcx
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
--#endif
-+# endif
-       cmp     $0, %ecx
-       ja      LABEL(loop_ashr_15_use_sse4_2)
- LABEL(nibble_ashr_use_sse4_2_exit):
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-       pcmpistri      $0x1a,(%rsi,%rdx), %xmm0
-+# else
-+      movdqa  (%rsi,%rdx), %xmm1
-+      TOLOWER (%xmm0, %xmm1)
-+      pcmpistri $0x1a, %xmm1, %xmm0
-+# endif
-       .p2align 4
- LABEL(use_sse4_2_exit):
-       jnc     LABEL(strcmp_exitz_sse4_2)
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     %rcx, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       add     %rcx, %rdx
-       lea     -16(%rdi, %r9), %rdi
-       movzbl  (%rdi, %rdx), %eax
-@@ -1458,6 +1831,12 @@ LABEL(use_sse4_2_exit):
-       jz      LABEL(use_sse4_2_ret_sse4_2)
-       xchg    %eax, %edx
- LABEL(use_sse4_2_ret_sse4_2):
-+# if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
-+      leaq    _nl_C_LC_CTYPE_tolower+128*4(%rip), %rcx
-+      movl    (%rcx,%rdx,4), %edx
-+      movl    (%rcx,%rax,4), %eax
-+# endif
-+
-       sub     %edx, %eax
-       ret
-@@ -1473,13 +1852,19 @@ LABEL(ret_sse4_2):
- LABEL(less16bytes_sse4_2):
-       bsf     %rdx, %rdx              /* find and store bit index in %rdx */
--#ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     %rdx, %r11
-       jbe     LABEL(strcmp_exitz_sse4_2)
--#endif
-+# endif
-       movzbl  (%rsi, %rdx), %ecx
-       movzbl  (%rdi, %rdx), %eax
-+# if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
-+      leaq    _nl_C_LC_CTYPE_tolower+128*4(%rip), %rdx
-+      movl    (%rdx,%rcx,4), %ecx
-+      movl    (%rdx,%rax,4), %eax
-+# endif
-+
-       sub     %ecx, %eax
-       ret
-@@ -1488,15 +1873,27 @@ LABEL(strcmp_exitz_sse4_2):
-       ret
-       .p2align 4
-+      // XXX Same as code above
- LABEL(Byte0_sse4_2):
-       movzx   (%rsi), %ecx
-       movzx   (%rdi), %eax
-+# if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
-+      leaq    _nl_C_LC_CTYPE_tolower+128*4(%rip), %rdx
-+      movl    (%rdx,%rcx,4), %ecx
-+      movl    (%rdx,%rax,4), %eax
-+# endif
-+
-       sub     %ecx, %eax
-       ret
-       cfi_endproc
-       .size   STRCMP_SSE42, .-STRCMP_SSE42
-+# undef UCLOW_reg
-+# undef UCHIGH_reg
-+# undef LCQWORD_reg
-+# undef TOLOWER
-+
-       /* Put all SSE 4.2 functions together.  */
-       .section .rodata.sse4.2,"a",@progbits
-       .p2align 3
-@@ -1528,6 +1925,27 @@ LABEL(unaligned_table_sse4_2):
- # undef END
- # define END(name) \
-       cfi_endproc; .size STRCMP_SSE2, .-STRCMP_SSE2
-+
-+# ifdef USE_AS_STRCASECMP_L
-+#  define ENTRY2(name) \
-+      .type __strcasecmp_sse2, @function; \
-+      .align 16; \
-+      __strcasecmp_sse2: cfi_startproc; \
-+      CALL_MCOUNT
-+#  define END2(name) \
-+      cfi_endproc; .size __strcasecmp_sse2, .-__strcasecmp_sse2
-+# endif
-+
-+# ifdef USE_AS_STRNCASECMP_L
-+#  define ENTRY2(name) \
-+      .type __strncasecmp_sse2, @function; \
-+      .align 16; \
-+      __strncasecmp_sse2: cfi_startproc; \
-+      CALL_MCOUNT
-+#  define END2(name) \
-+      cfi_endproc; .size __strncasecmp_sse2, .-__strncasecmp_sse2
-+# endif
-+
- # undef libc_hidden_builtin_def
- /* It doesn't make sense to send libc-internal strcmp calls through a PLT.
-    The speedup we get from using SSE4.2 instruction is likely eaten away
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strncase_l-ssse3.S
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strncase_l-ssse3.S
-@@ -0,0 +1,6 @@
-+#define USE_SSSE3 1
-+#define USE_AS_STRNCASECMP_L
-+#define NO_NOLOCALE_ALIAS
-+#define STRCMP __strncasecmp_l_ssse3
-+#define __strncasecmp __strncasecmp_ssse3
-+#include "../strcmp.S"
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strncase_l.S
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strncase_l.S
-@@ -0,0 +1,6 @@
-+#define STRCMP __strncasecmp_l
-+#define USE_AS_STRNCASECMP_L
-+#include "strcmp.S"
-+
-+weak_alias (__strncasecmp_l, strncasecmp_l)
-+libc_hidden_def (strncasecmp_l)
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strstr.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/multiarch/strstr.c
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strstr.c
-@@ -67,10 +67,10 @@
-    case               ECX     CFlag   ZFlag   SFlag
-     3          X        1       0       0/1
--    4a                 0        1       0       0
--    4b                 0        1       0       1
--    4c                0 < X     1       0       0/1
--    5         16        0       1       0
-+    4a                 0        1       0       0
-+    4b                 0        1       0       1
-+    4c                0 < X     1       0       0/1
-+    5         16        0       1       0
-    3. An initial ordered-comparison fragment match, we fix up to do
-       subsequent string comparison
-@@ -147,8 +147,7 @@ __m128i_shift_right (__m128i value, int 
-    If EOS occurs within less than 16B before 4KB boundary, we don't
-    cross to next page.  */
--static __m128i
--__attribute__ ((section (".text.sse4.2")))
-+static inline __m128i
- __m128i_strloadu (const unsigned char * p)
- {
-   int offset = ((size_t) p & (16 - 1));
-@@ -164,59 +163,36 @@ __m128i_strloadu (const unsigned char * 
-   return _mm_loadu_si128 ((__m128i *) p);
- }
--#ifdef USE_AS_STRCASESTR
-+#if defined USE_AS_STRCASESTR && !defined STRCASESTR_NONASCII
- /* Similar to __m128i_strloadu.  Convert to lower case for POSIX/C
-    locale.  */
--
--static __m128i
--__attribute__ ((section (".text.sse4.2")))
--__m128i_strloadu_tolower_posix (const unsigned char * p)
-+static inline __m128i
-+__m128i_strloadu_tolower (const unsigned char *p, __m128i rangeuc,
-+                        __m128i u2ldelta)
- {
-   __m128i frag = __m128i_strloadu (p);
--  /* Convert frag to lower case for POSIX/C locale.  */
--  __m128i rangeuc = _mm_set_epi64x (0x0, 0x5a41);
--  __m128i u2ldelta = _mm_set1_epi64x (0xe0e0e0e0e0e0e0e0);
--  __m128i mask1 = _mm_cmpistrm (rangeuc, frag, 0x44);
--  __m128i mask2 = _mm_blendv_epi8 (u2ldelta, frag, mask1);
--  mask2 = _mm_sub_epi8 (mask2, u2ldelta);
--  return  _mm_blendv_epi8 (frag, mask2, mask1);
-+#define UCLOW 0x4040404040404040ULL
-+#define UCHIGH 0x5b5b5b5b5b5b5b5bULL
-+#define LCQWORD 0x2020202020202020ULL
-+  /* Compare if 'Z' > bytes. Inverted way to get a mask for byte <= 'Z'.  */
-+  __m128i r2 = _mm_cmpgt_epi8 (_mm_set1_epi64x (UCHIGH), frag);
-+  /* Compare if bytes are > 'A' - 1.  */
-+  __m128i r1 = _mm_cmpgt_epi8 (frag, _mm_set1_epi64x (UCLOW));
-+  /* Mask byte == ff if byte(r2) <= 'Z' and byte(r1) > 'A' - 1.  */
-+  __m128i mask = _mm_and_si128 (r2, r1);
-+  /* Apply lowercase bit 6 mask for above mask bytes == ff.  */
-+  return _mm_or_si128 (frag, _mm_and_si128 (mask, _mm_set1_epi64x (LCQWORD)));
- }
--/* Similar to __m128i_strloadu.  Convert to lower case for none-POSIX/C
--   locale.  */
--
--static __m128i
--__attribute__ ((section (".text.sse4.2")))
--__m128i_strloadu_tolower (const unsigned char * p)
--{
--  union
--    {
--      char b[16];
--      __m128i x;
--    } u;
--
--  for (int i = 0; i < 16; i++)
--    if (p[i] == 0)
--      {
--      u.b[i] = 0;
--      break;
--      }
--    else
--      u.b[i] = tolower (p[i]);
--
--  return u.x;
--}
- #endif
- /* Calculate Knuth-Morris-Pratt string searching algorithm (or KMP
-    algorithm) overlap for a fully populated 16B vector.
-    Input parameter: 1st 16Byte loaded from the reference string of a
-                   strstr function.
--   We don't use KMP algorithm if reference string is less than 16B.
-- */
--
-+   We don't use KMP algorithm if reference string is less than 16B.  */
- static int
- __inline__ __attribute__ ((__always_inline__,))
- KMP16Bovrlap (__m128i s2)
-@@ -236,7 +212,7 @@ KMP16Bovrlap (__m128i s2)
-     return 1;
-   else if (!k1)
-     {
--      /* There are al least two ditinct char in s2.  If byte 0 and 1 are
-+      /* There are al least two distinct chars in s2.  If byte 0 and 1 are
-        idential and the distinct value lies farther down, we can deduce
-        the next byte offset to restart full compare is least no earlier
-        than byte 3.  */
-@@ -256,23 +232,30 @@ STRSTR_SSE42 (const unsigned char *s1, c
- #define p1 s1
-   const unsigned char *p2 = s2;
--  if (p2[0] == '\0')
-+#ifndef STRCASESTR_NONASCII
-+  if (__builtin_expect (p2[0] == '\0', 0))
-     return (char *) p1;
--  if (p1[0] == '\0')
-+  if (__builtin_expect (p1[0] == '\0', 0))
-     return NULL;
-   /* Check if p1 length is 1 byte long.  */
--  if (p1[1] == '\0')
-+  if (__builtin_expect (p1[1] == '\0', 0))
-     return p2[1] == '\0' && CMPBYTE (p1[0], p2[0]) ? (char *) p1 : NULL;
-+#endif
- #ifdef USE_AS_STRCASESTR
--  __m128i (*strloadu) (const unsigned char *);
--
--  if (_NL_CURRENT_WORD (LC_CTYPE, _NL_CTYPE_NONASCII_CASE) == 0)
--    strloadu = __m128i_strloadu_tolower_posix;
--  else
--    strloadu = __m128i_strloadu_tolower;
-+# ifndef STRCASESTR_NONASCII
-+  if (__builtin_expect (_NL_CURRENT_WORD (LC_CTYPE, _NL_CTYPE_NONASCII_CASE)
-+                      != 0, 0))
-+    return __strcasestr_sse42_nonascii (s1, s2);
-+
-+  const __m128i rangeuc = _mm_set_epi64x (0x0, 0x5a41);
-+  const __m128i u2ldelta = _mm_set1_epi64x (0xe0e0e0e0e0e0e0e0);
-+#  define strloadu(p) __m128i_strloadu_tolower (p, rangeuc, u2ldelta)
-+# else
-+#  define strloadu __m128i_strloadu_tolower
-+# endif
- #else
- # define strloadu __m128i_strloadu
- #endif
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strcasecmp.S
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strcasecmp.S
-@@ -0,0 +1 @@
-+/* In strcasecmp_l.S.  */
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strcasecmp_l-nonascii.c
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strcasecmp_l-nonascii.c
-@@ -0,0 +1,8 @@
-+#include <string.h>
-+
-+extern int __strcasecmp_l_nonascii (__const char *__s1, __const char *__s2,
-+                                  __locale_t __loc);
-+
-+#define __strcasecmp_l __strcasecmp_l_nonascii
-+#define USE_IN_EXTENDED_LOCALE_MODEL    1
-+#include <string/strcasecmp.c>
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strcasecmp_l.S
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strcasecmp_l.S
-@@ -0,0 +1,6 @@
-+#define STRCMP __strcasecmp_l
-+#define USE_AS_STRCASECMP_L
-+#include "strcmp.S"
-+
-+weak_alias (__strcasecmp_l, strcasecmp_l)
-+libc_hidden_def (strcasecmp_l)
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strcmp.S
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/strcmp.S
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strcmp.S
-@@ -51,6 +51,31 @@
-       je      LABEL(strcmp_exitz);                    \
-       mov     %r9, %r11
-+#elif defined USE_AS_STRCASECMP_L
-+# include "locale-defines.h"
-+
-+/* No support for strcasecmp outside libc so far since it is not needed.  */
-+# ifdef NOT_IN_lib
-+#  error "strcasecmp_l not implemented so far"
-+# endif
-+
-+# define UPDATE_STRNCMP_COUNTER
-+#elif defined USE_AS_STRNCASECMP_L
-+# include "locale-defines.h"
-+
-+/* No support for strncasecmp outside libc so far since it is not needed.  */
-+# ifdef NOT_IN_lib
-+#  error "strncasecmp_l not implemented so far"
-+# endif
-+
-+# define UPDATE_STRNCMP_COUNTER                               \
-+      /* calculate left number to compare */          \
-+      lea     -16(%rcx, %r11), %r9;                   \
-+      cmp     %r9, %r11;                              \
-+      jb      LABEL(strcmp_exitz);                    \
-+      test    %r9, %r9;                               \
-+      je      LABEL(strcmp_exitz);                    \
-+      mov     %r9, %r11
- #else
- # define UPDATE_STRNCMP_COUNTER
- # ifndef STRCMP
-@@ -64,6 +89,46 @@
-       .section .text.ssse3,"ax",@progbits
- #endif
-+#ifdef USE_AS_STRCASECMP_L
-+# ifndef ENTRY2
-+#  define ENTRY2(name) ENTRY (name)
-+#  define END2(name) END (name)
-+# endif
-+
-+ENTRY2 (__strcasecmp)
-+      movq    __libc_tsd_LOCALE@gottpoff(%rip),%rax
-+      movq    %fs:(%rax),%rdx
-+
-+      // XXX 5 byte should be before the function
-+      /* 5-byte NOP.  */
-+      .byte   0x0f,0x1f,0x44,0x00,0x00
-+END2 (__strcasecmp)
-+# ifndef NO_NOLOCALE_ALIAS
-+weak_alias (__strcasecmp, strcasecmp)
-+libc_hidden_def (__strcasecmp)
-+# endif
-+      /* FALLTHROUGH to strcasecmp_l.  */
-+#elif defined USE_AS_STRNCASECMP_L
-+# ifndef ENTRY2
-+#  define ENTRY2(name) ENTRY (name)
-+#  define END2(name) END (name)
-+# endif
-+
-+ENTRY2 (__strncasecmp)
-+      movq    __libc_tsd_LOCALE@gottpoff(%rip),%rax
-+      movq    %fs:(%rax),%rcx
-+
-+      // XXX 5 byte should be before the function
-+      /* 5-byte NOP.  */
-+      .byte   0x0f,0x1f,0x44,0x00,0x00
-+END2 (__strncasecmp)
-+# ifndef NO_NOLOCALE_ALIAS
-+weak_alias (__strncasecmp, strncasecmp)
-+libc_hidden_def (__strncasecmp)
-+# endif
-+      /* FALLTHROUGH to strncasecmp_l.  */
-+#endif
-+
- ENTRY (BP_SYM (STRCMP))
- #ifdef NOT_IN_libc
- /* Simple version since we can't use SSE registers in ld.so.  */
-@@ -84,10 +149,32 @@ L(neq):   movl    $1, %eax
-       ret
- END (BP_SYM (STRCMP))
- #else /* NOT_IN_libc */
-+# ifdef USE_AS_STRCASECMP_L
-+      /* We have to fall back on the C implementation for locales
-+         with encodings not matching ASCII for single bytes.  */
-+#  if LOCALE_T___LOCALES != 0 || LC_CTYPE != 0
-+      movq    LOCALE_T___LOCALES+LC_CTYPE*8(%rdx), %rax
-+#  else
-+      movq    (%rdx), %rax
-+#  endif
-+      testl   $0, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax)
-+      jne     __strcasecmp_l_nonascii
-+# elif defined USE_AS_STRNCASECMP_L
-+      /* We have to fall back on the C implementation for locales
-+         with encodings not matching ASCII for single bytes.  */
-+#  if LOCALE_T___LOCALES != 0 || LC_CTYPE != 0
-+      movq    LOCALE_T___LOCALES+LC_CTYPE*8(%rcx), %rax
-+#  else
-+      movq    (%rcx), %rax
-+#  endif
-+      testl   $0, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax)
-+      jne     __strncasecmp_l_nonascii
-+# endif
-+
- /*
-  * This implementation uses SSE to compare up to 16 bytes at a time.
-  */
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       test    %rdx, %rdx
-       je      LABEL(strcmp_exitz)
-       cmp     $1, %rdx
-@@ -99,6 +186,26 @@ END (BP_SYM (STRCMP))
- /* Use 64bit AND here to avoid long NOP padding.  */
-       and     $0x3f, %rcx             /* rsi alignment in cache line */
-       and     $0x3f, %rax             /* rdi alignment in cache line */
-+# if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
-+      .section .rodata.cst16,"aM",@progbits,16
-+      .align 16
-+.Lbelowupper:
-+      .quad   0x4040404040404040
-+      .quad   0x4040404040404040
-+.Ltopupper:
-+      .quad   0x5b5b5b5b5b5b5b5b
-+      .quad   0x5b5b5b5b5b5b5b5b
-+.Ltouppermask:
-+      .quad   0x2020202020202020
-+      .quad   0x2020202020202020
-+      .previous
-+      movdqa  .Lbelowupper(%rip), %xmm5
-+#  define UCLOW_reg %xmm5
-+      movdqa  .Ltopupper(%rip), %xmm6
-+#  define UCHIGH_reg %xmm6
-+      movdqa  .Ltouppermask(%rip), %xmm7
-+#  define LCQWORD_reg %xmm7
-+# endif
-       cmp     $0x30, %ecx
-       ja      LABEL(crosscache)       /* rsi: 16-byte load will cross cache line */
-       cmp     $0x30, %eax
-@@ -107,6 +214,26 @@ END (BP_SYM (STRCMP))
-       movlpd  (%rsi), %xmm2
-       movhpd  8(%rdi), %xmm1
-       movhpd  8(%rsi), %xmm2
-+# if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
-+#  define TOLOWER(reg1, reg2) \
-+      movdqa  reg1, %xmm8;                                    \
-+      movdqa  UCHIGH_reg, %xmm9;                              \
-+      movdqa  reg2, %xmm10;                                   \
-+      movdqa  UCHIGH_reg, %xmm11;                             \
-+      pcmpgtb UCLOW_reg, %xmm8;                               \
-+      pcmpgtb reg1, %xmm9;                                    \
-+      pcmpgtb UCLOW_reg, %xmm10;                              \
-+      pcmpgtb reg2, %xmm11;                                   \
-+      pand    %xmm9, %xmm8;                                   \
-+      pand    %xmm11, %xmm10;                                 \
-+      pand    LCQWORD_reg, %xmm8;                             \
-+      pand    LCQWORD_reg, %xmm10;                            \
-+      por     %xmm8, reg1;                                    \
-+      por     %xmm10, reg2
-+      TOLOWER (%xmm1, %xmm2)
-+# else
-+#  define TOLOWER(reg1, reg2)
-+# endif
-       pxor    %xmm0, %xmm0            /* clear %xmm0 for null char checks */
-       pcmpeqb %xmm1, %xmm0            /* Any null chars? */
-       pcmpeqb %xmm2, %xmm1            /* compare first 16 bytes for equality */
-@@ -114,7 +241,7 @@ END (BP_SYM (STRCMP))
-       pmovmskb %xmm1, %edx
-       sub     $0xffff, %edx           /* if first 16 bytes are same, edx == 0xffff */
-       jnz     LABEL(less16bytes)      /* If not, find different value or null char */
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)     /* finish comparision */
- # endif
-@@ -159,7 +286,13 @@ LABEL(ashr_0):
-       movdqa  (%rsi), %xmm1
-       pxor    %xmm0, %xmm0                    /* clear %xmm0 for null char check */
-       pcmpeqb %xmm1, %xmm0                    /* Any null chars? */
-+# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-       pcmpeqb (%rdi), %xmm1                   /* compare 16 bytes for equality */
-+# else
-+      movdqa  (%rdi), %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-+      pcmpeqb %xmm2, %xmm1                    /* compare 16 bytes for equality */
-+# endif
-       psubb   %xmm0, %xmm1                    /* packed sub of comparison results*/
-       pmovmskb %xmm1, %r9d
-       shr     %cl, %edx                       /* adjust 0xffff for offset */
-@@ -183,6 +316,7 @@ LABEL(ashr_0):
- LABEL(loop_ashr_0):
-       movdqa  (%rsi, %rcx), %xmm1
-       movdqa  (%rdi, %rcx), %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -191,13 +325,14 @@ LABEL(loop_ashr_0):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)             /* mismatch or null char seen */
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-       add     $16, %rcx
-       movdqa  (%rsi, %rcx), %xmm1
-       movdqa  (%rdi, %rcx), %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -205,7 +340,7 @@ LABEL(loop_ashr_0):
-       pmovmskb %xmm1, %edx
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -214,7 +349,7 @@ LABEL(loop_ashr_0):
- /*
-  * The following cases will be handled by ashr_1
-- * rcx(offset of rsi)  rax(offset of rdi)   relative offset           corresponding case
-+ * rcx(offset of rsi)  rax(offset of rdi)   relative offset   corresponding case
-  *        n(15)            n -15            0(15 +(n-15) - n)         ashr_1
-  */
-       .p2align 4
-@@ -224,6 +359,7 @@ LABEL(ashr_1):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0            /* Any null chars? */
-       pslldq  $15, %xmm2              /* shift first string to align with second */
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2            /* compare 16 bytes for equality */
-       psubb   %xmm0, %xmm2            /* packed sub of comparison results*/
-       pmovmskb %xmm2, %r9d
-@@ -263,6 +399,7 @@ LABEL(gobble_ashr_1):
- # else
-       palignr $1, %xmm3, %xmm2        /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -271,7 +408,7 @@ LABEL(gobble_ashr_1):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -292,6 +429,7 @@ LABEL(gobble_ashr_1):
- # else
-       palignr $1, %xmm3, %xmm2        /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -300,7 +438,7 @@ LABEL(gobble_ashr_1):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -319,8 +457,8 @@ LABEL(nibble_ashr_1):
-       test    $0xfffe, %edx
-       jnz     LABEL(ashr_1_exittail)  /* find null char*/
--# ifdef USE_AS_STRNCMP
--      cmp     $14, %r11
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-+      cmp     $15, %r11
-       jbe     LABEL(ashr_1_exittail)
- # endif
-@@ -351,6 +489,7 @@ LABEL(ashr_2):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pslldq  $14, %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2
-       psubb   %xmm0, %xmm2
-       pmovmskb %xmm2, %r9d
-@@ -390,6 +529,7 @@ LABEL(gobble_ashr_2):
- # else
-       palignr $2, %xmm3, %xmm2        /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -398,7 +538,7 @@ LABEL(gobble_ashr_2):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -420,6 +560,7 @@ LABEL(gobble_ashr_2):
- # else
-       palignr $2, %xmm3, %xmm2        /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -428,7 +569,7 @@ LABEL(gobble_ashr_2):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -444,8 +585,8 @@ LABEL(nibble_ashr_2):
-       test    $0xfffc, %edx
-       jnz     LABEL(ashr_2_exittail)
--# ifdef USE_AS_STRNCMP
--      cmp     $13, %r11
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-+      cmp     $14, %r11
-       jbe     LABEL(ashr_2_exittail)
- # endif
-@@ -472,6 +613,7 @@ LABEL(ashr_3):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pslldq  $13, %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2
-       psubb   %xmm0, %xmm2
-       pmovmskb %xmm2, %r9d
-@@ -512,6 +654,7 @@ LABEL(gobble_ashr_3):
- # else
-       palignr $3, %xmm3, %xmm2        /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -520,7 +663,7 @@ LABEL(gobble_ashr_3):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -542,6 +685,7 @@ LABEL(gobble_ashr_3):
- # else
-       palignr $3, %xmm3, %xmm2        /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -550,7 +694,7 @@ LABEL(gobble_ashr_3):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -566,8 +710,8 @@ LABEL(nibble_ashr_3):
-       test    $0xfff8, %edx
-       jnz     LABEL(ashr_3_exittail)
--# ifdef USE_AS_STRNCMP
--      cmp     $12, %r11
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-+      cmp     $13, %r11
-       jbe     LABEL(ashr_3_exittail)
- # endif
-@@ -594,6 +738,7 @@ LABEL(ashr_4):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pslldq  $12, %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2
-       psubb   %xmm0, %xmm2
-       pmovmskb %xmm2, %r9d
-@@ -634,6 +779,7 @@ LABEL(gobble_ashr_4):
- # else
-       palignr $4, %xmm3, %xmm2        /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -642,7 +788,7 @@ LABEL(gobble_ashr_4):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -664,6 +810,7 @@ LABEL(gobble_ashr_4):
- # else
-       palignr $4, %xmm3, %xmm2        /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -672,7 +819,7 @@ LABEL(gobble_ashr_4):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -688,8 +835,8 @@ LABEL(nibble_ashr_4):
-       test    $0xfff0, %edx
-       jnz     LABEL(ashr_4_exittail)
--# ifdef USE_AS_STRNCMP
--      cmp     $11, %r11
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-+      cmp     $12, %r11
-       jbe     LABEL(ashr_4_exittail)
- # endif
-@@ -716,6 +863,7 @@ LABEL(ashr_5):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pslldq  $11, %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2
-       psubb   %xmm0, %xmm2
-       pmovmskb %xmm2, %r9d
-@@ -756,6 +904,7 @@ LABEL(gobble_ashr_5):
- # else
-       palignr $5, %xmm3, %xmm2        /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -764,7 +913,7 @@ LABEL(gobble_ashr_5):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -786,6 +935,7 @@ LABEL(gobble_ashr_5):
- # else
-       palignr $5, %xmm3, %xmm2        /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -794,7 +944,7 @@ LABEL(gobble_ashr_5):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -810,8 +960,8 @@ LABEL(nibble_ashr_5):
-       test    $0xffe0, %edx
-       jnz     LABEL(ashr_5_exittail)
--# ifdef USE_AS_STRNCMP
--      cmp     $10, %r11
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-+      cmp     $11, %r11
-       jbe     LABEL(ashr_5_exittail)
- # endif
-@@ -838,6 +988,7 @@ LABEL(ashr_6):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pslldq  $10, %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2
-       psubb   %xmm0, %xmm2
-       pmovmskb %xmm2, %r9d
-@@ -878,6 +1029,7 @@ LABEL(gobble_ashr_6):
- # else
-       palignr $6, %xmm3, %xmm2        /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -886,7 +1038,7 @@ LABEL(gobble_ashr_6):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -908,6 +1060,7 @@ LABEL(gobble_ashr_6):
- # else
-       palignr $6, %xmm3, %xmm2        /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -916,7 +1069,7 @@ LABEL(gobble_ashr_6):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -932,8 +1085,8 @@ LABEL(nibble_ashr_6):
-       test    $0xffc0, %edx
-       jnz     LABEL(ashr_6_exittail)
--# ifdef USE_AS_STRNCMP
--      cmp     $9, %r11
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-+      cmp     $10, %r11
-       jbe     LABEL(ashr_6_exittail)
- # endif
-@@ -960,6 +1113,7 @@ LABEL(ashr_7):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pslldq  $9, %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2
-       psubb   %xmm0, %xmm2
-       pmovmskb %xmm2, %r9d
-@@ -1000,6 +1154,7 @@ LABEL(gobble_ashr_7):
- # else
-       palignr $7, %xmm3, %xmm2        /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -1008,7 +1163,7 @@ LABEL(gobble_ashr_7):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -1030,6 +1185,7 @@ LABEL(gobble_ashr_7):
- # else
-       palignr $7, %xmm3, %xmm2        /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -1038,7 +1194,7 @@ LABEL(gobble_ashr_7):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -1054,8 +1210,8 @@ LABEL(nibble_ashr_7):
-       test    $0xff80, %edx
-       jnz     LABEL(ashr_7_exittail)
--# ifdef USE_AS_STRNCMP
--      cmp     $8, %r11
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-+      cmp     $9, %r11
-       jbe     LABEL(ashr_7_exittail)
- # endif
-@@ -1082,6 +1238,7 @@ LABEL(ashr_8):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pslldq  $8, %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2
-       psubb   %xmm0, %xmm2
-       pmovmskb %xmm2, %r9d
-@@ -1122,6 +1279,7 @@ LABEL(gobble_ashr_8):
- # else
-       palignr $8, %xmm3, %xmm2        /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -1130,7 +1288,7 @@ LABEL(gobble_ashr_8):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -1152,6 +1310,7 @@ LABEL(gobble_ashr_8):
- # else
-       palignr $8, %xmm3, %xmm2        /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -1160,7 +1319,7 @@ LABEL(gobble_ashr_8):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -1176,8 +1335,8 @@ LABEL(nibble_ashr_8):
-       test    $0xff00, %edx
-       jnz     LABEL(ashr_8_exittail)
--# ifdef USE_AS_STRNCMP
--      cmp     $7, %r11
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-+      cmp     $8, %r11
-       jbe     LABEL(ashr_8_exittail)
- # endif
-@@ -1204,6 +1363,7 @@ LABEL(ashr_9):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pslldq  $7, %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2
-       psubb   %xmm0, %xmm2
-       pmovmskb %xmm2, %r9d
-@@ -1244,6 +1404,7 @@ LABEL(gobble_ashr_9):
- # else
-       palignr $9, %xmm3, %xmm2        /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -1252,7 +1413,7 @@ LABEL(gobble_ashr_9):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -1274,6 +1435,7 @@ LABEL(gobble_ashr_9):
- # else
-       palignr $9, %xmm3, %xmm2        /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -1282,7 +1444,7 @@ LABEL(gobble_ashr_9):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -1298,8 +1460,8 @@ LABEL(nibble_ashr_9):
-       test    $0xfe00, %edx
-       jnz     LABEL(ashr_9_exittail)
--# ifdef USE_AS_STRNCMP
--      cmp     $6, %r11
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-+      cmp     $7, %r11
-       jbe     LABEL(ashr_9_exittail)
- # endif
-@@ -1326,6 +1488,7 @@ LABEL(ashr_10):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pslldq  $6, %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2
-       psubb   %xmm0, %xmm2
-       pmovmskb %xmm2, %r9d
-@@ -1366,6 +1529,7 @@ LABEL(gobble_ashr_10):
- # else
-       palignr $10, %xmm3, %xmm2       /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -1374,7 +1538,7 @@ LABEL(gobble_ashr_10):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -1396,6 +1560,7 @@ LABEL(gobble_ashr_10):
- # else
-       palignr $10, %xmm3, %xmm2       /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -1404,7 +1569,7 @@ LABEL(gobble_ashr_10):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -1420,8 +1585,8 @@ LABEL(nibble_ashr_10):
-       test    $0xfc00, %edx
-       jnz     LABEL(ashr_10_exittail)
--# ifdef USE_AS_STRNCMP
--      cmp     $5, %r11
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-+      cmp     $6, %r11
-       jbe     LABEL(ashr_10_exittail)
- # endif
-@@ -1448,6 +1613,7 @@ LABEL(ashr_11):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pslldq  $5, %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2
-       psubb   %xmm0, %xmm2
-       pmovmskb %xmm2, %r9d
-@@ -1488,6 +1654,7 @@ LABEL(gobble_ashr_11):
- # else
-       palignr $11, %xmm3, %xmm2       /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -1496,7 +1663,7 @@ LABEL(gobble_ashr_11):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -1518,6 +1685,7 @@ LABEL(gobble_ashr_11):
- # else
-       palignr $11, %xmm3, %xmm2       /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -1526,7 +1694,7 @@ LABEL(gobble_ashr_11):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -1542,8 +1710,8 @@ LABEL(nibble_ashr_11):
-       test    $0xf800, %edx
-       jnz     LABEL(ashr_11_exittail)
--# ifdef USE_AS_STRNCMP
--      cmp     $4, %r11
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-+      cmp     $5, %r11
-       jbe     LABEL(ashr_11_exittail)
- # endif
-@@ -1570,6 +1738,7 @@ LABEL(ashr_12):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pslldq  $4, %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2
-       psubb   %xmm0, %xmm2
-       pmovmskb %xmm2, %r9d
-@@ -1610,6 +1779,7 @@ LABEL(gobble_ashr_12):
- # else
-       palignr $12, %xmm3, %xmm2       /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -1618,7 +1788,7 @@ LABEL(gobble_ashr_12):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -1640,6 +1810,7 @@ LABEL(gobble_ashr_12):
- # else
-       palignr $12, %xmm3, %xmm2       /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -1648,7 +1819,7 @@ LABEL(gobble_ashr_12):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -1664,8 +1835,8 @@ LABEL(nibble_ashr_12):
-       test    $0xf000, %edx
-       jnz     LABEL(ashr_12_exittail)
--# ifdef USE_AS_STRNCMP
--      cmp     $3, %r11
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-+      cmp     $4, %r11
-       jbe     LABEL(ashr_12_exittail)
- # endif
-@@ -1692,6 +1863,7 @@ LABEL(ashr_13):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pslldq  $3, %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2
-       psubb   %xmm0, %xmm2
-       pmovmskb %xmm2, %r9d
-@@ -1732,6 +1904,7 @@ LABEL(gobble_ashr_13):
- # else
-       palignr $13, %xmm3, %xmm2       /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -1740,7 +1913,7 @@ LABEL(gobble_ashr_13):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -1762,6 +1935,7 @@ LABEL(gobble_ashr_13):
- # else
-       palignr $13, %xmm3, %xmm2       /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -1770,7 +1944,7 @@ LABEL(gobble_ashr_13):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -1786,8 +1960,8 @@ LABEL(nibble_ashr_13):
-       test    $0xe000, %edx
-       jnz     LABEL(ashr_13_exittail)
--# ifdef USE_AS_STRNCMP
--      cmp     $2, %r11
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-+      cmp     $3, %r11
-       jbe     LABEL(ashr_13_exittail)
- # endif
-@@ -1814,6 +1988,7 @@ LABEL(ashr_14):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pslldq  $2, %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2
-       psubb   %xmm0, %xmm2
-       pmovmskb %xmm2, %r9d
-@@ -1854,6 +2029,7 @@ LABEL(gobble_ashr_14):
- # else
-       palignr $14, %xmm3, %xmm2       /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -1862,7 +2038,7 @@ LABEL(gobble_ashr_14):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -1884,6 +2060,7 @@ LABEL(gobble_ashr_14):
- # else
-       palignr $14, %xmm3, %xmm2       /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -1892,7 +2069,7 @@ LABEL(gobble_ashr_14):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP | defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -1908,8 +2085,8 @@ LABEL(nibble_ashr_14):
-       test    $0xc000, %edx
-       jnz     LABEL(ashr_14_exittail)
--# ifdef USE_AS_STRNCMP
--      cmp     $1, %r11
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-+      cmp     $2, %r11
-       jbe     LABEL(ashr_14_exittail)
- # endif
-@@ -1936,6 +2113,7 @@ LABEL(ashr_15):
-       movdqa  (%rsi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pslldq  $1, %xmm2
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm2
-       psubb   %xmm0, %xmm2
-       pmovmskb %xmm2, %r9d
-@@ -1978,6 +2156,7 @@ LABEL(gobble_ashr_15):
- # else
-       palignr $15, %xmm3, %xmm2       /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -1986,7 +2165,7 @@ LABEL(gobble_ashr_15):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -2008,6 +2187,7 @@ LABEL(gobble_ashr_15):
- # else
-       palignr $15, %xmm3, %xmm2       /* merge into one 16byte value */
- # endif
-+      TOLOWER (%xmm1, %xmm2)
-       pcmpeqb %xmm1, %xmm0
-       pcmpeqb %xmm2, %xmm1
-@@ -2016,7 +2196,7 @@ LABEL(gobble_ashr_15):
-       sub     $0xffff, %edx
-       jnz     LABEL(exit)
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     $16, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-@@ -2032,9 +2212,9 @@ LABEL(nibble_ashr_15):
-       test    $0x8000, %edx
-       jnz     LABEL(ashr_15_exittail)
--# ifdef USE_AS_STRNCMP
--      test    %r11, %r11
--      je      LABEL(ashr_15_exittail)
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-+      cmpq    $1, %r11
-+      jbe     LABEL(ashr_15_exittail)
- # endif
-       pxor    %xmm0, %xmm0
-@@ -2049,6 +2229,7 @@ LABEL(ashr_15_exittail):
-       .p2align 4
- LABEL(aftertail):
-+      TOLOWER (%xmm1, %xmm3)
-       pcmpeqb %xmm3, %xmm1
-       psubb   %xmm0, %xmm1
-       pmovmskb %xmm1, %edx
-@@ -2069,13 +2250,19 @@ LABEL(ret):
- LABEL(less16bytes):
-       bsf     %rdx, %rdx              /* find and store bit index in %rdx */
--# ifdef USE_AS_STRNCMP
-+# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
-       sub     %rdx, %r11
-       jbe     LABEL(strcmp_exitz)
- # endif
-       movzbl  (%rsi, %rdx), %ecx
-       movzbl  (%rdi, %rdx), %eax
-+# if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
-+      leaq    _nl_C_LC_CTYPE_tolower+128*4(%rip), %rdx
-+      movl    (%rdx,%rcx,4), %ecx
-+      movl    (%rdx,%rax,4), %eax
-+# endif
-+
-       sub     %ecx, %eax
-       ret
-@@ -2088,6 +2275,12 @@ LABEL(Byte0):
-       movzx   (%rsi), %ecx
-       movzx   (%rdi), %eax
-+# if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
-+      leaq    _nl_C_LC_CTYPE_tolower+128*4(%rip), %rdx
-+      movl    (%rdx,%rcx,4), %ecx
-+      movl    (%rdx,%rax,4), %eax
-+# endif
-+
-       sub     %ecx, %eax
-       ret
- END (BP_SYM (STRCMP))
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strncase.S
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strncase.S
-@@ -0,0 +1 @@
-+/* In strncase_l.S.  */
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strncase_l-nonascii.c
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strncase_l-nonascii.c
-@@ -0,0 +1,8 @@
-+#include <string.h>
-+
-+extern int __strncasecmp_l_nonascii (__const char *__s1, __const char *__s2,
-+                                   size_t __n, __locale_t __loc);
-+
-+#define __strncasecmp_l __strncasecmp_l_nonascii
-+#define USE_IN_EXTENDED_LOCALE_MODEL    1
-+#include <string/strncase.c>
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strncase_l.S
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strncase_l.S
-@@ -0,0 +1,6 @@
-+#define STRCMP __strncasecmp_l
-+#define USE_AS_STRNCASECMP_L
-+#include "strcmp.S"
-+
-+weak_alias (__strncasecmp_l, strncasecmp_l)
-+libc_hidden_def (strncasecmp_l)
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strnlen.S
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strnlen.S
-@@ -0,0 +1,64 @@
-+/* strnlen(str,maxlen) -- determine the length of the string STR up to MAXLEN.
-+   Copyright (C) 2010 Free Software Foundation, Inc.
-+   Contributed by Ulrich Drepper <drepper@redhat.com>.
-+   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>
-+
-+
-+      .text
-+ENTRY(__strnlen)
-+      movq    %rsi, %rax
-+      testq   %rsi, %rsi
-+      jz      3f
-+      pxor    %xmm2, %xmm2
-+      movq    %rdi, %rcx
-+      movq    %rdi, %r8
-+      movq    $16, %r9
-+      andq    $~15, %rdi
-+      movdqa  %xmm2, %xmm1
-+      pcmpeqb (%rdi), %xmm2
-+      orl     $0xffffffff, %r10d
-+      subq    %rdi, %rcx
-+      shll    %cl, %r10d
-+      subq    %rcx, %r9
-+      pmovmskb %xmm2, %edx
-+      andl    %r10d, %edx
-+      jnz     1f
-+      subq    %r9, %rsi
-+      jbe     3f
-+
-+2:    movdqa  16(%rdi), %xmm0
-+      leaq    16(%rdi), %rdi
-+      pcmpeqb %xmm1, %xmm0
-+      pmovmskb %xmm0, %edx
-+      testl   %edx, %edx
-+      jnz     1f
-+      subq    $16, %rsi
-+      jnbe    2b
-+3:    ret
-+
-+1:    subq    %r8, %rdi
-+      bsfl    %edx, %edx
-+      addq    %rdi, %rdx
-+      cmpq    %rdx, %rax
-+      cmovnbq %rdx, %rax
-+      ret
-+END(__strnlen)
-+weak_alias (__strnlen, strnlen)
-+libc_hidden_def (strnlen)
-Index: glibc-2.12-2-gc4ccff1/wcsmbs/wcsatcliff.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/wcsmbs/wcsatcliff.c
-+++ glibc-2.12-2-gc4ccff1/wcsmbs/wcsatcliff.c
-@@ -16,6 +16,8 @@
- #define MEMCPY wmemcpy
- #define MEMPCPY wmempcpy
- #define MEMCHR wmemchr
-+#define STRCMP wcscmp
-+#define STRNCMP wcsncmp
- #include "../string/stratcliff.c"
diff --git a/src/patches/glibc/glibc-rh607010.patch b/src/patches/glibc/glibc-rh607010.patch
deleted file mode 100644 (file)
index 6952dad..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-2010-09-07  H.J. Lu  <hongjiu.lu@intel.com>
-
-       * sysdeps/x86_64/cacheinfo.c (init_cacheinfo): Round cache sizes
-       up to multiple of 256 bytes.
-
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/cacheinfo.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/cacheinfo.c
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/cacheinfo.c
-@@ -661,12 +661,16 @@ init_cacheinfo (void)
-   if (data > 0)
-     {
-+      /* Round data cache size up to multiple of 256 bytes.  */
-+      data = (data + 255) & ~255L;
-       __x86_64_data_cache_size_half = data / 2;
-       __x86_64_data_cache_size = data;
-     }
-   if (shared > 0)
-     {
-+      /* Round shared cache size up to multiple of 256 bytes.  */
-+      shared = (shared + 255) & ~255L;
-       __x86_64_shared_cache_size_half = shared / 2;
-       __x86_64_shared_cache_size = shared;
-     }
diff --git a/src/patches/glibc/glibc-rh607461.patch b/src/patches/glibc/glibc-rh607461.patch
deleted file mode 100644 (file)
index 79fc72c..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-Index: glibc-2.12-2-gc4ccff1/nptl/allocatestack.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nptl/allocatestack.c
-+++ glibc-2.12-2-gc4ccff1/nptl/allocatestack.c
-@@ -994,7 +994,16 @@ setxid_mark_thread (struct xid_command *
-       /* If the thread is exiting right now, ignore it.  */
-       if ((ch & EXITING_BITMASK) != 0)
--      return;
-+      {
-+        /* Release the futex if there is no other setxid in
-+           progress.  */
-+        if ((ch & SETXID_BITMASK) == 0)
-+          {
-+            t->setxid_futex = 1;
-+            lll_futex_wake (&t->setxid_futex, 1, LLL_PRIVATE);
-+          }
-+        return;
-+      }
-     }
-   while (atomic_compare_and_exchange_bool_acq (&t->cancelhandling,
-                                              ch | SETXID_BITMASK, ch));
diff --git a/src/patches/glibc/glibc-rh615090.patch b/src/patches/glibc/glibc-rh615090.patch
deleted file mode 100644 (file)
index e6c00f0..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-2010-07-27  Andreas Schwab  <schwab@redhat.com>
-
-       * manual/memory.texi (Malloc Tunable Parameters): Document
-       M_PERTURB.
-
-Index: glibc-2.12-2-gc4ccff1/manual/memory.texi
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/manual/memory.texi
-+++ glibc-2.12-2-gc4ccff1/manual/memory.texi
-@@ -702,6 +702,11 @@ be allocated via @code{mmap}.
- @item M_MMAP_MAX
- The maximum number of chunks to allocate with @code{mmap}.  Setting this
- to zero disables all use of @code{mmap}.
-+@item M_PERTURB
-+If non-zero, memory blocks are filled with values depending on some
-+low order bits of this parameter when they are allocated (except when
-+allocated by @code{calloc}) and freed.  This can be used to debug the
-+use of uninitialized or freed heap memory.
- @end table
- @end deftypefun
diff --git a/src/patches/glibc/glibc-rh615701.patch b/src/patches/glibc/glibc-rh615701.patch
deleted file mode 100644 (file)
index 283e3fe..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-2010-07-20  Roland McGrath  <roland@redhat.com>
-
-       * elf/dl-sysdep.c (_dl_important_hwcaps): Add dsocaps mask to
-       dl_hwcap_mask as well as dl_hwcap.  Without this, dsocaps matching in
-       ld.so.cache was broken.  With it, there is no way to disable dsocaps
-       like LD_HWCAP_MASK can disable hwcaps.
-
-Index: glibc-2.12-2-gc4ccff1/elf/dl-sysdep.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/dl-sysdep.c
-+++ glibc-2.12-2-gc4ccff1/elf/dl-sysdep.c
-@@ -425,6 +425,11 @@ _dl_important_hwcaps (const char *platfo
-     {
-       const ElfW(Word) mask = ((const ElfW(Word) *) dsocaps)[-1];
-       GLRO(dl_hwcap) |= (uint64_t) mask << _DL_FIRST_EXTRA;
-+      /* Note that we add the dsocaps to the set already chosen by the
-+       LD_HWCAP_MASK environment variable (or default HWCAP_IMPORTANT).
-+       So there is no way to request ignoring an OS-supplied dsocap
-+       string and bit like you can ignore an OS-supplied HWCAP bit.  */
-+      GLRO(dl_hwcap_mask) |= (uint64_t) mask << _DL_FIRST_EXTRA;
-       size_t len;
-       for (const char *p = dsocaps; p < dsocaps + dsocapslen; p += len + 1)
-       {
diff --git a/src/patches/glibc/glibc-rh621959.patch b/src/patches/glibc/glibc-rh621959.patch
deleted file mode 100644 (file)
index 315521f..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-2010-08-06  Ulrich Drepper  <drepper@redhat.com>
-
-       * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid):
-       Also fail if tpwd after pwuid call is NULL.
-
-2010-06-21  Andreas Schwab <schwab@redhat.com>
-
-       * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid):
-       Restore proper fallback handling.
-
-2010-06-19  Ulrich Drepper  <drepper@redhat.com>
-
-       * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): Handle
-       OOM in getpwuid_r correctly.  Return error number when the caller
-       should return, otherwise -1.
-       (getlogin_r): Adjust to return also for result of __getlogin_r_loginuid
-       call returning > 0 value.
-       * sysdeps/unix/sysv/linux/getlogin.c (getlogin): Likewise.
-
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/getlogin.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/getlogin.c
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/getlogin.c
-@@ -32,8 +32,9 @@
- char *
- getlogin (void)
- {
--  if (__getlogin_r_loginuid (name, sizeof (name)) == 0)
--    return name;
-+  int res = __getlogin_r_loginuid (name, sizeof (name));
-+  if (res >= 0)
-+    return res == 0 ? name : NULL;
-   return getlogin_fd0 ();
- }
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/getlogin_r.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/getlogin_r.c
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/getlogin_r.c
-@@ -27,6 +27,10 @@ static int getlogin_r_fd0 (char *name, s
- #undef getlogin_r
-+/* Try to determine login name from /proc/self/loginuid and return 0
-+   if successful.  If /proc/self/loginuid cannot be read return -1.
-+   Otherwise return the error number.  */
-+
- int
- attribute_hidden
- __getlogin_r_loginuid (name, namesize)
-@@ -35,7 +39,7 @@ __getlogin_r_loginuid (name, namesize)
- {
-   int fd = open_not_cancel_2 ("/proc/self/loginuid", O_RDONLY);
-   if (fd == -1)
--    return 1;
-+    return -1;
-   /* We are reading a 32-bit number.  12 bytes are enough for the text
-      representation.  If not, something is wrong.  */
-@@ -51,37 +55,38 @@ __getlogin_r_loginuid (name, namesize)
-       || (uidbuf[n] = '\0',
-         uid = strtoul (uidbuf, &endp, 10),
-         endp == uidbuf || *endp != '\0'))
--    return 1;
-+    return -1;
-   size_t buflen = 1024;
-   char *buf = alloca (buflen);
-   bool use_malloc = false;
-   struct passwd pwd;
-   struct passwd *tpwd;
-+  int result = 0;
-   int res;
--  while ((res = __getpwuid_r (uid, &pwd, buf, buflen, &tpwd)) != 0)
-+  while ((res = __getpwuid_r (uid, &pwd, buf, buflen, &tpwd)) == ERANGE)
-     if (__libc_use_alloca (2 * buflen))
--      extend_alloca (buf, buflen, 2 * buflen);
-+      buf = extend_alloca (buf, buflen, 2 * buflen);
-     else
-       {
-       buflen *= 2;
-       char *newp = realloc (use_malloc ? buf : NULL, buflen);
-       if (newp == NULL)
-         {
--        fail:
--          if (use_malloc)
--            free (buf);
--          return 1;
-+          result = ENOMEM;
-+          goto out;
-         }
-       buf = newp;
-       use_malloc = true;
-       }
--  if (tpwd == NULL)
--    goto fail;
-+  if (res != 0 || tpwd == NULL)
-+    {
-+      result = -1;
-+      goto out;
-+    }
--  int result = 0;
-   size_t needed = strlen (pwd.pw_name) + 1;
-   if (needed > namesize)
-     {
-@@ -109,8 +114,9 @@ getlogin_r (name, namesize)
-      char *name;
-      size_t namesize;
- {
--  if (__getlogin_r_loginuid (name, namesize) == 0)
--    return 0;
-+  int res = __getlogin_r_loginuid (name, namesize);
-+  if (res >= 0)
-+    return res;
-   return getlogin_r_fd0 (name, namesize);
- }
diff --git a/src/patches/glibc/glibc-rh623187.patch b/src/patches/glibc/glibc-rh623187.patch
deleted file mode 100644 (file)
index 596fdd6..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-2010-08-10  Dinakar Guniguntala  <dino@in.ibm.com>
-           Stefan Hajnoczi  <stefanha@linux.vnet.ibm.com>
-
-       * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S: If
-       FUTEX_WAKE_OP fails make sure to call FUTEX_WAKE instead.
-
-Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
-+++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
-@@ -163,7 +163,6 @@ __pthread_cond_signal:
- #endif
-       orl     $FUTEX_WAKE, %ecx
--      xorl    $(FUTEX_WAKE ^ FUTEX_WAKE_OP), %ecx
-       movl    $SYS_futex, %eax
-       /* %edx should be 1 already from $FUTEX_WAKE_OP syscall.
-       movl    $1, %edx  */
diff --git a/src/patches/glibc/glibc-rh625893.patch b/src/patches/glibc/glibc-rh625893.patch
deleted file mode 100644 (file)
index 5337a42..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-2010-08-12  Andreas Schwab  <schwab@redhat.com>
-
-       [BZ #11904]
-       * locale/programs/locale.c (print_assignment): New function.
-       (show_locale_vars): Use it.
-
-Index: glibc-2.12-2-gc4ccff1/locale/programs/locale.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/locale/programs/locale.c
-+++ glibc-2.12-2-gc4ccff1/locale/programs/locale.c
-@@ -762,6 +762,29 @@ write_charmaps (void)
-   twalk (all_data, print_names);
- }
-+/* Print a properly quoted assignment of NAME with VAL, using double
-+   quotes iff DQUOTE is true.  */
-+static void
-+print_assignment (const char *name, const char *val, bool dquote)
-+{
-+  printf ("%s=", name);
-+  if (dquote)
-+    putchar ('"');
-+  while (*val != '\0')
-+    {
-+      size_t segment
-+      = strcspn (val, dquote ? "$`\"\\" : "~|&;<>()$`\\\"' \t\n");
-+      printf ("%.*s", (int) segment, val);
-+      val += segment;
-+      if (*val == '\0')
-+      break;
-+      putchar ('\\');
-+      putchar (*val++);
-+    }
-+  if (dquote)
-+    putchar ('"');
-+  putchar ('\n');
-+}
- /* We have to show the contents of the environments determining the
-    locale.  */
-@@ -769,7 +792,7 @@ static void
- show_locale_vars (void)
- {
-   size_t cat_no;
--  const char *lcall = getenv ("LC_ALL");
-+  const char *lcall = getenv ("LC_ALL") ? : "";
-   const char *lang = getenv ("LANG") ? : "";
-   auto void get_source (const char *name);
-@@ -778,15 +801,15 @@ show_locale_vars (void)
-     {
-       char *val = getenv (name);
--      if ((lcall ?: "")[0] != '\0' || val == NULL)
--      printf ("%s=\"%s\"\n", name,
--              (lcall ?: "")[0] ? lcall : (lang ?: "")[0] ? lang : "POSIX");
-+      if (lcall[0] != '\0' || val == NULL)
-+      print_assignment (name, lcall[0] ? lcall : lang[0] ? lang : "POSIX",
-+                        true);
-       else
--      printf ("%s=%s\n", name, val);
-+      print_assignment (name, val, false);
-     }
-   /* LANG has to be the first value.  */
--  printf ("LANG=%s\n", lang);
-+  print_assignment ("LANG", lang, false);
-   /* Now all categories in an unspecified order.  */
-   for (cat_no = 0; cat_no < NCATEGORIES; ++cat_no)
-@@ -794,7 +817,7 @@ show_locale_vars (void)
-       get_source (category[cat_no].name);
-   /* The last is the LC_ALL value.  */
--  printf ("LC_ALL=%s\n", lcall ? : "");
-+  print_assignment ("LC_ALL", lcall, false);
- }
diff --git a/src/patches/glibc/glibc-rh629823-2.patch b/src/patches/glibc/glibc-rh629823-2.patch
deleted file mode 100644 (file)
index d3e4f45..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-commit 50fd745b4dec07e8e213cf2703b5cabcfa128225
-Author: Andreas Schwab <schwab@suse.de>
-Date:   Mon Jun 10 14:39:09 2013 +0200
-
-    Fix handling of netgroup cache in nscd
-
-diff --git a/nscd/connections.c b/nscd/connections.c
-index 7099215..69e3e7d 100644
---- a/nscd/connections.c
-+++ b/nscd/connections.c
-@@ -1779,7 +1779,7 @@ nscd_run_worker (void *p)
-       else
-       {
-         /* Get the key.  */
--        char keybuf[MAXKEYLEN];
-+        char keybuf[MAXKEYLEN + 1];
-         if (__builtin_expect (TEMP_FAILURE_RETRY (read (fd, keybuf,
-                                                         req.key_len))
-@@ -1791,6 +1791,7 @@ nscd_run_worker (void *p)
-                        strerror_r (errno, buf, sizeof (buf)));
-             goto close_and_out;
-           }
-+        keybuf[req.key_len] = '\0';
-         if (__builtin_expect (debug_level, 0) > 0)
-           {
-diff --git a/nscd/netgroupcache.c b/nscd/netgroupcache.c
-index 2d6c5aa..dd06ce4 100644
---- a/nscd/netgroupcache.c
-+++ b/nscd/netgroupcache.c
-@@ -192,18 +192,26 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req,
-                           const char *nuser = data.val.triple.user;
-                           const char *ndomain = data.val.triple.domain;
--                          if (data.val.triple.host > data.val.triple.user
--                              || data.val.triple.user > data.val.triple.domain)
-+                          if (nhost == NULL || nuser == NULL || ndomain == NULL
-+                              || nhost > nuser || nuser > ndomain)
-                             {
--                              const char *last = MAX (nhost,
--                                                      MAX (nuser, ndomain));
--                              size_t bufused = (last + strlen (last) + 1
--                                                - buffer);
-+                              const char *last = nhost;
-+                              if (last == NULL
-+                                  || (nuser != NULL && nuser > last))
-+                                last = nuser;
-+                              if (last == NULL
-+                                  || (ndomain != NULL && ndomain > last))
-+                                last = ndomain;
-+
-+                              size_t bufused
-+                                = (last == NULL
-+                                   ? buffilled
-+                                   : last + strlen (last) + 1 - buffer);
-                               /* We have to make temporary copies.  */
--                              size_t hostlen = strlen (nhost) + 1;
--                              size_t userlen = strlen (nuser) + 1;
--                              size_t domainlen = strlen (ndomain) + 1;
-+                              size_t hostlen = strlen (nhost ?: "") + 1;
-+                              size_t userlen = strlen (nuser ?: "") + 1;
-+                              size_t domainlen = strlen (ndomain ?: "") + 1;
-                               size_t needed = hostlen + userlen + domainlen;
-                               if (buflen - req->key_len - bufused < needed)
-@@ -226,11 +234,11 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req,
-                                 }
-                               nhost = memcpy (buffer + bufused,
--                                              nhost, hostlen);
-+                                              nhost ?: "", hostlen);
-                               nuser = memcpy ((char *) nhost + hostlen,
--                                              nuser, userlen);
-+                                              nuser ?: "", userlen);
-                               ndomain = memcpy ((char *) nuser + userlen,
--                                                ndomain, domainlen);
-+                                                ndomain ?: "", domainlen);
-                             }
-                           char *wp = buffer + buffilled;
-diff --git a/nscd/nscd_netgroup.c b/nscd/nscd_netgroup.c
-index cac4ebf..acb2c81 100644
---- a/nscd/nscd_netgroup.c
-+++ b/nscd/nscd_netgroup.c
-@@ -48,7 +48,7 @@ __nscd_setnetgrent (const char *group, struct __netgrent *datap)
- {
-   int gc_cycle;
-   int nretries = 0;
--  size_t group_len = strlen (group);
-+  size_t group_len = strlen (group) + 1;
-   /* If the mapping is available, try to search there instead of
-      communicating with the nscd.  */
diff --git a/src/patches/glibc/glibc-rh629823.patch b/src/patches/glibc/glibc-rh629823.patch
deleted file mode 100644 (file)
index 6315246..0000000
+++ /dev/null
@@ -1,1954 +0,0 @@
-diff -Nrup a/grp/initgroups.c b/grp/initgroups.c
---- a/grp/initgroups.c 2012-08-06 15:07:48.935060494 -0600
-+++ b/grp/initgroups.c 2012-08-23 14:19:49.370442142 -0600
-@@ -1,4 +1,4 @@
--/* Copyright (C) 1989,91,93,1996-2005,2006,2008 Free Software Foundation, Inc.
-+/* Copyright (C) 1989,91,93,1996-2006,2008,2010 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
-@@ -58,7 +58,8 @@ internal_getgrouplist (const char *user,
-   if (__nss_not_use_nscd_group > 0
-       && ++__nss_not_use_nscd_group > NSS_NSCD_RETRY)
-     __nss_not_use_nscd_group = 0;
--  if (!__nss_not_use_nscd_group)
-+  if (!__nss_not_use_nscd_group
-+      && !__nss_database_custom[NSS_DBSIDX_group])
-     {
-       int n = __nscd_getgrouplist (user, group, size, groupsp, limit);
-       if (n >= 0)
-diff -Nrup a/inet/getnetgrent_r.c b/inet/getnetgrent_r.c
---- a/inet/getnetgrent_r.c     2010-05-04 05:27:23.000000000 -0600
-+++ b/inet/getnetgrent_r.c     2012-08-06 15:10:05.865520055 -0600
-@@ -28,6 +28,7 @@
- #include "netgroup.h"
- #include "nsswitch.h"
- #include <sysdep.h>
-+#include <nscd/nscd_proto.h>
- /* Protect above variable against multiple uses at the same time.  */
-@@ -101,7 +102,7 @@ endnetgrent_hook (struct __netgrent *dat
- {
-   enum nss_status (*endfct) (struct __netgrent *);
--  if (datap->nip == NULL)
-+  if (datap->nip == NULL || datap->nip == (service_user *) -1l)
-     return;
-   endfct = __nss_lookup_function (datap->nip, "endnetgrent");
-@@ -189,8 +190,21 @@ setnetgrent (const char *group)
-   __libc_lock_lock (lock);
-+  if (__nss_not_use_nscd_netgroup > 0
-+      && ++__nss_not_use_nscd_netgroup > NSS_NSCD_RETRY)
-+    __nss_not_use_nscd_netgroup = 0;
-+
-+  if (!__nss_not_use_nscd_netgroup
-+      && !__nss_database_custom[NSS_DBSIDX_netgroup])
-+    {
-+      result = __nscd_setnetgrent (group, &dataset);
-+      if (result >= 0)
-+      goto out;
-+    }
-+
-   result = internal_setnetgrent (group, &dataset);
-+ out:
-   __libc_lock_unlock (lock);
-   return result;
-@@ -226,6 +240,26 @@ int internal_getnetgrent_r (char **hostp
-                           char *buffer, size_t buflen, int *errnop);
- libc_hidden_proto (internal_getnetgrent_r)
-+
-+static enum nss_status
-+nscd_getnetgrent (struct __netgrent *datap, char *buffer, size_t buflen,
-+                int *errnop)
-+{
-+  if (datap->cursor >= datap->data + datap->data_size)
-+    return NSS_STATUS_UNAVAIL;
-+
-+  datap->type = triple_val;
-+  datap->val.triple.host = datap->cursor;
-+  datap->cursor = (char *) __rawmemchr (datap->cursor, '\0') + 1;
-+  datap->val.triple.user = datap->cursor;
-+  datap->cursor = (char *) __rawmemchr (datap->cursor, '\0') + 1;
-+  datap->val.triple.domain = datap->cursor;
-+  datap->cursor = (char *) __rawmemchr (datap->cursor, '\0') + 1;
-+
-+  return NSS_STATUS_SUCCESS;
-+}
-+
-+
- int
- internal_getnetgrent_r (char **hostp, char **userp, char **domainp,
-                         struct __netgrent *datap,
-@@ -239,9 +273,18 @@ internal_getnetgrent_r (char **hostp, ch
-   /* Run through available functions, starting with the same function last
-      run.  We will repeat each function as long as it succeeds, and then go
-      on to the next service action.  */
--  int no_more = (datap->nip == NULL
--               || (fct = __nss_lookup_function (datap->nip, "getnetgrent_r"))
--                  == NULL);
-+  int no_more = datap->nip == NULL;
-+  if (! no_more)
-+    {
-+      if (datap->nip == (service_user *) -1l)
-+      fct = nscd_getnetgrent;
-+      else
-+      {
-+        fct = __nss_lookup_function (datap->nip, "getnetgrent_r");
-+        no_more = fct == NULL;
-+      }
-+    }
-+
-   while (! no_more)
-     {
-       status = (*fct) (datap, buffer, buflen, &errno);
-@@ -337,6 +380,18 @@ int
- innetgr (const char *netgroup, const char *host, const char *user,
-        const char *domain)
- {
-+  if (__nss_not_use_nscd_netgroup > 0
-+      && ++__nss_not_use_nscd_netgroup > NSS_NSCD_RETRY)
-+    __nss_not_use_nscd_netgroup = 0;
-+
-+  if (!__nss_not_use_nscd_netgroup
-+      && !__nss_database_custom[NSS_DBSIDX_netgroup])
-+    {
-+      int result = __nscd_innetgr (netgroup, host, user, domain);
-+      if (result >= 0)
-+      return result;
-+    }
-+
-   union
-   {
-     int (*f) (const char *, struct __netgrent *);
-@@ -444,7 +499,7 @@ innetgr (const char *netgroup, const cha
-         entry.needed_groups = tmp->next;
-         tmp->next = entry.known_groups;
-         entry.known_groups = tmp;
--        current_group = entry.known_groups->name;
-+        current_group = tmp->name;
-         continue;
-       }
-diff -Nrup a/nscd/Makefile b/nscd/Makefile
---- a/nscd/Makefile    2010-05-04 05:27:23.000000000 -0600
-+++ b/nscd/Makefile    2012-08-06 15:08:19.045941627 -0600
-@@ -22,7 +22,7 @@
- subdir        := nscd
- routines := nscd_getpw_r nscd_getgr_r nscd_gethst_r nscd_getai \
--          nscd_initgroups nscd_getserv_r
-+          nscd_initgroups nscd_getserv_r nscd_netgroup
- aux   := nscd_helper
- include ../Makeconfig
-@@ -34,7 +34,8 @@ nscd-modules := nscd connections pwdcach
-               getgrnam_r getgrgid_r hstcache gethstbyad_r gethstbynm3_r \
-               getsrvbynm_r getsrvbypt_r servicescache \
-               dbg_log nscd_conf nscd_stat cache mem nscd_setup_thread \
--              xmalloc xstrdup aicache initgrcache gai res_hconf
-+              xmalloc xstrdup aicache initgrcache gai res_hconf \
-+              netgroupcache
- ifeq ($(have-thread-library),yes)
-@@ -122,6 +123,7 @@ CFLAGS-servicescache.c += $(nscd-cflags)
- CFLAGS-getsrvbynm_r.c += $(nscd-cflags)
- CFLAGS-getsrvbypt_r.c += $(nscd-cflags)
- CFLAGS-res_hconf.c += $(nscd-cflags)
-+CFLAGS-netgroupcache.c += $(nscd-cflags)
- ifeq (yesyes,$(have-fpie)$(build-shared))
- relro-LDFLAGS += -Wl,-z,now
-diff -Nrup a/nscd/cache.c b/nscd/cache.c
---- a/nscd/cache.c     2012-08-06 15:07:48.973060344 -0600
-+++ b/nscd/cache.c     2012-08-06 15:08:19.046941626 -0600
-@@ -60,7 +60,9 @@ static time_t (*const readdfcts[LASTREQ]
-   [GETAI] = readdhstai,
-   [INITGROUPS] = readdinitgroups,
-   [GETSERVBYNAME] = readdservbyname,
--  [GETSERVBYPORT] = readdservbyport
-+  [GETSERVBYPORT] = readdservbyport,
-+  [GETNETGRENT] = readdgetnetgrent,
-+  [INNETGR] = readdinnetgr
- };
-@@ -70,7 +72,7 @@ static time_t (*const readdfcts[LASTREQ]
-    This function must be called with the read-lock held.  */
- struct datahead *
--cache_search (request_type type, void *key, size_t len,
-+cache_search (request_type type, const void *key, size_t len,
-             struct database_dyn *table, uid_t owner)
- {
-   unsigned long int hash = __nis_hash (key, len) % table->head->module;
-diff -Nrup a/nscd/connections.c b/nscd/connections.c
---- a/nscd/connections.c       2012-08-06 15:07:49.076059937 -0600
-+++ b/nscd/connections.c       2012-08-21 21:36:10.210358578 -0600
-@@ -57,11 +57,6 @@
- #endif
--/* Wrapper functions with error checking for standard functions.  */
--extern void *xmalloc (size_t n);
--extern void *xcalloc (size_t n, size_t s);
--extern void *xrealloc (void *o, size_t n);
--
- /* Support to run nscd as an unprivileged user */
- const char *server_user;
- static uid_t server_uid;
-@@ -100,7 +95,10 @@ const char *const serv2str[LASTREQ] =
-   [INITGROUPS] = "INITGROUPS",
-   [GETSERVBYNAME] = "GETSERVBYNAME",
-   [GETSERVBYPORT] = "GETSERVBYPORT",
--  [GETFDSERV] = "GETFDSERV"
-+  [GETFDSERV] = "GETFDSERV",
-+  [GETNETGRENT] = "GETNETGRENT",
-+  [INNETGR] = "INNETGR",
-+  [GETFDNETGR] = "GETFDNETGR"
- };
- /* The control data structures for the services.  */
-@@ -189,6 +187,27 @@ struct database_dyn dbs[lastdb] =
-     .wr_fd = -1,
-     .ro_fd = -1,
-     .mmap_used = false
-+  },
-+  [netgrdb] = {
-+    .lock = PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP,
-+    .prune_lock = PTHREAD_MUTEX_INITIALIZER,
-+    .prune_run_lock = PTHREAD_MUTEX_INITIALIZER,
-+    .enabled = 0,
-+    .check_file = 1,
-+    .persistent = 0,
-+    .propagate = 0,           /* Not used.  */
-+    .shared = 0,
-+    .max_db_size = DEFAULT_MAX_DB_SIZE,
-+    .suggested_module = DEFAULT_SUGGESTED_MODULE,
-+    .reset_res = 0,
-+    .filename = "/etc/netgroup",
-+    .db_filename = _PATH_NSCD_NETGROUP_DB,
-+    .disabled_iov = &netgroup_iov_disabled,
-+    .postimeout = 28800,
-+    .negtimeout = 20,
-+    .wr_fd = -1,
-+    .ro_fd = -1,
-+    .mmap_used = false
-   }
- };
-@@ -218,7 +237,10 @@ static struct
-   [INITGROUPS] = { true, &dbs[grpdb] },
-   [GETSERVBYNAME] = { true, &dbs[servdb] },
-   [GETSERVBYPORT] = { true, &dbs[servdb] },
--  [GETFDSERV] = { false, &dbs[servdb] }
-+  [GETFDSERV] = { false, &dbs[servdb] },
-+  [GETNETGRENT] = { true, &dbs[netgrdb] },
-+  [INNETGR] = { true, &dbs[netgrdb] },
-+  [GETFDNETGR] = { false, &dbs[netgrdb] }
- };
-@@ -366,7 +388,8 @@ check_use (const char *data, nscd_ssize_
- static int
- verify_persistent_db (void *mem, struct database_pers_head *readhead, int dbnr)
- {
--  assert (dbnr == pwddb || dbnr == grpdb || dbnr == hstdb || dbnr == servdb);
-+  assert (dbnr == pwddb || dbnr == grpdb || dbnr == hstdb || dbnr == servdb
-+        || dbnr == netgrdb);
-   time_t now = time (NULL);
-@@ -1241,6 +1264,14 @@ request from '%s' [%ld] not handled due
-       addservbyport (db, fd, req, key, uid);
-       break;
-+    case GETNETGRENT:
-+      addgetnetgrent (db, fd, req, key, uid);
-+      break;
-+
-+    case INNETGR:
-+      addinnetgr (db, fd, req, key, uid);
-+      break;
-+
-     case GETSTAT:
-     case SHUTDOWN:
-     case INVALIDATE:
-@@ -1287,6 +1318,7 @@ request from '%s' [%ld] not handled due
-     case GETFDGR:
-     case GETFDHST:
-     case GETFDSERV:
-+    case GETFDNETGR:
- #ifdef SCM_RIGHTS
-       send_ro_fd (reqinfo[req->type].db, key, fd);
- #endif
-diff -Nrup a/nscd/netgroupcache.c b/nscd/netgroupcache.c
---- a/nscd/netgroupcache.c     1969-12-31 17:00:00.000000000 -0700
-+++ b/nscd/netgroupcache.c     2012-08-24 11:38:05.118254176 -0600
-@@ -0,0 +1,667 @@
-+/* Cache handling for netgroup lookup.
-+   Copyright (C) 2011 Free Software Foundation, Inc.
-+   This file is part of the GNU C Library.
-+   Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-+
-+   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, 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 <alloca.h>
-+#include <assert.h>
-+#include <errno.h>
-+#include <libintl.h>
-+#include <stdbool.h>
-+#include <unistd.h>
-+#include <sys/mman.h>
-+
-+#include "../inet/netgroup.h"
-+#include "nscd.h"
-+#include "dbg_log.h"
-+#ifdef HAVE_SENDFILE
-+# include <kernel-features.h>
-+#endif
-+
-+
-+/* This is the standard reply in case the service is disabled.  */
-+static const netgroup_response_header disabled =
-+{
-+  .version = NSCD_VERSION,
-+  .found = -1,
-+  .nresults = 0,
-+  .result_len = 0
-+};
-+
-+/* This is the struct describing how to write this record.  */
-+const struct iovec netgroup_iov_disabled =
-+{
-+  .iov_base = (void *) &disabled,
-+  .iov_len = sizeof (disabled)
-+};
-+
-+
-+/* This is the standard reply in case we haven't found the dataset.  */
-+static const netgroup_response_header notfound =
-+{
-+  .version = NSCD_VERSION,
-+  .found = 0,
-+  .nresults = 0,
-+  .result_len = 0
-+};
-+
-+
-+struct dataset
-+{
-+  struct datahead head;
-+  netgroup_response_header resp;
-+  char strdata[0];
-+};
-+
-+
-+static time_t
-+addgetnetgrentX (struct database_dyn *db, int fd, request_header *req,
-+               const char *key, uid_t uid, struct hashentry *he,
-+               struct datahead *dh, struct dataset **resultp)
-+{
-+  if (__builtin_expect (debug_level > 0, 0))
-+    {
-+      if (he == NULL)
-+      dbg_log (_("Haven't found \"%s\" in netgroup cache!"), key);
-+      else
-+      dbg_log (_("Reloading \"%s\" in netgroup cache!"), key);
-+    }
-+
-+  static service_user *netgroup_database;
-+  time_t timeout;
-+  struct dataset *dataset;
-+  bool cacheable = false;
-+  ssize_t total;
-+
-+  char *key_copy = NULL;
-+  struct __netgrent data;
-+  size_t buflen = MAX (1024, sizeof (*dataset) + req->key_len);
-+  size_t buffilled = sizeof (*dataset);
-+  char *buffer = NULL;
-+  size_t nentries = 0;
-+  bool use_malloc = false;
-+  size_t group_len = strlen (key) + 1;
-+  union
-+  {
-+    struct name_list elem;
-+    char mem[sizeof (struct name_list) + group_len];
-+  } first_needed;
-+
-+  if (netgroup_database == NULL
-+      && __nss_database_lookup ("netgroup", NULL, NULL, &netgroup_database))
-+    {
-+      /* No such service.  */
-+      total = sizeof (notfound);
-+      timeout = time (NULL) + db->negtimeout;
-+
-+      if (fd != -1)
-+      TEMP_FAILURE_RETRY (send (fd, &notfound, total, MSG_NOSIGNAL));
-+
-+      dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len, 1);
-+      /* If we cannot permanently store the result, so be it.  */
-+      if (dataset != NULL)
-+      {
-+        dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
-+        dataset->head.recsize = total;
-+        dataset->head.notfound = true;
-+        dataset->head.nreloads = 0;
-+        dataset->head.usable = true;
-+
-+        /* Compute the timeout time.  */
-+        timeout = dataset->head.timeout = time (NULL) + db->negtimeout;
-+        dataset->head.ttl = db->negtimeout;
-+
-+        /* This is the reply.  */
-+        memcpy (&dataset->resp, &notfound, total);
-+
-+        /* Copy the key data.  */
-+        memcpy (dataset->strdata, key, req->key_len);
-+
-+        cacheable = true;
-+      }
-+
-+      goto writeout;
-+    }
-+
-+  memset (&data, '\0', sizeof (data));
-+  buffer = alloca (buflen);
-+  first_needed.elem.next = &first_needed.elem;
-+  memcpy (first_needed.elem.name, key, group_len);
-+  data.needed_groups = &first_needed.elem;
-+
-+  while (data.needed_groups != NULL)
-+    {
-+      /* Add the next group to the list of those which are known.  */
-+      struct name_list *this_group = data.needed_groups->next;
-+      if (this_group == data.needed_groups)
-+      data.needed_groups = NULL;
-+      else
-+      data.needed_groups->next = this_group->next;
-+      this_group->next = data.known_groups;
-+      data.known_groups = this_group;
-+
-+      union
-+      {
-+      enum nss_status (*f) (const char *, struct __netgrent *);
-+      void *ptr;
-+      } setfct;
-+
-+      service_user *nip = netgroup_database;
-+      int no_more = __nss_lookup (&nip, "setnetgrent", NULL, &setfct.ptr);
-+      while (!no_more)
-+      {
-+        enum nss_status status
-+          = DL_CALL_FCT (*setfct.f, (data.known_groups->name, &data));
-+
-+        if (status == NSS_STATUS_SUCCESS)
-+          {
-+            union
-+            {
-+              enum nss_status (*f) (struct __netgrent *, char *, size_t,
-+                                    int *);
-+              void *ptr;
-+            } getfct;
-+            getfct.ptr = __nss_lookup_function (nip, "getnetgrent_r");
-+            if (getfct.f != NULL)
-+              while (1)
-+                {
-+                  int e;
-+                  status = getfct.f (&data, buffer + buffilled,
-+                                     buflen - buffilled, &e);
-+                  if (status == NSS_STATUS_RETURN)
-+                    /* This was the last one for this group.  Look
-+                       at next group if available.  */
-+                    break;
-+                  if (status == NSS_STATUS_SUCCESS)
-+                    {
-+                      if (data.type == triple_val)
-+                        {
-+                          const char *nhost = data.val.triple.host;
-+                          const char *nuser = data.val.triple.user;
-+                          const char *ndomain = data.val.triple.domain;
-+
-+                          if (data.val.triple.host > data.val.triple.user
-+                              || data.val.triple.user > data.val.triple.domain)
-+                            {
-+                              const char *last = MAX (nhost,
-+                                                      MAX (nuser, ndomain));
-+                              size_t bufused = (last + strlen (last) + 1
-+                                                - buffer);
-+
-+                              /* We have to make temporary copies.  */
-+                              size_t hostlen = strlen (nhost) + 1;
-+                              size_t userlen = strlen (nuser) + 1;
-+                              size_t domainlen = strlen (ndomain) + 1;
-+                              size_t needed = hostlen + userlen + domainlen;
-+
-+                              if (buflen - req->key_len - bufused < needed)
-+                                {
-+                                  size_t newsize = MAX (2 * buflen,
-+                                                        buflen + 2 * needed);
-+                                  if (use_malloc || newsize > 1024 * 1024)
-+                                    {
-+                                      buflen = newsize;
-+                                      char *newbuf = xrealloc (use_malloc
-+                                                               ? buffer
-+                                                               : NULL,
-+                                                               buflen);
-+
-+                                      buffer = newbuf;
-+                                      use_malloc = true;
-+                                    }
-+                                  else
-+                                    extend_alloca (buffer, buflen, newsize);
-+                                }
-+
-+                              nhost = memcpy (buffer + bufused,
-+                                              nhost, hostlen);
-+                              nuser = memcpy ((char *) nhost + hostlen,
-+                                              nuser, userlen);
-+                              ndomain = memcpy ((char *) nuser + userlen,
-+                                                ndomain, domainlen);
-+                            }
-+
-+                          char *wp = buffer + buffilled;
-+                          wp = stpcpy (wp, nhost) + 1;
-+                          wp = stpcpy (wp, nuser) + 1;
-+                          wp = stpcpy (wp, ndomain) + 1;
-+                          buffilled = wp - buffer;
-+                          ++nentries;
-+                        }
-+                      else
-+                        {
-+                          /* Check that the group has not been
-+                             requested before.  */
-+                          struct name_list *runp = data.needed_groups;
-+                          if (runp != NULL)
-+                            while (1)
-+                              {
-+                                if (strcmp (runp->name, data.val.group) == 0)
-+                                  break;
-+
-+                                runp = runp->next;
-+                                if (runp == data.needed_groups)
-+                                  {
-+                                    runp = NULL;
-+                                    break;
-+                                  }
-+                              }
-+
-+                          if (runp == NULL)
-+                            {
-+                              runp = data.known_groups;
-+                              while (runp != NULL)
-+                                if (strcmp (runp->name, data.val.group) == 0)
-+                                  break;
-+                                else
-+                                  runp = runp->next;
-+                              }
-+
-+                          if (runp == NULL)
-+                            {
-+                              /* A new group is requested.  */
-+                              size_t namelen = strlen (data.val.group) + 1;
-+                              struct name_list *newg = alloca (sizeof (*newg)
-+                                                               + namelen);
-+                              memcpy (newg->name, data.val.group, namelen);
-+                              if (data.needed_groups == NULL)
-+                                data.needed_groups = newg->next = newg;
-+                              else
-+                                {
-+                                  newg->next = data.needed_groups->next;
-+                                  data.needed_groups->next = newg;
-+                                  data.needed_groups = newg;
-+                                }
-+                            }
-+                        }
-+                    }
-+                  else if (status == NSS_STATUS_UNAVAIL && e == ERANGE)
-+                    {
-+                      size_t newsize = 2 * buflen;
-+                      if (use_malloc || newsize > 1024 * 1024)
-+                        {
-+                          buflen = newsize;
-+                          char *newbuf = xrealloc (use_malloc
-+                                                   ? buffer : NULL, buflen);
-+
-+                          buffer = newbuf;
-+                          use_malloc = true;
-+                        }
-+                      else
-+                        extend_alloca (buffer, buflen, newsize);
-+                    }
-+                }
-+
-+            enum nss_status (*endfct) (struct __netgrent *);
-+            endfct = __nss_lookup_function (nip, "endnetgrent");
-+            if (endfct != NULL)
-+              (void) DL_CALL_FCT (*endfct, (&data));
-+
-+            break;
-+          }
-+
-+        no_more = __nss_next2 (&nip, "setnetgrent", NULL, &setfct.ptr,
-+                               status, 0);
-+      }
-+    }
-+
-+  total = buffilled;
-+
-+  /* Fill in the dataset.  */
-+  dataset = (struct dataset *) buffer;
-+  dataset->head.allocsize = total + req->key_len;
-+  dataset->head.recsize = total - offsetof (struct dataset, resp);
-+  dataset->head.notfound = false;
-+  dataset->head.nreloads = he == NULL ? 0 : (dh->nreloads + 1);
-+  dataset->head.usable = true;
-+  dataset->head.ttl = db->postimeout;
-+  timeout = dataset->head.timeout = time (NULL) + dataset->head.ttl;
-+
-+  dataset->resp.version = NSCD_VERSION;
-+  dataset->resp.found = 1;
-+  dataset->resp.nresults = nentries;
-+  dataset->resp.result_len = buffilled - sizeof (*dataset);
-+
-+  assert (buflen - buffilled >= req->key_len);
-+  key_copy = memcpy (buffer + buffilled, key, req->key_len);
-+  buffilled += req->key_len;
-+
-+  /* Now we can determine whether on refill we have to create a new
-+     record or not.  */
-+  if (he != NULL)
-+    {
-+      assert (fd == -1);
-+
-+      if (dataset->head.allocsize == dh->allocsize
-+        && dataset->head.recsize == dh->recsize
-+        && memcmp (&dataset->resp, dh->data,
-+                   dh->allocsize - offsetof (struct dataset, resp)) == 0)
-+      {
-+        /* The data has not changed.  We will just bump the timeout
-+           value.  Note that the new record has been allocated on
-+           the stack and need not be freed.  */
-+        dh->timeout = dataset->head.timeout;
-+        dh->ttl = dataset->head.ttl;
-+        ++dh->nreloads;
-+        dataset = (struct dataset *) dh;
-+
-+        goto out;
-+      }
-+    }
-+
-+  {
-+    struct dataset *newp
-+      = (struct dataset *) mempool_alloc (db, total + req->key_len, 1);
-+    if (__builtin_expect (newp != NULL, 1))
-+      {
-+      /* Adjust pointer into the memory block.  */
-+      key_copy = (char *) newp + (key_copy - buffer);
-+
-+      dataset = memcpy (newp, dataset, total + req->key_len);
-+      cacheable = true;
-+
-+      if (he != NULL)
-+        /* Mark the old record as obsolete.  */
-+        dh->usable = false;
-+      }
-+  }
-+
-+  if (he == NULL && fd != -1)
-+    {
-+      /* We write the dataset before inserting it to the database
-+       since while inserting this thread might block and so would
-+       unnecessarily let the receiver wait.  */
-+    writeout:
-+#ifdef HAVE_SENDFILE
-+      if (__builtin_expect (db->mmap_used, 1) && cacheable)
-+      {
-+        assert (db->wr_fd != -1);
-+        assert ((char *) &dataset->resp > (char *) db->data);
-+        assert ((char *) dataset - (char *) db->head + total
-+                <= (sizeof (struct database_pers_head)
-+                    + db->head->module * sizeof (ref_t)
-+                    + db->head->data_size));
-+# ifndef __ASSUME_SENDFILE
-+        ssize_t written =
-+# endif
-+          sendfileall (fd, db->wr_fd, (char *) &dataset->resp
-+                       - (char *) db->head, dataset->head.recsize);
-+# ifndef __ASSUME_SENDFILE
-+        if (written == -1 && errno == ENOSYS)
-+          goto use_write;
-+# endif
-+      }
-+      else
-+#endif
-+      {
-+#if defined HAVE_SENDFILE && !defined __ASSUME_SENDFILE
-+      use_write:
-+#endif
-+        writeall (fd, &dataset->resp, dataset->head.recsize);
-+      }
-+    }
-+
-+  if (cacheable)
-+    {
-+      /* If necessary, we also propagate the data to disk.  */
-+      if (db->persistent)
-+      {
-+        // XXX async OK?
-+        uintptr_t pval = (uintptr_t) dataset & ~pagesize_m1;
-+        msync ((void *) pval,
-+               ((uintptr_t) dataset & pagesize_m1) + total + req->key_len,
-+               MS_ASYNC);
-+      }
-+
-+      (void) cache_add (req->type, key_copy, req->key_len, &dataset->head,
-+                      true, db, uid, he == NULL);
-+
-+      pthread_rwlock_unlock (&db->lock);
-+
-+      /* Mark the old entry as obsolete.  */
-+      if (dh != NULL)
-+      dh->usable = false;
-+    }
-+
-+ out:
-+  if (use_malloc)
-+    free (buffer);
-+
-+  *resultp = dataset;
-+
-+  return timeout;
-+}
-+
-+
-+static time_t
-+addinnetgrX (struct database_dyn *db, int fd, request_header *req,
-+           char *key, uid_t uid, struct hashentry *he,
-+           struct datahead *dh)
-+{
-+  const char *group = key;
-+  key = (char *) rawmemchr (key, '\0') + 1;
-+  size_t group_len = key - group - 1;
-+  const char *host = *key++ ? key : NULL;
-+  if (host != NULL)
-+    key = (char *) rawmemchr (key, '\0') + 1;
-+  const char *user = *key++ ? key : NULL;
-+  if (user != NULL)
-+    key = (char *) rawmemchr (key, '\0') + 1;
-+  const char *domain = *key++ ? key : NULL;
-+
-+  if (__builtin_expect (debug_level > 0, 0))
-+    {
-+      if (he == NULL)
-+      dbg_log (_("Haven't found \"%s (%s,%s,%s)\" in netgroup cache!"),
-+               group, host ?: "", user ?: "", domain ?: "");
-+      else
-+      dbg_log (_("Reloading \"%s (%s,%s,%s)\" in netgroup cache!"),
-+               group, host ?: "", user ?: "", domain ?: "");
-+    }
-+
-+  struct dataset *result = (struct dataset *) cache_search (GETNETGRENT,
-+                                                          group, group_len,
-+                                                          db, uid);
-+  time_t timeout;
-+  if (result != NULL)
-+    timeout = result->head.timeout;
-+  else
-+    {
-+      request_header req_get =
-+      {
-+        .type = GETNETGRENT,
-+        .key_len = group_len
-+      };
-+      timeout = addgetnetgrentX (db, -1, &req_get, group, uid, NULL, NULL,
-+                               &result);
-+    }
-+
-+  struct indataset
-+  {
-+    struct datahead head;
-+    innetgroup_response_header resp;
-+  } *dataset
-+      = (struct indataset *) mempool_alloc (db,
-+                                          sizeof (*dataset) + req->key_len,
-+                                          1);
-+  struct indataset dataset_mem;
-+  bool cacheable = true;
-+  if (__builtin_expect (dataset == NULL, 0))
-+    {
-+      cacheable = false;
-+      dataset = &dataset_mem;
-+    }
-+
-+  dataset->head.allocsize = sizeof (*dataset) + req->key_len;
-+  dataset->head.recsize = sizeof (innetgroup_response_header);
-+  dataset->head.notfound = result->head.notfound;
-+  dataset->head.nreloads = he == NULL ? 0 : (dh->nreloads + 1);
-+  dataset->head.usable = true;
-+  dataset->head.ttl = result->head.ttl;
-+  dataset->head.timeout = timeout;
-+
-+  dataset->resp.version = NSCD_VERSION;
-+  dataset->resp.found = result->resp.found;
-+  /* Until we find a matching entry the result is 0.  */
-+  dataset->resp.result = 0;
-+
-+  char *key_copy = memcpy ((char *) (dataset + 1), group, req->key_len);
-+
-+  if (dataset->resp.found)
-+    {
-+      const char *triplets = (const char *) (&result->resp + 1);
-+
-+      for (nscd_ssize_t i = result->resp.nresults; i > 0; --i)
-+      {
-+        bool success = true;
-+
-+        if (host != NULL)
-+          success = strcmp (host, triplets) == 0;
-+        triplets = (const char *) rawmemchr (triplets, '\0') + 1;
-+
-+        if (success && user != NULL)
-+          success = strcmp (user, triplets) == 0;
-+        triplets = (const char *) rawmemchr (triplets, '\0') + 1;
-+
-+        if (success && (domain == NULL || strcmp (domain, triplets) == 0))
-+          {
-+            dataset->resp.result = 1;
-+            break;
-+          }
-+        triplets = (const char *) rawmemchr (triplets, '\0') + 1;
-+      }
-+    }
-+
-+  if (he != NULL && dh->data[0].innetgroupdata.result == dataset->resp.result)
-+    {
-+      /* The data has not changed.  We will just bump the timeout
-+       value.  Note that the new record has been allocated on
-+       the stack and need not be freed.  */
-+      dh->timeout = timeout;
-+      dh->ttl = dataset->head.ttl;
-+      ++dh->nreloads;
-+      return timeout;
-+    }
-+
-+  if (he == NULL)
-+    {
-+      /* We write the dataset before inserting it to the database
-+       since while inserting this thread might block and so would
-+       unnecessarily let the receiver wait.  */
-+       assert (fd != -1);
-+
-+#ifdef HAVE_SENDFILE
-+      if (__builtin_expect (db->mmap_used, 1) && cacheable)
-+      {
-+        assert (db->wr_fd != -1);
-+        assert ((char *) &dataset->resp > (char *) db->data);
-+        assert ((char *) dataset - (char *) db->head + sizeof (*dataset)
-+                <= (sizeof (struct database_pers_head)
-+                    + db->head->module * sizeof (ref_t)
-+                    + db->head->data_size));
-+# ifndef __ASSUME_SENDFILE
-+        ssize_t written =
-+# endif
-+          sendfileall (fd, db->wr_fd,
-+                       (char *) &dataset->resp - (char *) db->head,
-+                       sizeof (innetgroup_response_header));
-+# ifndef __ASSUME_SENDFILE
-+        if (written == -1 && errno == ENOSYS)
-+          goto use_write;
-+# endif
-+      }
-+      else
-+# ifndef __ASSUME_SENDFILE
-+      use_write:
-+# endif
-+#endif
-+        writeall (fd, &dataset->resp, sizeof (innetgroup_response_header));
-+    }
-+
-+  if (cacheable)
-+    {
-+      /* If necessary, we also propagate the data to disk.  */
-+      if (db->persistent)
-+      {
-+        // XXX async OK?
-+        uintptr_t pval = (uintptr_t) dataset & ~pagesize_m1;
-+        msync ((void *) pval,
-+               ((uintptr_t) dataset & pagesize_m1) + sizeof (*dataset)
-+               + req->key_len,
-+               MS_ASYNC);
-+      }
-+
-+      (void) cache_add (req->type, key_copy, req->key_len, &dataset->head,
-+                      true, db, uid, he == NULL);
-+
-+      pthread_rwlock_unlock (&db->lock);
-+
-+      /* Mark the old entry as obsolete.  */
-+      if (dh != NULL)
-+      dh->usable = false;
-+    }
-+
-+  return timeout;
-+}
-+
-+
-+void
-+addgetnetgrent (struct database_dyn *db, int fd, request_header *req,
-+              void *key, uid_t uid)
-+{
-+  struct dataset *ignore;
-+
-+  addgetnetgrentX (db, fd, req, key, uid, NULL, NULL, &ignore);
-+}
-+
-+
-+time_t
-+readdgetnetgrent (struct database_dyn *db, struct hashentry *he,
-+                struct datahead *dh)
-+{
-+  request_header req =
-+    {
-+      .type = GETNETGRENT,
-+      .key_len = he->len
-+    };
-+  struct dataset *ignore;
-+
-+  return addgetnetgrentX (db, -1, &req, db->data + he->key, he->owner, he, dh,
-+                        &ignore);
-+}
-+
-+
-+void
-+addinnetgr (struct database_dyn *db, int fd, request_header *req,
-+          void *key, uid_t uid)
-+{
-+  addinnetgrX (db, fd, req, key, uid, NULL, NULL);
-+}
-+
-+
-+time_t
-+readdinnetgr (struct database_dyn *db, struct hashentry *he,
-+            struct datahead *dh)
-+{
-+  request_header req =
-+    {
-+      .type = INNETGR,
-+      .key_len = he->len
-+    };
-+
-+  return addinnetgrX (db, -1, &req, db->data + he->key, he->owner, he, dh);
-+}
-diff -Nrup a/nscd/nscd-client.h b/nscd/nscd-client.h
---- a/nscd/nscd-client.h       2012-08-06 15:07:49.082059915 -0600
-+++ b/nscd/nscd-client.h       2012-08-06 15:08:19.090941456 -0600
-@@ -70,6 +70,9 @@ typedef enum
-   GETSERVBYNAME,
-   GETSERVBYPORT,
-   GETFDSERV,
-+  GETNETGRENT,
-+  INNETGR,
-+  GETFDNETGR,
-   LASTREQ
- } request_type;
-@@ -171,6 +174,24 @@ typedef struct
- } serv_response_header;
-+/* Structure send in reply to netgroup query.  Note that this struct is
-+   sent also if the service is disabled or there is no record found.  */
-+typedef struct
-+{
-+  int32_t version;
-+  int32_t found;
-+  nscd_ssize_t nresults;
-+  nscd_ssize_t result_len;
-+} netgroup_response_header;
-+
-+typedef struct
-+{
-+  int32_t version;
-+  int32_t found;
-+  int32_t result;
-+} innetgroup_response_header;
-+
-+
- /* Type for offsets in data part of database.  */
- typedef uint32_t ref_t;
- /* Value for invalid/no reference.  */
-@@ -210,6 +231,8 @@ struct datahead
-     ai_response_header aidata;
-     initgr_response_header initgrdata;
-     serv_response_header servdata;
-+    netgroup_response_header netgroupdata;
-+    innetgroup_response_header innetgroupdata;
-     nscd_ssize_t align1;
-     nscd_time_t align2;
-   } data[0];
-diff -Nrup a/nscd/nscd.conf b/nscd/nscd.conf
---- a/nscd/nscd.conf   2012-08-06 15:07:48.553062002 -0600
-+++ b/nscd/nscd.conf   2012-08-06 15:08:19.091941452 -0600
-@@ -77,3 +77,12 @@
-       persistent              services        yes
-       shared                  services        yes
-       max-db-size             services        33554432
-+
-+      enable-cache            netgroup        yes
-+      positive-time-to-live   netgroup        28800
-+      negative-time-to-live   netgroup        20
-+      suggested-size          netgroup        211
-+      check-files             netgroup        yes
-+      persistent              netgroup        yes
-+      shared                  netgroup        yes
-+      max-db-size             netgroup        33554432
-diff -Nrup a/nscd/nscd.h b/nscd/nscd.h
---- a/nscd/nscd.h      2012-08-06 15:07:49.085059903 -0600
-+++ b/nscd/nscd.h      2012-08-06 15:08:19.093941443 -0600
-@@ -38,6 +38,7 @@ typedef enum
-   grpdb,
-   hstdb,
-   servdb,
-+  netgrdb,
-   lastdb
- } dbtype;
-@@ -107,6 +108,7 @@ struct database_dyn
- #define _PATH_NSCD_GROUP_DB   "/var/db/nscd/group"
- #define _PATH_NSCD_HOSTS_DB   "/var/db/nscd/hosts"
- #define _PATH_NSCD_SERVICES_DB        "/var/db/nscd/services"
-+#define _PATH_NSCD_NETGROUP_DB        "/var/db/nscd/netgroup"
- /* Path used when not using persistent storage.  */
- #define _PATH_NSCD_XYZ_DB_TMP "/var/run/nscd/dbXXXXXX"
-@@ -140,6 +142,7 @@ extern const struct iovec pwd_iov_disabl
- extern const struct iovec grp_iov_disabled;
- extern const struct iovec hst_iov_disabled;
- extern const struct iovec serv_iov_disabled;
-+extern const struct iovec netgroup_iov_disabled;
- /* Initial number of threads to run.  */
-@@ -185,6 +188,11 @@ extern gid_t old_gid;
- /* Prototypes for global functions.  */
-+/* Wrapper functions with error checking for standard functions.  */
-+extern void *xmalloc (size_t n);
-+extern void *xcalloc (size_t n, size_t s);
-+extern void *xrealloc (void *o, size_t n);
-+
- /* nscd.c */
- extern void termination_handler (int signum) __attribute__ ((__noreturn__));
- extern int nscd_open_socket (void);
-@@ -203,8 +211,8 @@ extern void send_stats (int fd, struct d
- extern int receive_print_stats (void) __attribute__ ((__noreturn__));
- /* cache.c */
--extern struct datahead *cache_search (request_type, void *key, size_t len,
--                                    struct database_dyn *table,
-+extern struct datahead *cache_search (request_type, const void *key,
-+                                    size_t len, struct database_dyn *table,
-                                     uid_t owner);
- extern int cache_add (int type, const void *key, size_t len,
-                     struct datahead *packet, bool first,
-@@ -273,6 +281,16 @@ extern void addservbyport (struct databa
- extern time_t readdservbyport (struct database_dyn *db, struct hashentry *he,
-                              struct datahead *dh);
-+/* netgroupcache.c */
-+extern void addinnetgr (struct database_dyn *db, int fd, request_header *req,
-+                      void *key, uid_t uid);
-+extern time_t readdinnetgr (struct database_dyn *db, struct hashentry *he,
-+                          struct datahead *dh);
-+extern void addgetnetgrent (struct database_dyn *db, int fd,
-+                          request_header *req, void *key, uid_t uid);
-+extern time_t readdgetnetgrent (struct database_dyn *db, struct hashentry *he,
-+                              struct datahead *dh);
-+
- /* mem.c */
- extern void *mempool_alloc (struct database_dyn *db, size_t len,
-                           int data_alloc);
-diff -Nrup a/nscd/nscd_conf.c b/nscd/nscd_conf.c
---- a/nscd/nscd_conf.c 2010-05-04 05:27:23.000000000 -0600
-+++ b/nscd/nscd_conf.c 2012-08-06 15:08:19.093941443 -0600
-@@ -43,7 +43,8 @@ const char *const dbnames[lastdb] =
-   [pwddb] = "passwd",
-   [grpdb] = "group",
-   [hstdb] = "hosts",
--  [servdb] = "services"
-+  [servdb] = "services",
-+  [netgrdb] = "netgroup"
- };
-diff -Nrup a/nscd/nscd_netgroup.c b/nscd/nscd_netgroup.c
---- a/nscd/nscd_netgroup.c     1969-12-31 17:00:00.000000000 -0700
-+++ b/nscd/nscd_netgroup.c     2012-08-06 15:08:19.094941439 -0600
-@@ -0,0 +1,290 @@
-+/* Copyright (C) 2011 Free Software Foundation, Inc.
-+   This file is part of the GNU C Library.
-+   Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-+
-+   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 <alloca.h>
-+#include <errno.h>
-+#include <stdlib.h>
-+#include <string.h>
-+#include <not-cancel.h>
-+
-+#include "nscd-client.h"
-+#include "nscd_proto.h"
-+
-+int __nss_not_use_nscd_netgroup;
-+
-+
-+libc_locked_map_ptr (static, map_handle);
-+/* Note that we only free the structure if necessary.  The memory
-+   mapping is not removed since it is not visible to the malloc
-+   handling.  */
-+libc_freeres_fn (pw_map_free)
-+{
-+  if (map_handle.mapped != NO_MAPPING)
-+    {
-+      void *p = map_handle.mapped;
-+      map_handle.mapped = NO_MAPPING;
-+      free (p);
-+    }
-+}
-+
-+
-+int
-+__nscd_setnetgrent (const char *group, struct __netgrent *datap)
-+{
-+  int gc_cycle;
-+  int nretries = 0;
-+  size_t group_len = strlen (group);
-+
-+  /* If the mapping is available, try to search there instead of
-+     communicating with the nscd.  */
-+  struct mapped_database *mapped;
-+  mapped = __nscd_get_map_ref (GETFDNETGR, "netgroup", &map_handle, &gc_cycle);
-+
-+ retry:;
-+  char *respdata = NULL;
-+  int retval = -1;
-+  netgroup_response_header netgroup_resp;
-+
-+  if (mapped != NO_MAPPING)
-+    {
-+      struct datahead *found = __nscd_cache_search (GETNETGRENT, group,
-+                                                  group_len, mapped,
-+                                                  sizeof netgroup_resp);
-+      if (found != NULL)
-+      {
-+        respdata = (char *) (&found->data[0].netgroupdata + 1);
-+        netgroup_resp = found->data[0].netgroupdata;
-+        /* Now check if we can trust pw_resp fields.  If GC is
-+           in progress, it can contain anything.  */
-+        if (mapped->head->gc_cycle != gc_cycle)
-+          {
-+            retval = -2;
-+            goto out;
-+          }
-+      }
-+    }
-+
-+  int sock = -1;
-+  if (respdata == NULL)
-+    {
-+      sock = __nscd_open_socket (group, group_len, GETNETGRENT,
-+                               &netgroup_resp, sizeof (netgroup_resp));
-+      if (sock == -1)
-+      {
-+        /* nscd not running or wrong version.  */
-+        __nss_not_use_nscd_netgroup = 1;
-+        goto out;
-+      }
-+    }
-+
-+  if (netgroup_resp.found == 1)
-+    {
-+      size_t datalen = netgroup_resp.result_len;
-+
-+      /* If we do not have to read the data here it comes from the
-+       mapped data and does not have to be freed.  */
-+      if (respdata == NULL)
-+      {
-+        /* The data will come via the socket.  */
-+        respdata = malloc (datalen);
-+        if (respdata == NULL)
-+          goto out_close;
-+
-+        if ((size_t) __readall (sock, respdata, datalen) != datalen)
-+          {
-+            free (respdata);
-+            goto out_close;
-+          }
-+      }
-+
-+      datap->data = respdata;
-+      datap->data_size = datalen;
-+      datap->cursor = respdata;
-+      datap->first = 1;
-+      datap->nip = (service_user *) -1l;
-+      datap->known_groups = NULL;
-+      datap->needed_groups = NULL;
-+
-+      retval = 1;
-+    }
-+  else
-+    {
-+      if (__builtin_expect (netgroup_resp.found == -1, 0))
-+      {
-+        /* The daemon does not cache this database.  */
-+        __nss_not_use_nscd_netgroup = 1;
-+        goto out_close;
-+      }
-+
-+      /* Set errno to 0 to indicate no error, just no found record.  */
-+      __set_errno (0);
-+      /* Even though we have not found anything, the result is zero.  */
-+      retval = 0;
-+    }
-+
-+ out_close:
-+  if (sock != -1)
-+    close_not_cancel_no_status (sock);
-+ out:
-+  if (__nscd_drop_map_ref (mapped, &gc_cycle) != 0)
-+    {
-+      /* When we come here this means there has been a GC cycle while we
-+       were looking for the data.  This means the data might have been
-+       inconsistent.  Retry if possible.  */
-+      if ((gc_cycle & 1) != 0 || ++nretries == 5 || retval == -1)
-+      {
-+        /* nscd is just running gc now.  Disable using the mapping.  */
-+        if (atomic_decrement_val (&mapped->counter) == 0)
-+          __nscd_unmap (mapped);
-+        mapped = NO_MAPPING;
-+      }
-+
-+      if (retval != -1)
-+      goto retry;
-+    }
-+
-+  return retval;
-+}
-+
-+
-+int
-+__nscd_innetgr (const char *netgroup, const char *host, const char *user,
-+              const char *domain)
-+{
-+  size_t key_len = (strlen (netgroup) + strlen (host ?: "")
-+                  + strlen (user ?: "") + strlen (domain ?: "") + 7);
-+  char *key;
-+  bool use_alloca = __libc_use_alloca (key_len);
-+  if (use_alloca)
-+    key = alloca (key_len);
-+  else
-+    {
-+      key = malloc (key_len);
-+      if (key == NULL)
-+      return -1;
-+    }
-+  char *wp = stpcpy (key, netgroup) + 1;
-+  if (host != NULL)
-+    {
-+      *wp++ = '\1';
-+      wp = stpcpy (wp, host) + 1;
-+    }
-+  else
-+    *wp++ = '\0';
-+  if (user != NULL)
-+    {
-+      *wp++ = '\1';
-+      wp = stpcpy (wp, user) + 1;
-+    }
-+  else
-+    *wp++ = '\0';
-+  if (domain != NULL)
-+    {
-+      *wp++ = '\1';
-+      wp = stpcpy (wp, domain) + 1;
-+    }
-+  else
-+    *wp++ = '\0';
-+  key_len = wp - key;
-+
-+  /* If the mapping is available, try to search there instead of
-+     communicating with the nscd.  */
-+  int gc_cycle;
-+  int nretries = 0;
-+  struct mapped_database *mapped;
-+  mapped = __nscd_get_map_ref (GETFDNETGR, "netgroup", &map_handle, &gc_cycle);
-+
-+ retry:;
-+  int retval = -1;
-+  innetgroup_response_header innetgroup_resp;
-+  int sock = -1;
-+
-+  if (mapped != NO_MAPPING)
-+    {
-+      struct datahead *found = __nscd_cache_search (INNETGR, key,
-+                                                  key_len, mapped,
-+                                                  sizeof innetgroup_resp);
-+      if (found != NULL)
-+      {
-+        innetgroup_resp = found->data[0].innetgroupdata;
-+        /* Now check if we can trust pw_resp fields.  If GC is
-+           in progress, it can contain anything.  */
-+        if (mapped->head->gc_cycle != gc_cycle)
-+          {
-+            retval = -2;
-+            goto out;
-+          }
-+
-+        goto found_entry;
-+      }
-+    }
-+
-+  sock = __nscd_open_socket (key, key_len, INNETGR,
-+                           &innetgroup_resp, sizeof (innetgroup_resp));
-+  if (sock == -1)
-+    {
-+      /* nscd not running or wrong version.  */
-+      __nss_not_use_nscd_netgroup = 1;
-+      goto out;
-+    }
-+
-+ found_entry:
-+  if (innetgroup_resp.found == 1)
-+    retval = innetgroup_resp.result;
-+  else
-+    {
-+      if (__builtin_expect (innetgroup_resp.found == -1, 0))
-+      {
-+        /* The daemon does not cache this database.  */
-+        __nss_not_use_nscd_netgroup = 1;
-+        goto out_close;
-+      }
-+
-+      /* Set errno to 0 to indicate no error, just no found record.  */
-+      __set_errno (0);
-+      /* Even though we have not found anything, the result is zero.  */
-+      retval = 0;
-+    }
-+
-+ out_close:
-+  if (sock != -1)
-+    close_not_cancel_no_status (sock);
-+ out:
-+  if (__nscd_drop_map_ref (mapped, &gc_cycle) != 0)
-+    {
-+      /* When we come here this means there has been a GC cycle while we
-+       were looking for the data.  This means the data might have been
-+       inconsistent.  Retry if possible.  */
-+      if ((gc_cycle & 1) != 0 || ++nretries == 5 || retval == -1)
-+      {
-+        /* nscd is just running gc now.  Disable using the mapping.  */
-+        if (atomic_decrement_val (&mapped->counter) == 0)
-+          __nscd_unmap (mapped);
-+        mapped = NO_MAPPING;
-+      }
-+
-+      if (retval != -1)
-+      goto retry;
-+    }
-+
-+  if (! use_alloca)
-+    free (key);
-+
-+  return retval;
-+}
-diff -Nrup a/nscd/nscd_proto.h b/nscd/nscd_proto.h
---- a/nscd/nscd_proto.h        2010-05-04 05:27:23.000000000 -0600
-+++ b/nscd/nscd_proto.h        2012-08-06 15:14:24.446648305 -0600
-@@ -1,4 +1,4 @@
--/* Copyright (C) 1998-2000, 2002, 2004, 2007 Free Software Foundation, Inc.
-+/* Copyright (C) 1998-2000,2002,2004,2007,2011 Free Software Foundation, Inc.
-    This file is part of the GNU C Library.
-    Contributed by Thorsten Kukuk <kukuk@suse.de>, 1998.
-@@ -36,6 +36,7 @@ extern int __nss_not_use_nscd_passwd att
- extern int __nss_not_use_nscd_group attribute_hidden;
- extern int __nss_not_use_nscd_hosts attribute_hidden;
- extern int __nss_not_use_nscd_services attribute_hidden;
-+extern int __nss_not_use_nscd_netgroup attribute_hidden;
- extern int __nscd_getpwnam_r (const char *name, struct passwd *resultbuf,
-                             char *buffer, size_t buflen,
-@@ -71,5 +72,9 @@ extern int __nscd_getservbyname_r (const
- extern int __nscd_getservbyport_r (int port, const char *proto,
-                                  struct servent *result_buf, char *buf,
-                                  size_t buflen, struct servent **result);
-+extern int __nscd_innetgr (const char *netgroup, const char *host,
-+                         const char *user, const char *domain);
-+extern int __nscd_setnetgrent (const char *group, struct __netgrent *datap);
-+
- #endif /* _NSCD_PROTO_H */
-diff -Nrup a/nscd/selinux.c b/nscd/selinux.c
---- a/nscd/selinux.c   2010-05-04 05:27:23.000000000 -0600
-+++ b/nscd/selinux.c   2012-08-06 15:08:19.096941431 -0600
-@@ -1,5 +1,5 @@
- /* SELinux access controls for nscd.
--   Copyright (C) 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc.
-+   Copyright (C) 2004,2005,2006,2007,2009,2011 Free Software Foundation, Inc.
-    This file is part of the GNU C Library.
-    Contributed by Matthew Rickard <mjricka@epoch.ncsc.mil>, 2004.
-@@ -46,7 +46,7 @@
- int selinux_enabled;
- /* Define mappings of access vector permissions to request types.  */
--static const int perms[LASTREQ] =
-+static const access_vector_t perms[LASTREQ] =
- {
-   [GETPWBYNAME] = NSCD__GETPWD,
-   [GETPWBYUID] = NSCD__GETPWD,
-@@ -69,6 +69,11 @@ static const int perms[LASTREQ] =
-   [GETSERVBYPORT] = NSCD__GETSERV,
-   [GETFDSERV] = NSCD__SHMEMSERV,
- #endif
-+#ifdef NSCD__GETNETGRP
-+  [GETNETGRENT] = NSCD__GETNETGRP,
-+  [INNETGR] = NSCD__GETNETGRP,
-+  [GETFDNETGR] = NSCD__SHMEMNETGRP,
-+#endif
- };
- /* Store an entry ref to speed AVC decisions.  */
-diff -Nrup a/nss/Makefile b/nss/Makefile
---- a/nss/Makefile     2012-08-06 15:07:48.938060482 -0600
-+++ b/nss/Makefile     2012-08-23 14:19:49.382442094 -0600
-@@ -1,4 +1,5 @@
--# Copyright (C) 1996-1998,2000-2002,2007,2009 Free Software Foundation, Inc.
-+# Copyright (C) 1996-1998,2000-2002,2007,2009,2010
-+# 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
-@@ -39,7 +40,7 @@ databases            = proto service hosts network
- others                  := getent
- install-bin             := getent
--tests                 = test-netdb
-+tests                 = test-netdb tst-nss-test1
- xtests                        = bug-erange
- include ../Makeconfig
-@@ -85,3 +86,14 @@ endif
- # a statically-linked program that hasn't already loaded it.
- $(services:%=$(objpfx)libnss_%.so): $(common-objpfx)libc.so \
-                                   $(common-objpfx)libc_nonshared.a
-+
-+
-+distribute            += nss_test1.c
-+
-+CFLAGS-nss_test1.c = -DNOT_IN_libc=1
-+$(objpfx)/libnss_test1.so: $(objpfx)nss_test1.os $(common-objpfx)libc.so \
-+                         $(common-objpfx)libc_nonshared.a
-+      $(build-module)
-+$(objpfx)/libnss_test1.so$(libnss_test1.so-version): $(objpfx)/libnss_test1.so
-+      $(make-link)
-+$(objpfx)tst-nss-test1.out: $(objpfx)/libnss_test1.so$(libnss_test1.so-version)
-diff -Nrup a/nss/Versions b/nss/Versions
---- a/nss/Versions     2012-08-06 15:07:48.939060479 -0600
-+++ b/nss/Versions     2012-08-06 15:08:19.096941431 -0600
-@@ -12,7 +12,7 @@ libc {
-     __nss_disable_nscd; __nss_lookup_function; _nss_files_parse_sgent;
-     __nss_passwd_lookup2; __nss_group_lookup2; __nss_hosts_lookup2;
--    __nss_services_lookup2; __nss_next2;
-+    __nss_services_lookup2; __nss_next2; __nss_lookup;
-   }
- }
-diff -Nrup a/nss/getXXbyYY_r.c b/nss/getXXbyYY_r.c
---- a/nss/getXXbyYY_r.c        2010-05-04 05:27:23.000000000 -0600
-+++ b/nss/getXXbyYY_r.c        2012-08-23 14:19:49.403442011 -0600
-@@ -1,4 +1,4 @@
--/* Copyright (C) 1996-2004, 2006, 2007, 2009 Free Software Foundation, Inc.
-+/* Copyright (C) 1996-2004,2006,2007,2009,2010 Free Software Foundation, Inc.
-    This file is part of the GNU C Library.
-    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
-@@ -87,6 +87,8 @@
- # define NOT_USENSCD_NAME ADD_NOT_NSCDUSE (DATABASE_NAME)
- # define ADD_NOT_NSCDUSE(name) ADD_NOT_NSCDUSE1 (name)
- # define ADD_NOT_NSCDUSE1(name) __nss_not_use_nscd_##name
-+# define CONCAT2(arg1, arg2) CONCAT2_2 (arg1, arg2)
-+# define CONCAT2_2(arg1, arg2) arg1##arg2
- #endif
- #define FUNCTION_NAME_STRING STRINGIZE (FUNCTION_NAME)
-@@ -186,7 +188,8 @@ INTERNAL (REENTRANT_NAME) (ADD_PARAMS, L
-   if (NOT_USENSCD_NAME > 0 && ++NOT_USENSCD_NAME > NSS_NSCD_RETRY)
-     NOT_USENSCD_NAME = 0;
--  if (!NOT_USENSCD_NAME)
-+  if (!NOT_USENSCD_NAME
-+      && !__nss_database_custom[CONCAT2 (NSS_DBSIDX_, DATABASE_NAME)])
-     {
-       nscd_status = NSCD_NAME (ADD_VARIABLES, resbuf, buffer, buflen, result
-                              H_ERRNO_VAR);
-diff -Nrup a/nss/getent.c b/nss/getent.c
---- a/nss/getent.c     2010-05-04 05:27:23.000000000 -0600
-+++ b/nss/getent.c     2012-08-06 15:15:06.479427609 -0600
-@@ -466,7 +466,6 @@ static int
- netgroup_keys (int number, char *key[])
- {
-   int result = 0;
--  int i;
-   if (number == 0)
-     {
-@@ -474,18 +473,28 @@ netgroup_keys (int number, char *key[])
-       return 3;
-     }
--  for (i = 0; i < number; ++i)
-+  if (number == 4)
-     {
--      if (!setnetgrent (key[i]))
-+      char *host = strcmp (key[1], "*") == 0 ? NULL : key[1];
-+      char *user = strcmp (key[2], "*") == 0 ? NULL : key[2];
-+      char *domain = strcmp (key[3], "*") == 0 ? NULL : key[3];
-+
-+      printf ("%-21s (%s,%s,%s) = %d\n",
-+            key[0], host ?: "", user ?: "", domain ?: "",
-+            innetgr (key[0], host, user, domain));
-+    }
-+  else if (number == 1)
-+    {
-+      if (!setnetgrent (key[0]))
-       result = 2;
-       else
-       {
-         char *p[3];
--        printf ("%-21s", key[i]);
-+        printf ("%-21s", key[0]);
-         while (getnetgrent (p, p + 1, p + 2))
--          printf (" (%s, %s, %s)", p[0] ?: " ", p[1] ?: "", p[2] ?: "");
-+          printf (" (%s,%s,%s)", p[0] ?: " ", p[1] ?: "", p[2] ?: "");
-         putchar_unlocked ('\n');
-       }
-     }
-diff -Nrup a/nss/nss_files/files-parse.c b/nss/nss_files/files-parse.c
---- a/nss/nss_files/files-parse.c      2010-05-04 05:27:23.000000000 -0600
-+++ b/nss/nss_files/files-parse.c      2012-08-23 14:19:49.418441951 -0600
-@@ -1,5 +1,5 @@
- /* Common code for file-based database parsers in nss_files module.
--   Copyright (C) 1996-2000, 2003, 2004, 2009 Free Software Foundation, Inc.
-+   Copyright (C) 1996-2000,2003,2004,2009,2010 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
-@@ -29,7 +29,7 @@
-    DATABASE -- string of the database file's name ("hosts", "passwd").
-    ENTDATA -- if defined, `struct ENTDATA' is used by the parser to store
--              things pointed to by the resultant `struct STRUCTURE'.
-+            things pointed to by the resultant `struct STRUCTURE'.
-    NEED_H_ERRNO - defined iff an arg `int *herrnop' is used.
-@@ -229,7 +229,7 @@ strtou32 (const char *nptr, char **endpt
-   char **list = parse_list (&line, buf_start, buf_end, '\0', errnop);       \
-   if (list)                                                                 \
-     result->TRAILING_LIST_MEMBER = list;                                    \
--  else                                                                              \
-+  else                                                                              \
-     return -1;                /* -1 indicates we ran out of space.  */              \
- }
-diff -Nrup a/nss/nss_test1.c b/nss/nss_test1.c
---- a/nss/nss_test1.c  1969-12-31 17:00:00.000000000 -0700
-+++ b/nss/nss_test1.c  2012-08-23 14:19:49.418441951 -0600
-@@ -0,0 +1,154 @@
-+#include <errno.h>
-+#include <nss.h>
-+#include <pthread.h>
-+#include <string.h>
-+
-+
-+#define COPY_IF_ROOM(s) \
-+  ({ size_t len_ = strlen (s) + 1;            \
-+     char *start_ = cp;                               \
-+     buflen - (cp - buffer) < len_            \
-+     ? NULL                                   \
-+     : (cp = mempcpy (cp, s, len_), start_); })
-+
-+
-+/* Password handling.  */
-+#include <pwd.h>
-+
-+static struct passwd pwd_data[] =
-+  {
-+#define PWD(u) \
-+    { .pw_name = (char *) "name" #u, .pw_passwd = (char *) "*", .pw_uid = u,  \
-+      .pw_gid = 100, .pw_gecos = (char *) "*", .pw_dir = (char *) "*",              \
-+      .pw_shell = (char *) "*" }
-+    PWD (100),
-+    PWD (30),
-+    PWD (200),
-+    PWD (60),
-+    PWD (20000)
-+  };
-+#define npwd_data (sizeof (pwd_data) / sizeof (pwd_data[0]))
-+
-+static size_t pwd_iter;
-+#define CURPWD pwd_data[pwd_iter]
-+
-+static pthread_mutex_t pwd_lock = PTHREAD_MUTEX_INITIALIZER;
-+
-+
-+enum nss_status
-+_nss_test1_setpwent (int stayopen)
-+{
-+  pwd_iter = 0;
-+  return NSS_STATUS_SUCCESS;
-+}
-+
-+
-+enum nss_status
-+_nss_test1_endpwent (void)
-+{
-+  return NSS_STATUS_SUCCESS;
-+}
-+
-+
-+enum nss_status
-+_nss_test1_getpwent_r (struct passwd *result, char *buffer, size_t buflen,
-+                     int *errnop)
-+{
-+  char *cp = buffer;
-+  int res = NSS_STATUS_SUCCESS;
-+
-+  pthread_mutex_lock (&pwd_lock);
-+
-+  if (pwd_iter >= npwd_data)
-+    res = NSS_STATUS_NOTFOUND;
-+  else
-+    {
-+      result->pw_name = COPY_IF_ROOM (CURPWD.pw_name);
-+      result->pw_passwd = COPY_IF_ROOM (CURPWD.pw_passwd);
-+      result->pw_uid = CURPWD.pw_uid;
-+      result->pw_gid = CURPWD.pw_gid;
-+      result->pw_gecos = COPY_IF_ROOM (CURPWD.pw_gecos);
-+      result->pw_dir = COPY_IF_ROOM (CURPWD.pw_dir);
-+      result->pw_shell = COPY_IF_ROOM (CURPWD.pw_shell);
-+
-+      if (result->pw_name == NULL || result->pw_passwd == NULL
-+        || result->pw_gecos == NULL || result->pw_dir == NULL
-+        || result->pw_shell == NULL)
-+      {
-+        *errnop = ERANGE;
-+        res = NSS_STATUS_TRYAGAIN;
-+      }
-+
-+      ++pwd_iter;
-+    }
-+
-+  pthread_mutex_unlock (&pwd_lock);
-+
-+  return res;
-+}
-+
-+
-+enum nss_status
-+_nss_test1_getpwuid_r (uid_t uid, struct passwd *result, char *buffer,
-+                     size_t buflen, int *errnop)
-+{
-+  for (size_t idx = 0; idx < npwd_data; ++idx)
-+    if (pwd_data[idx].pw_uid == uid)
-+      {
-+      char *cp = buffer;
-+      int res = NSS_STATUS_SUCCESS;
-+
-+      result->pw_name = COPY_IF_ROOM (pwd_data[idx].pw_name);
-+      result->pw_passwd = COPY_IF_ROOM (pwd_data[idx].pw_passwd);
-+      result->pw_uid = pwd_data[idx].pw_uid;
-+      result->pw_gid = pwd_data[idx].pw_gid;
-+      result->pw_gecos = COPY_IF_ROOM (pwd_data[idx].pw_gecos);
-+      result->pw_dir = COPY_IF_ROOM (pwd_data[idx].pw_dir);
-+      result->pw_shell = COPY_IF_ROOM (pwd_data[idx].pw_shell);
-+
-+      if (result->pw_name == NULL || result->pw_passwd == NULL
-+          || result->pw_gecos == NULL || result->pw_dir == NULL
-+          || result->pw_shell == NULL)
-+        {
-+          *errnop = ERANGE;
-+          res = NSS_STATUS_TRYAGAIN;
-+        }
-+
-+      return res;
-+      }
-+
-+  return NSS_STATUS_NOTFOUND;
-+}
-+
-+
-+enum nss_status
-+_nss_test1_getpwnam_r (const char *name, struct passwd *result, char *buffer,
-+                     size_t buflen, int *errnop)
-+{
-+  for (size_t idx = 0; idx < npwd_data; ++idx)
-+    if (strcmp (pwd_data[idx].pw_name, name) == 0)
-+      {
-+      char *cp = buffer;
-+      int res = NSS_STATUS_SUCCESS;
-+
-+      result->pw_name = COPY_IF_ROOM (pwd_data[idx].pw_name);
-+      result->pw_passwd = COPY_IF_ROOM (pwd_data[idx].pw_passwd);
-+      result->pw_uid = pwd_data[idx].pw_uid;
-+      result->pw_gid = pwd_data[idx].pw_gid;
-+      result->pw_gecos = COPY_IF_ROOM (pwd_data[idx].pw_gecos);
-+      result->pw_dir = COPY_IF_ROOM (pwd_data[idx].pw_dir);
-+      result->pw_shell = COPY_IF_ROOM (pwd_data[idx].pw_shell);
-+
-+      if (result->pw_name == NULL || result->pw_passwd == NULL
-+          || result->pw_gecos == NULL || result->pw_dir == NULL
-+          || result->pw_shell == NULL)
-+        {
-+          *errnop = ERANGE;
-+          res = NSS_STATUS_TRYAGAIN;
-+        }
-+
-+      return res;
-+      }
-+
-+  return NSS_STATUS_NOTFOUND;
-+}
-diff -Nrup a/nss/nsswitch.c b/nss/nsswitch.c
---- a/nss/nsswitch.c   2010-05-04 05:27:23.000000000 -0600
-+++ b/nss/nsswitch.c   2012-08-23 14:19:49.430441903 -0600
-@@ -1,4 +1,4 @@
--/* Copyright (C) 1996-1999, 2001-2007, 2009 Free Software Foundation, Inc.
-+/* Copyright (C) 1996-1999,2001-2007,2009,2010 Free Software Foundation, Inc.
-    This file is part of the GNU C Library.
-    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
-@@ -71,6 +71,9 @@ static const struct
- };
- #define ndatabases (sizeof (databases) / sizeof (databases[0]))
-+/* Flags whether custom rules for database is set.  */
-+bool __nss_database_custom[NSS_DBSIDX_max];
-+
- __libc_lock_define_initialized (static, lock)
-@@ -165,6 +168,7 @@ __nss_lookup (service_user **ni, const c
-   return *fctp != NULL ? 0 : (*ni)->next == NULL ? 1 : -1;
- }
-+libc_hidden_def (__nss_lookup)
- /* -1 == not found
-@@ -265,6 +269,7 @@ __nss_configure_lookup (const char *dbna
-   /* Install new rules.  */
-   *databases[cnt].dbp = new_db;
-+  __nss_database_custom[cnt] = true;
-   __libc_lock_unlock (lock);
-@@ -729,6 +734,7 @@ __nss_disable_nscd (void)
-   __nss_not_use_nscd_group = -1;
-   __nss_not_use_nscd_hosts = -1;
-   __nss_not_use_nscd_services = -1;
-+  __nss_not_use_nscd_netgroup = -1;
- }
-diff -Nrup a/nss/nsswitch.h b/nss/nsswitch.h
---- a/nss/nsswitch.h   2010-05-04 05:27:23.000000000 -0600
-+++ b/nss/nsswitch.h   2012-08-23 14:19:49.431441899 -0600
-@@ -1,4 +1,4 @@
--/* Copyright (C) 1996-1999,2001,2002,2003,2004,2007
-+/* Copyright (C) 1996-1999,2001,2002,2003,2004,2007,2010
-    Free Software Foundation, Inc.
-    This file is part of the GNU C Library.
-@@ -28,6 +28,7 @@
- #include <resolv.h>
- #include <search.h>
- #include <dlfcn.h>
-+#include <stdbool.h>
- /* Actions performed after lookup finished.  */
- typedef enum
-@@ -96,6 +97,19 @@ typedef struct name_database
- } name_database;
-+/* Indices into DATABASES in nsswitch.c and __NSS_DATABASE_CUSTOM.  */
-+enum
-+  {
-+#define DEFINE_DATABASE(arg) NSS_DBSIDX_##arg,
-+#include "databases.def"
-+#undef DEFINE_DATABASE
-+    NSS_DBSIDX_max
-+  };
-+
-+/* Flags whether custom rules for database is set.  */
-+extern bool __nss_database_custom[NSS_DBSIDX_max];
-+
-+
- /* Interface functions for NSS.  */
- /* Get the data structure representing the specified database.
-@@ -111,7 +125,8 @@ libc_hidden_proto (__nss_database_lookup
-    position is remembered in NI.  The function returns a value < 0 if
-    an error occurred or no such function exists.  */
- extern int __nss_lookup (service_user **ni, const char *fct_name,
--                       const char *fct2_name, void **fctp) attribute_hidden;
-+                       const char *fct2_name, void **fctp);
-+libc_hidden_proto (__nss_lookup)
- /* Determine the next step in the lookup process according to the
-    result STATUS of the call to the last function returned by
-diff -Nrup a/nss/tst-nss-test1.c b/nss/tst-nss-test1.c
---- a/nss/tst-nss-test1.c      1969-12-31 17:00:00.000000000 -0700
-+++ b/nss/tst-nss-test1.c      2012-08-23 14:19:49.432441895 -0600
-@@ -0,0 +1,72 @@
-+#include <nss.h>
-+#include <pwd.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+
-+
-+static int
-+do_test (void)
-+{
-+  int retval = 0;
-+
-+  __nss_configure_lookup ("passwd", "test1");
-+
-+  static const unsigned int pwdids[] = { 100, 30, 200, 60, 20000 };
-+#define npwdids (sizeof (pwdids) / sizeof (pwdids[0]))
-+  setpwent ();
-+
-+  const unsigned int *np = pwdids;
-+  for (struct passwd *p = getpwent (); p != NULL; ++np, p = getpwent ())
-+    if (p->pw_uid != *np || strncmp (p->pw_name, "name", 4) != 0
-+      || atol (p->pw_name + 4) != *np)
-+      {
-+      printf ("passwd entry %ju wrong (%s, %u)\n",
-+              np - pwdids, p->pw_name, p->pw_uid);
-+      retval = 1;
-+      break;
-+      }
-+
-+  endpwent ();
-+
-+  for (int i = npwdids - 1; i >= 0; --i)
-+    {
-+      char buf[30];
-+      snprintf (buf, sizeof (buf), "name%u", pwdids[i]);
-+
-+      struct passwd *p = getpwnam (buf);
-+      if (p == NULL || p->pw_uid != pwdids[i] || strcmp (buf, p->pw_name) != 0)
-+      {
-+        printf ("passwd entry \"%s\" wrong\n", buf);
-+        retval = 1;
-+      }
-+
-+      p = getpwuid (pwdids[i]);
-+      if (p == NULL || p->pw_uid != pwdids[i] || strcmp (buf, p->pw_name) != 0)
-+      {
-+        printf ("passwd entry %u wrong\n", pwdids[i]);
-+        retval = 1;
-+      }
-+
-+      snprintf (buf, sizeof (buf), "name%u", pwdids[i] + 1);
-+
-+      p = getpwnam (buf);
-+      if (p != NULL)
-+      {
-+        printf ("passwd entry \"%s\" wrong\n", buf);
-+        retval = 1;
-+      }
-+
-+      p = getpwuid (pwdids[i] + 1);
-+      if (p != NULL)
-+      {
-+        printf ("passwd entry %u wrong\n", pwdids[i] + 1);
-+        retval = 1;
-+      }
-+    }
-+
-+  return retval;
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
-diff -Nrup a/shlib-versions b/shlib-versions
---- a/shlib-versions   2010-05-04 05:27:23.000000000 -0600
-+++ b/shlib-versions   2012-08-23 14:19:49.473441732 -0600
-@@ -114,6 +114,10 @@ alpha.*-.*-linux.*        libresolv=2.1
- .*-.*-.*              libnss_ldap=2
- .*-.*-.*              libnss_hesiod=2
-+# Tests for NSS.  They must have the same NSS_SHLIB_REVISION number as
-+# the rest.
-+.*-.*-.*              libnss_test1=2
-+
- # Version for libnsl with YP and NIS+ functions.
- alpha.*-.*-linux.*    libnsl=1.1
- .*-.*-.*              libnsl=1
-diff -Nrup a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
---- a/sysdeps/posix/getaddrinfo.c      2012-08-06 15:07:49.571057983 -0600
-+++ b/sysdeps/posix/getaddrinfo.c      2012-08-23 14:19:49.541441461 -0600
-@@ -669,7 +669,8 @@ gaih_inet (const char *name, const struc
-             && ++__nss_not_use_nscd_hosts > NSS_NSCD_RETRY)
-           __nss_not_use_nscd_hosts = 0;
--        if (!__nss_not_use_nscd_hosts)
-+        if (!__nss_not_use_nscd_hosts
-+            && !__nss_database_custom[NSS_DBSIDX_hosts])
-           {
-             /* Try to use nscd.  */
-             struct nscd_ai_result *air = NULL;
diff --git a/src/patches/glibc/glibc-rh630801.patch b/src/patches/glibc/glibc-rh630801.patch
deleted file mode 100644 (file)
index 5bd3c66..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-2010-05-26  H.J. Lu  <hongjiu.lu@intel.com>
-
-       [BZ #11640]
-       * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features):
-       Properly check family and model.
-
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/init-arch.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/multiarch/init-arch.c
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/init-arch.c
-@@ -62,15 +62,15 @@ __init_cpu_features (void)
-       unsigned int eax = __cpu_features.cpuid[COMMON_CPUID_INDEX_1].eax;
-       unsigned int extended_family = (eax >> 20) & 0xff;
-       unsigned int extended_model = (eax >> 12) & 0xf0;
--      if (__cpu_features.family == 0x0f)
-+      if (family == 0x0f)
-       {
-         family += extended_family;
-         model += extended_model;
-       }
--      else if (__cpu_features.family == 0x06)
-+      else if (family == 0x06)
-       {
-         model += extended_model;
--        switch (__cpu_features.model)
-+        switch (model)
-           {
-           case 0x1a:
-           case 0x1e:
diff --git a/src/patches/glibc/glibc-rh631011.patch b/src/patches/glibc/glibc-rh631011.patch
deleted file mode 100644 (file)
index 42a1a56..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-2010-08-19  Andreas Schwab  <schwab@redhat.com>
-
-       * sysdeps/i386/i686/multiarch/strspn.S [!SHARED]: Fix SSE4.2 check.
-
-Index: glibc-2.12-2-gc4ccff1/sysdeps/i386/i686/multiarch/strspn.S
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/i386/i686/multiarch/strspn.S
-+++ glibc-2.12-2-gc4ccff1/sysdeps/i386/i686/multiarch/strspn.S
-@@ -65,7 +65,7 @@ ENTRY(strspn)
-       jne     1f
-       call    __init_cpu_features
- 1:    leal    __strspn_ia32, %eax
--      testl   $index_SSE2, CPUID_OFFSET+index_SSE4_2+__cpu_features
-+      testl   $bit_SSE4_2, CPUID_OFFSET+index_SSE4_2+__cpu_features
-       jz      2f
-       leal    __strspn_sse42, %eax
- 2:    ret
diff --git a/src/patches/glibc/glibc-rh641128.patch b/src/patches/glibc/glibc-rh641128.patch
deleted file mode 100644 (file)
index 52df4ae..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-2010-10-06  Ulrich Drepper  <drepper@gmail.com>
-
-       * string/bug-strstr1.c: New file.
-       * string/Makefile: Add rules to build and run bug-strstr1.
-
-2010-10-05  Eric Blake  <eblake@redhat.com>
-
-       [BZ #12092]
-       * string/str-two-way.h (two_way_long_needle): Always clear memory
-       when skipping input due to the shift table.
-
-Index: glibc-2.12-2-gc4ccff1/string/Makefile
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/string/Makefile
-+++ glibc-2.12-2-gc4ccff1/string/Makefile
-@@ -54,7 +54,8 @@ tests                := tester inl-tester noinl-tester
-                  bug-strncat1 bug-strspn1 bug-strpbrk1 tst-bswap      \
-                  tst-strtok tst-strxfrm bug-strcoll1 tst-strfry       \
-                  bug-strtok1 $(addprefix test-,$(strop-tests))        \
--                 bug-envz1 tst-strxfrm2 tst-endian tst-svc2
-+                 bug-envz1 tst-strxfrm2 tst-endian tst-svc2           \
-+                 bug-strstr1
- distribute    := memcopy.h pagecopy.h tst-svc.expect test-string.h    \
-                  str-two-way.h
-@@ -73,6 +74,7 @@ CFLAGS-tst-strlen.c = -fno-builtin
- CFLAGS-stratcliff.c = -fno-builtin
- CFLAGS-test-ffs.c = -fno-builtin
- CFLAGS-tst-inlcall.c = -fno-builtin
-+CFLAGS-bug-strstr1.c = -fno-builtin
- ifeq ($(cross-compiling),no)
- tests: $(objpfx)tst-svc.out
-Index: glibc-2.12-2-gc4ccff1/string/bug-strstr1.c
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/string/bug-strstr1.c
-@@ -0,0 +1,26 @@
-+#include <stdio.h>
-+#include <string.h>
-+
-+int main (int argc, char** argv)
-+{
-+  const char haystack[] =
-+    "F_BD_CE_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD_C3_88_20_EF_BF_BD_EF_BF_BD_EF_BF_BD_C3_A7_20_EF_BF_BD";
-+
-+  const char needle[] =
-+    "_EF_BF_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD";
-+
-+  const char* sub = strstr (haystack, needle);
-+
-+  if (sub != NULL)
-+    {
-+      int j;
-+
-+      fprintf (stderr, "BUG: expected NULL, got:\n%s\n%s\n", sub, needle);
-+      for (j = 0; needle[j] != '\0'; ++j)
-+        putchar (needle[j] == sub[j] ? ' ' : '^');
-+      puts ("");
-+      return 1;
-+    }
-+
-+  return 0;
-+}
-Index: glibc-2.12-2-gc4ccff1/string/str-two-way.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/string/str-two-way.h
-+++ glibc-2.12-2-gc4ccff1/string/str-two-way.h
-@@ -350,8 +350,8 @@ two_way_long_needle (const unsigned char
-                    a byte out of place, there can be no match until
-                    after the mismatch.  */
-                 shift = needle_len - period;
--                memory = 0;
-               }
-+            memory = 0;
-             j += shift;
-             continue;
-           }
diff --git a/src/patches/glibc/glibc-rh642584.patch b/src/patches/glibc/glibc-rh642584.patch
deleted file mode 100644 (file)
index 7fd390d..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-2010-10-13  H.J. Lu  <hongjiu.lu@intel.com>
-
-       [BZ #12113]
-       * sysdeps/x86_64/pthreaddef.h (TCB_ALIGNMENT): Changed to 32.
-       * sysdeps/x86_64/tls.h (TLS_TCB_ALIGN): Defined with alignment
-       of "struct pthread".
-
-Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/x86_64/pthreaddef.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/x86_64/pthreaddef.h
-+++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/x86_64/pthreaddef.h
-@@ -27,8 +27,9 @@
- /* Minimal stack size after allocating thread descriptor and guard size.  */
- #define MINIMAL_REST_STACK    2048
--/* Alignment requirement for TCB.  */
--#define TCB_ALIGNMENT         16
-+/* Alignment requirement for TCB.  Need to store post-AVX vector registers
-+   in the TCB and we want the storage to be aligned at 32-byte.  */
-+#define TCB_ALIGNMENT         32
- /* Location of current stack frame.  The frame pointer is not usable.  */
-Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/x86_64/tls.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/x86_64/tls.h
-+++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/x86_64/tls.h
-@@ -117,12 +117,7 @@ typedef struct
- # define TLS_TCB_SIZE sizeof (struct pthread)
- /* Alignment requirements for the TCB.  */
--//# define TLS_TCB_ALIGN __alignof__ (struct pthread)
--// Normally the above would be correct  But we have to store post-AVX
--// vector registers in the TCB and we want the storage to be aligned.
--// unfortunately there isn't yet a type for these values and hence no
--// 32-byte alignment requirement.  Make this explicit, for now.
--# define TLS_TCB_ALIGN 32
-+# define TLS_TCB_ALIGN __alignof__ (struct pthread)
- /* The TCB can have any size and the memory following the address the
-    thread pointer points to is unspecified.  Allocate the TCB there.  */
diff --git a/src/patches/glibc/glibc-rh643822.patch b/src/patches/glibc/glibc-rh643822.patch
deleted file mode 100644 (file)
index c32c1fe..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-2010-12-09  Andreas Schwab  <schwab@redhat.com>
-
-       * elf/dl-object.c (_dl_new_object): Ignore origin of privileged
-       program.
-
-2010-10-18  Andreas Schwab  <schwab@redhat.com>
-
-       * elf/dl-open.c (dl_open_worker): Don't expand DST here, let
-       _dl_map_object do it.
-
-Index: glibc-2.12-2-gc4ccff1/elf/dl-object.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/dl-object.c
-+++ glibc-2.12-2-gc4ccff1/elf/dl-object.c
-@@ -214,6 +214,9 @@ _dl_new_object (char *realname, const ch
-     out:
-       new->l_origin = origin;
-     }
-+  else if (INTUSE(__libc_enable_secure) && type == lt_executable)
-+    /* The origin of a privileged program cannot be trusted.  */
-+    new->l_origin = (char *) -1;
-   return new;
- }
-Index: glibc-2.12-2-gc4ccff1/elf/dl-open.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/dl-open.c
-+++ glibc-2.12-2-gc4ccff1/elf/dl-open.c
-@@ -221,35 +221,6 @@ dl_open_worker (void *a)
-   assert (_dl_debug_initialize (0, args->nsid)->r_state == RT_CONSISTENT);
--  /* Maybe we have to expand a DST.  */
--  if (__builtin_expect (dst != NULL, 0))
--    {
--      size_t len = strlen (file);
--
--      /* Determine how much space we need.  We have to allocate the
--       memory locally.  */
--      size_t required = DL_DST_REQUIRED (call_map, file, len,
--                                       _dl_dst_count (dst, 0));
--
--      /* Get space for the new file name.  */
--      char *new_file = (char *) alloca (required + 1);
--
--      /* Generate the new file name.  */
--      _dl_dst_substitute (call_map, file, new_file, 0);
--
--      /* If the substitution failed don't try to load.  */
--      if (*new_file == '\0')
--      _dl_signal_error (0, "dlopen", NULL,
--                        N_("empty dynamic string token substitution"));
--
--      /* Now we have a new file name.  */
--      file = new_file;
--
--      /* It does not matter whether call_map is set even if we
--       computed it only because of the DST.  Since the path contains
--       a slash the value is not used.  See dl-load.c.  */
--    }
--
-   /* Load the named object.  */
-   struct link_map *new;
-   args->map = new = _dl_map_object (call_map, file, 0, lt_loaded, 0,
diff --git a/src/patches/glibc/glibc-rh645672.patch b/src/patches/glibc/glibc-rh645672.patch
deleted file mode 100644 (file)
index 644614e..0000000
+++ /dev/null
@@ -1,215 +0,0 @@
-2010-10-22  Andreas Schwab  <schwab@redhat.com>
-
-       * include/dlfcn.h (__RTLD_SECURE): Define.
-       * elf/dl-load.c (_dl_map_object): Remove preloaded parameter.  Use
-       mode & __RTLD_SECURE instead.
-       (open_path): Remove preloaded parameter to secure.
-       * sysdeps/generic/ldsodefs.h (_dl_map_object): Adjust declaration.
-       * elf/dl-open.c (dl_open_worker): Adjust call to _dl_map_object.
-       * elf/dl-deps.c (openaux): Likewise.
-       * elf/rtld.c (struct map_args): Remove is_preloaded.
-       (map_doit): Don't use it.
-       (dl_main): Likewise.
-       (do_preload): Use __RTLD_SECURE instead of is_preloaded.
-       (dlmopen_doit): Add __RTLD_SECURE to mode bits.
-
-Index: glibc-2.12-2-gc4ccff1/elf/dl-deps.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/dl-deps.c
-+++ glibc-2.12-2-gc4ccff1/elf/dl-deps.c
-@@ -62,7 +62,7 @@ openaux (void *a)
- {
-   struct openaux_args *args = (struct openaux_args *) a;
--  args->aux = _dl_map_object (args->map, args->name, 0,
-+  args->aux = _dl_map_object (args->map, args->name,
-                             (args->map->l_type == lt_executable
-                              ? lt_library : args->map->l_type),
-                             args->trace_mode, args->open_mode,
-Index: glibc-2.12-2-gc4ccff1/elf/dl-load.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/dl-load.c
-+++ glibc-2.12-2-gc4ccff1/elf/dl-load.c
-@@ -1811,7 +1811,7 @@ open_verify (const char *name, struct fi
-    if MAY_FREE_DIRS is true.  */
- static int
--open_path (const char *name, size_t namelen, int preloaded,
-+open_path (const char *name, size_t namelen, int secure,
-          struct r_search_path_struct *sps, char **realname,
-          struct filebuf *fbp, struct link_map *loader, int whatcode,
-          bool *found_other_class)
-@@ -1893,7 +1893,7 @@ open_path (const char *name, size_t name
-         /* Remember whether we found any existing directory.  */
-         here_any |= this_dir->status[cnt] != nonexisting;
--        if (fd != -1 && __builtin_expect (preloaded, 0)
-+        if (fd != -1 && __builtin_expect (secure, 0)
-             && INTUSE(__libc_enable_secure))
-           {
-             /* This is an extra security effort to make sure nobody can
-@@ -1962,7 +1962,7 @@ open_path (const char *name, size_t name
- struct link_map *
- internal_function
--_dl_map_object (struct link_map *loader, const char *name, int preloaded,
-+_dl_map_object (struct link_map *loader, const char *name,
-               int type, int trace_mode, int mode, Lmid_t nsid)
- {
-   int fd;
-@@ -2066,7 +2066,8 @@ _dl_map_object (struct link_map *loader,
-         for (l = loader; l; l = l->l_loader)
-           if (cache_rpath (l, &l->l_rpath_dirs, DT_RPATH, "RPATH"))
-             {
--              fd = open_path (name, namelen, preloaded, &l->l_rpath_dirs,
-+              fd = open_path (name, namelen, mode & __RTLD_SECURE,
-+                              &l->l_rpath_dirs,
-                               &realname, &fb, loader, LA_SER_RUNPATH,
-                               &found_other_class);
-               if (fd != -1)
-@@ -2081,14 +2082,15 @@ _dl_map_object (struct link_map *loader,
-             && main_map != NULL && main_map->l_type != lt_loaded
-             && cache_rpath (main_map, &main_map->l_rpath_dirs, DT_RPATH,
-                             "RPATH"))
--          fd = open_path (name, namelen, preloaded, &main_map->l_rpath_dirs,
-+          fd = open_path (name, namelen, mode & __RTLD_SECURE,
-+                          &main_map->l_rpath_dirs,
-                           &realname, &fb, loader ?: main_map, LA_SER_RUNPATH,
-                           &found_other_class);
-       }
-       /* Try the LD_LIBRARY_PATH environment variable.  */
-       if (fd == -1 && env_path_list.dirs != (void *) -1)
--      fd = open_path (name, namelen, preloaded, &env_path_list,
-+      fd = open_path (name, namelen, mode & __RTLD_SECURE, &env_path_list,
-                       &realname, &fb,
-                       loader ?: GL(dl_ns)[LM_ID_BASE]._ns_loaded,
-                       LA_SER_LIBPATH, &found_other_class);
-@@ -2097,12 +2099,12 @@ _dl_map_object (struct link_map *loader,
-       if (fd == -1 && loader != NULL
-         && cache_rpath (loader, &loader->l_runpath_dirs,
-                         DT_RUNPATH, "RUNPATH"))
--      fd = open_path (name, namelen, preloaded,
-+      fd = open_path (name, namelen, mode & __RTLD_SECURE,
-                       &loader->l_runpath_dirs, &realname, &fb, loader,
-                       LA_SER_RUNPATH, &found_other_class);
-       if (fd == -1
--        && (__builtin_expect (! preloaded, 1)
-+        && (__builtin_expect (! (mode & __RTLD_SECURE), 1)
-             || ! INTUSE(__libc_enable_secure)))
-       {
-         /* Check the list of libraries in the file /etc/ld.so.cache,
-@@ -2168,7 +2170,7 @@ _dl_map_object (struct link_map *loader,
-         && ((l = loader ?: GL(dl_ns)[nsid]._ns_loaded) == NULL
-             || __builtin_expect (!(l->l_flags_1 & DF_1_NODEFLIB), 1))
-         && rtld_search_dirs.dirs != (void *) -1)
--      fd = open_path (name, namelen, preloaded, &rtld_search_dirs,
-+      fd = open_path (name, namelen, mode & __RTLD_SECURE, &rtld_search_dirs,
-                       &realname, &fb, l, LA_SER_DEFAULT, &found_other_class);
-       /* Add another newline when we are tracing the library loading.  */
-Index: glibc-2.12-2-gc4ccff1/elf/dl-open.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/dl-open.c
-+++ glibc-2.12-2-gc4ccff1/elf/dl-open.c
-@@ -252,7 +252,7 @@ dl_open_worker (void *a)
-   /* Load the named object.  */
-   struct link_map *new;
--  args->map = new = _dl_map_object (call_map, file, 0, lt_loaded, 0,
-+  args->map = new = _dl_map_object (call_map, file, lt_loaded, 0,
-                                   mode | __RTLD_CALLMAP, args->nsid);
-   /* If the pointer returned is NULL this means the RTLD_NOLOAD flag is
-Index: glibc-2.12-2-gc4ccff1/elf/rtld.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/rtld.c
-+++ glibc-2.12-2-gc4ccff1/elf/rtld.c
-@@ -589,7 +589,6 @@ struct map_args
-   /* Argument to map_doit.  */
-   char *str;
-   struct link_map *loader;
--  int is_preloaded;
-   int mode;
-   /* Return value of map_doit.  */
-   struct link_map *map;
-@@ -627,16 +626,17 @@ static void
- map_doit (void *a)
- {
-   struct map_args *args = (struct map_args *) a;
--  args->map = _dl_map_object (args->loader, args->str,
--                            args->is_preloaded, lt_library, 0, args->mode,
--                            LM_ID_BASE);
-+  args->map = _dl_map_object (args->loader, args->str, lt_library, 0,
-+                            args->mode, LM_ID_BASE);
- }
- static void
- dlmopen_doit (void *a)
- {
-   struct dlmopen_args *args = (struct dlmopen_args *) a;
--  args->map = _dl_open (args->fname, RTLD_LAZY | __RTLD_DLOPEN | __RTLD_AUDIT,
-+  args->map = _dl_open (args->fname,
-+                      (RTLD_LAZY | __RTLD_DLOPEN | __RTLD_AUDIT
-+                       | __RTLD_SECURE),
-                       dl_main, LM_ID_NEWLM, _dl_argc, INTUSE(_dl_argv),
-                       __environ);
- }
-@@ -806,8 +806,7 @@ do_preload (char *fname, struct link_map
-   args.str = fname;
-   args.loader = main_map;
--  args.is_preloaded = 1;
--  args.mode = 0;
-+  args.mode = __RTLD_SECURE;
-   unsigned int old_nloaded = GL(dl_ns)[LM_ID_BASE]._ns_nloaded;
-@@ -1054,7 +1053,6 @@ of this helper program; chances are you 
-         args.str = rtld_progname;
-         args.loader = NULL;
--        args.is_preloaded = 0;
-         args.mode = __RTLD_OPENEXEC;
-         (void) _dl_catch_error (&objname, &err_str, &malloced, map_doit,
-                                 &args);
-@@ -1066,7 +1064,7 @@ of this helper program; chances are you 
-       else
-       {
-         HP_TIMING_NOW (start);
--        _dl_map_object (NULL, rtld_progname, 0, lt_library, 0,
-+        _dl_map_object (NULL, rtld_progname, lt_library, 0,
-                         __RTLD_OPENEXEC, LM_ID_BASE);
-         HP_TIMING_NOW (stop);
-Index: glibc-2.12-2-gc4ccff1/include/dlfcn.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/include/dlfcn.h
-+++ glibc-2.12-2-gc4ccff1/include/dlfcn.h
-@@ -9,6 +9,7 @@
- #define __RTLD_OPENEXEC       0x20000000
- #define __RTLD_CALLMAP        0x10000000
- #define __RTLD_AUDIT  0x08000000
-+#define __RTLD_SECURE 0x04000000 /* Apply additional security checks.  */
- #define __LM_ID_CALLER        -2
-Index: glibc-2.12-2-gc4ccff1/sysdeps/generic/ldsodefs.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/generic/ldsodefs.h
-+++ glibc-2.12-2-gc4ccff1/sysdeps/generic/ldsodefs.h
-@@ -824,11 +824,9 @@ extern void _dl_receive_error (receiver_
- /* Open the shared object NAME and map in its segments.
-    LOADER's DT_RPATH is used in searching for NAME.
--   If the object is already opened, returns its existing map.
--   For preloaded shared objects PRELOADED is set to a non-zero
--   value to allow additional security checks.  */
-+   If the object is already opened, returns its existing map.  */
- extern struct link_map *_dl_map_object (struct link_map *loader,
--                                      const char *name, int preloaded,
-+                                      const char *name,
-                                       int type, int trace_mode, int mode,
-                                       Lmid_t nsid)
-      internal_function attribute_hidden;
diff --git a/src/patches/glibc/glibc-rh646954.patch b/src/patches/glibc/glibc-rh646954.patch
deleted file mode 100644 (file)
index bbb959e..0000000
+++ /dev/null
@@ -1,216 +0,0 @@
-2010-10-26  Ulrich Drepper  <drepper@gmail.com>
-
-       * elf/rtld.c (dl_main): Move assertion after the point where rtld map
-       is added to the list.
-
-2010-10-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
-           Ulrich Drepper  <drepper@gmail.com>
-
-       * elf/dl-object.c (_dl_new_object): Don't append the new object to
-       the global list here.  Move code to...
-       (_dl_add_to_namespace_list): ...here.  New function.
-       * elf/rtld.c (dl_main): Invoke _dl_add_to_namespace_list.
-       * sysdeps/generic/ldsodefs.h (_dl_add_to_namespace_list): Declare.
-       * elf/dl-load.c (lose): Don't remove the element from the list.
-       (_dl_map_object_from_fd): Invoke _dl_add_to_namespace_list.
-       (_dl_map_object): Likewise.
-
-Index: glibc-2.12-2-gc4ccff1/elf/dl-load.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/dl-load.c
-+++ glibc-2.12-2-gc4ccff1/elf/dl-load.c
-@@ -797,22 +797,7 @@ lose (int code, int fd, const char *name
-   /* The file might already be closed.  */
-   if (fd != -1)
-     (void) __close (fd);
--  if (l != NULL)
--    {
--      /* We modify the list of loaded objects.  */
--      __rtld_lock_lock_recursive (GL(dl_load_write_lock));
--      /* Remove the stillborn object from the list and free it.  */
--      assert (l->l_next == NULL);
--      if (l->l_prev == NULL)
--      /* No other module loaded. This happens only in the static library,
--         or in rtld under --verify.  */
--      GL(dl_ns)[l->l_ns]._ns_loaded = NULL;
--      else
--      l->l_prev->l_next = NULL;
--      --GL(dl_ns)[l->l_ns]._ns_nloaded;
--      free (l);
--      __rtld_lock_unlock_recursive (GL(dl_load_write_lock));
--    }
-+  free (l);
-   free (realname);
-   if (r != NULL)
-@@ -897,6 +882,9 @@ _dl_map_object_from_fd (const char *name
-        never be unloaded.  */
-       __close (fd);
-+      /* Add the map for the mirrored object to the object list.  */
-+      _dl_add_to_namespace_list (l, nsid);
-+
-       return l;
-     }
- #endif
-@@ -1491,6 +1479,9 @@ cannot enable executable stack as shared
-     add_name_to_object (l, ((const char *) D_PTR (l, l_info[DT_STRTAB])
-                           + l->l_info[DT_SONAME]->d_un.d_val));
-+  /* Now that the object is fully initialized add it to the object list.  */
-+  _dl_add_to_namespace_list (l, nsid);
-+
- #ifdef SHARED
-   /* Auditing checkpoint: we have a new object.  */
-   if (__builtin_expect (GLRO(dl_naudit) > 0, 0)
-@@ -2215,7 +2206,7 @@ _dl_map_object (struct link_map *loader,
-            have.  */
-         static const Elf_Symndx dummy_bucket = STN_UNDEF;
--        /* Enter the new object in the list of loaded objects.  */
-+        /* Allocate a new object map.  */
-         if ((name_copy = local_strdup (name)) == NULL
-             || (l = _dl_new_object (name_copy, name, type, loader,
-                                     mode, nsid)) == NULL)
-@@ -2233,6 +2224,9 @@ _dl_map_object (struct link_map *loader,
-         l->l_nbuckets = 1;
-         l->l_relocated = 1;
-+        /* Enter the object in the object list.  */
-+        _dl_add_to_namespace_list (l, nsid);
-+
-         return l;
-       }
-       else if (found_other_class)
-Index: glibc-2.12-2-gc4ccff1/elf/dl-object.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/dl-object.c
-+++ glibc-2.12-2-gc4ccff1/elf/dl-object.c
-@@ -26,16 +26,41 @@
- #include <assert.h>
-+/* Add the new link_map NEW to the end of the namespace list.  */
-+void
-+internal_function
-+_dl_add_to_namespace_list (struct link_map *new, Lmid_t nsid)
-+{
-+  /* We modify the list of loaded objects.  */
-+  __rtld_lock_lock_recursive (GL(dl_load_write_lock));
-+
-+  if (GL(dl_ns)[nsid]._ns_loaded != NULL)
-+    {
-+      struct link_map *l = GL(dl_ns)[nsid]._ns_loaded;
-+      while (l->l_next != NULL)
-+      l = l->l_next;
-+      new->l_prev = l;
-+      /* new->l_next = NULL;   Would be necessary but we use calloc.  */
-+      l->l_next = new;
-+    }
-+  else
-+    GL(dl_ns)[nsid]._ns_loaded = new;
-+  ++GL(dl_ns)[nsid]._ns_nloaded;
-+  new->l_serial = GL(dl_load_adds);
-+  ++GL(dl_load_adds);
-+
-+  __rtld_lock_unlock_recursive (GL(dl_load_write_lock));
-+}
-+
-+
- /* Allocate a `struct link_map' for a new object being loaded,
-    and enter it into the _dl_loaded list.  */
--
- struct link_map *
- internal_function
- _dl_new_object (char *realname, const char *libname, int type,
-               struct link_map *loader, int mode, Lmid_t nsid)
- {
-   struct link_map *l;
--  int idx;
-   size_t libname_len = strlen (libname) + 1;
-   struct link_map *new;
-   struct libname_list *newname;
-@@ -93,31 +118,12 @@ _dl_new_object (char *realname, const ch
-   new->l_scope = new->l_scope_mem;
-   new->l_scope_max = sizeof (new->l_scope_mem) / sizeof (new->l_scope_mem[0]);
--  /* We modify the list of loaded objects.  */
--  __rtld_lock_lock_recursive (GL(dl_load_write_lock));
--
-   /* Counter for the scopes we have to handle.  */
--  idx = 0;
-+  int idx = 0;
-   if (GL(dl_ns)[nsid]._ns_loaded != NULL)
--    {
--      l = GL(dl_ns)[nsid]._ns_loaded;
--      while (l->l_next != NULL)
--      l = l->l_next;
--      new->l_prev = l;
--      /* new->l_next = NULL;  Would be necessary but we use calloc.  */
--      l->l_next = new;
--
--      /* Add the global scope.  */
--      new->l_scope[idx++] = &GL(dl_ns)[nsid]._ns_loaded->l_searchlist;
--    }
--  else
--    GL(dl_ns)[nsid]._ns_loaded = new;
--  ++GL(dl_ns)[nsid]._ns_nloaded;
--  new->l_serial = GL(dl_load_adds);
--  ++GL(dl_load_adds);
--
--  __rtld_lock_unlock_recursive (GL(dl_load_write_lock));
-+    /* Add the global scope.  */
-+    new->l_scope[idx++] = &GL(dl_ns)[nsid]._ns_loaded->l_searchlist;
-   /* If we have no loader the new object acts as it.  */
-   if (loader == NULL)
-Index: glibc-2.12-2-gc4ccff1/elf/rtld.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/rtld.c
-+++ glibc-2.12-2-gc4ccff1/elf/rtld.c
-@@ -1108,11 +1108,15 @@ of this helper program; chances are you 
-       main_map = _dl_new_object ((char *) "", "", lt_executable, NULL,
-                                __RTLD_OPENEXEC, LM_ID_BASE);
-       assert (main_map != NULL);
--      assert (main_map == GL(dl_ns)[LM_ID_BASE]._ns_loaded);
-       main_map->l_phdr = phdr;
-       main_map->l_phnum = phnum;
-       main_map->l_entry = *user_entry;
-+      /* Even though the link map is not yet fully initialized we can add
-+       it to the map list since there are no possible users running yet.  */
-+      _dl_add_to_namespace_list (main_map, LM_ID_BASE);
-+      assert (main_map == GL(dl_ns)[LM_ID_BASE]._ns_loaded);
-+
-       /* At this point we are in a bit of trouble.  We would have to
-        fill in the values for l_dev and l_ino.  But in general we
-        do not know where the file is.  We also do not handle AT_EXECFD
-@@ -1380,6 +1384,9 @@ of this helper program; chances are you 
-             l->l_libname->name = memcpy (copy, dsoname, len);
-           }
-+        /* Add the vDSO to the object list.  */
-+        _dl_add_to_namespace_list (l, LM_ID_BASE);
-+
-         /* Rearrange the list so this DSO appears after rtld_map.  */
-         assert (l->l_next == NULL);
-         assert (l->l_prev == main_map);
-Index: glibc-2.12-2-gc4ccff1/sysdeps/generic/ldsodefs.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/generic/ldsodefs.h
-+++ glibc-2.12-2-gc4ccff1/sysdeps/generic/ldsodefs.h
-@@ -891,8 +891,11 @@ extern lookup_t _dl_lookup_symbol_x (con
- extern ElfW(Addr) _dl_symbol_value (struct link_map *map, const char *name)
-      internal_function;
--/* Allocate a `struct link_map' for a new object being loaded,
--   and enter it into the _dl_main_map list.  */
-+/* Add the new link_map NEW to the end of the namespace list.  */
-+extern void _dl_add_to_namespace_list (struct link_map *new, Lmid_t nsid)
-+     internal_function attribute_hidden;
-+
-+/* Allocate a `struct link_map' for a new object being loaded.  */
- extern struct link_map *_dl_new_object (char *realname, const char *libname,
-                                       int type, struct link_map *loader,
-                                       int mode, Lmid_t nsid)
diff --git a/src/patches/glibc/glibc-rh647448.patch b/src/patches/glibc/glibc-rh647448.patch
deleted file mode 100644 (file)
index ff55945..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-2010-10-25  Ulrich Drepper  <drepper@redhat.com>
-
-       [BZ #12159]
-       * sysdeps/x86_64/multiarch/strchr.S: Fix propagation of search byte
-       into all bytes of SSE register.
-       Patch by Richard Li <richardpku@gmail.com>.
-
-Index: glibc-2.12-2-gc4ccff1/string/Makefile
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/string/Makefile
-+++ glibc-2.12-2-gc4ccff1/string/Makefile
-@@ -55,7 +55,7 @@ tests                := tester inl-tester noinl-tester
-                  tst-strtok tst-strxfrm bug-strcoll1 tst-strfry       \
-                  bug-strtok1 $(addprefix test-,$(strop-tests))        \
-                  bug-envz1 tst-strxfrm2 tst-endian tst-svc2           \
--                 bug-strstr1
-+                 bug-strstr1 bug-strchr1
- distribute    := memcopy.h pagecopy.h tst-svc.expect test-string.h    \
-                  str-two-way.h
-Index: glibc-2.12-2-gc4ccff1/string/bug-strchr1.c
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/string/bug-strchr1.c
-@@ -0,0 +1,14 @@
-+#include <stdio.h>
-+#include <string.h>
-+
-+static int
-+do_test (void)
-+{
-+  char s[] __attribute__((aligned(16))) = "\xff";
-+  char *p = strchr (s, '\xfe');
-+  printf ("%p\n", p);
-+  return p != NULL;
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strchr.S
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/multiarch/strchr.S
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strchr.S
-@@ -87,13 +87,13 @@ __strchr_sse42:
-       pxor    %xmm2, %xmm2
-       movd    %esi, %xmm1
-       movl    %edi, %ecx
-+      pshufb  %xmm2, %xmm1
-       andl    $15, %ecx
-       movq    %rdi, %r8
-       je      L(aligned_start)
- /* Handle unaligned string.  */
-       andq    $-16, %r8
--      pshufb  %xmm2, %xmm1
-       movdqa  (%r8), %xmm0
-       pcmpeqb  %xmm0, %xmm2
-       pcmpeqb  %xmm1, %xmm0
diff --git a/src/patches/glibc/glibc-rh652661.patch b/src/patches/glibc/glibc-rh652661.patch
deleted file mode 100644 (file)
index 79a3212..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-2010-05-20  Andreas Schwab  <schwab@redhat.com>
-
-       * sysdeps/unix/sysv/linux/sys/timex.h: Use __REDIRECT_NTH.
-
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/sys/timex.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/sys/timex.h
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/sys/timex.h
-@@ -140,9 +140,9 @@ __BEGIN_DECLS
- extern int __adjtimex (struct timex *__ntx) __THROW;
- extern int adjtimex (struct timex *__ntx) __THROW;
--#if defined __GNUC__ && __GNUC__ >= 2
--extern int ntp_gettime (struct ntptimeval *__ntv)
--     __asm__ ("ntp_gettimex") __THROW;
-+#ifdef __REDIRECT_NTH
-+extern int __REDIRECT_NTH (ntp_gettime, (struct ntptimeval *__ntv),
-+                         ntp_gettimex);
- #else
- extern int ntp_gettimex (struct ntptimeval *__ntv) __THROW;
- # define ntp_gettime ntp_gettimex
diff --git a/src/patches/glibc/glibc-rh656014.patch b/src/patches/glibc/glibc-rh656014.patch
deleted file mode 100644 (file)
index 5ef68dc..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-2010-11-24  Andreas Schwab  <schwab@redhat.com>
-
-       * resolv/nss_dns/dns-host.c (getanswer_r): Don't handle ttl == 0
-       specially.
-       (gaih_getanswer_slice): Likewise.
-
-Index: glibc-2.12-2-gc4ccff1/resolv/nss_dns/dns-host.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/resolv/nss_dns/dns-host.c
-+++ glibc-2.12-2-gc4ccff1/resolv/nss_dns/dns-host.c
-@@ -599,7 +599,6 @@ getanswer_r (const querybuf *answer, int
-   int (*name_ok) (const char *);
-   u_char packtmp[NS_MAXCDNAME];
-   int have_to_map = 0;
--  int32_t ttl = 0;
-   uintptr_t pad = -(uintptr_t) buffer % __alignof__ (struct host_data);
-   buffer += pad;
-   if (__builtin_expect (buflen < sizeof (struct host_data) + pad, 0))
-@@ -733,7 +732,7 @@ getanswer_r (const querybuf *answer, int
-       cp += INT16SZ;                  /* type */
-       class = __ns_get16 (cp);
-       cp += INT16SZ;                  /* class */
--      ttl = __ns_get32 (cp);
-+      int32_t ttl = __ns_get32 (cp);
-       cp += INT32SZ;                  /* TTL */
-       n = __ns_get16 (cp);
-       cp += INT16SZ;                  /* len */
-@@ -907,7 +906,7 @@ getanswer_r (const querybuf *answer, int
-           {
-             register int nn;
--            if (ttlp != NULL && ttl != 0)
-+            if (ttlp != NULL)
-               *ttlp = ttl;
-             if (canonp != NULL)
-               *canonp = bp;
-@@ -1163,7 +1162,7 @@ gaih_getanswer_slice (const querybuf *an
-       if (*firstp)
-       {
--        if (ttl != 0 && ttlp != NULL)
-+        if (ttlp != NULL)
-           *ttlp = ttl;
-         (*pat)->name = canon ?: h_name;
diff --git a/src/patches/glibc/glibc-rh656530.patch b/src/patches/glibc/glibc-rh656530.patch
deleted file mode 100644 (file)
index f101430..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-2010-11-10  Luis Machado  <luisgpm@br.ibm.com>
-
-       * sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c (__ieee754_sqrtl): Force
-         signed comparison.
-
-Index: glibc-2.12-2-gc4ccff1/sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c
-+++ glibc-2.12-2-gc4ccff1/sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c
-@@ -73,9 +73,9 @@ long double __ieee754_sqrtl(long double 
-       m = ((a.i[2] >> 20) & 0x7ff) - 54;
-       }
-       m += n;
--      if (m > 0)
-+      if ((int) m > 0)
-       a.i[2] = (a.i[2] & 0x800fffff) | (m << 20);
--      else if (m <= -54) {
-+      else if ((int) m <= -54) {
-       a.i[2] &= 0x80000000;
-       a.i[3] = 0;
-       } else {
diff --git a/src/patches/glibc/glibc-rh657572.patch b/src/patches/glibc/glibc-rh657572.patch
deleted file mode 100644 (file)
index a720130..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-commit 42c5011242e48f846111237552d3bf3ca18c4885
-Author: Ulrich Drepper <drepper@gmail.com>
-Date:   Fri Dec 23 09:51:10 2011 -0500
-
-    Various fixes to fi_FI
-
- 2011-12-23  Ulrich Drepper  <drepper@gmail.com>
-       [BZ #12962]
-       * locales/fi_FI: Various fixups.
-       Patch by Marko Myllynen <myllynen@redhat.com>.
-
-diff --git a/localedata/locales/fi_FI b/localedata/locales/fi_FI
-index acc9ce6..f51700c 100644
---- a/localedata/locales/fi_FI
-+++ b/localedata/locales/fi_FI
-@@ -1,4 +1,4 @@
--escape_char   /
-+escape_char     /
- comment_char    %
- % Finnish language locale for Finland
-@@ -45,10 +45,10 @@ category  "fi_FI:2000";LC_NUMERIC
- category  "fi_FI:2000";LC_MONETARY
- category  "fi_FI:2000";LC_MESSAGES
- category  "fi_FI:2000";LC_PAPER
-+category  "fi_FI:2000";LC_MEASUREMENT
- category  "fi_FI:2000";LC_NAME
- category  "fi_FI:2000";LC_ADDRESS
- category  "fi_FI:2000";LC_TELEPHONE
--
- END LC_IDENTIFICATION
- LC_COLLATE
-@@ -125,7 +125,6 @@ reorder-after <U0044>
- <U0110> <d>;<OBL>;<CAP>;IGNORE
- reorder-end
--
- END LC_COLLATE
- LC_CTYPE
-@@ -146,12 +145,10 @@ positive_sign        ""
- negative_sign        "<U002D>"
- int_frac_digits      2
- frac_digits          2
--% int_curr_symbol precedes
--% curr_symbol succeeds
- p_cs_precedes        0
--p_sep_by_space       2
-+p_sep_by_space       1
- n_cs_precedes        0
--n_sep_by_space       2
-+n_sep_by_space       1
- p_sign_posn          1
- n_sign_posn          1
- END LC_MONETARY
-@@ -173,18 +170,18 @@ day      "<U0073><U0075><U006E><U006E><U0075><U006E><U0074><U0061><U0069>";/
-          "<U0074><U006F><U0072><U0073><U0074><U0061><U0069>";/
-          "<U0070><U0065><U0072><U006A><U0061><U006E><U0074><U0061><U0069>";/
-          "<U006C><U0061><U0075><U0061><U006E><U0074><U0061><U0069>"
--abmon    "<U0074><U0061><U006D><U006D><U0069><U00A0>";/
--         "<U0068><U0065><U006C><U006D><U0069><U00A0>";/
-+abmon    "<U0074><U0061><U006D><U006D><U0069>";/
-+         "<U0068><U0065><U006C><U006D><U0069>";/
-          "<U006D><U0061><U0061><U006C><U0069><U0073>";/
--         "<U0068><U0075><U0068><U0074><U0069><U00A0>";/
--         "<U0074><U006F><U0075><U006B><U006F><U00A0>";/
--         "<U006B><U0065><U0073><U00E4><U00A0><U00A0>";/
--         "<U0068><U0065><U0069><U006E><U00E4><U00A0>";/
--         "<U0065><U006C><U006F><U00A0><U00A0><U00A0>";/
--         "<U0073><U0079><U0079><U0073><U00A0><U00A0>";/
--         "<U006C><U006F><U006B><U0061><U00A0><U00A0>";/
-+         "<U0068><U0075><U0068><U0074><U0069>";/
-+         "<U0074><U006F><U0075><U006B><U006F>";/
-+         "<U006B><U0065><U0073><U00E4>";/
-+         "<U0068><U0065><U0069><U006E><U00E4>";/
-+         "<U0065><U006C><U006F>";/
-+         "<U0073><U0079><U0079><U0073>";/
-+         "<U006C><U006F><U006B><U0061>";/
-          "<U006D><U0061><U0072><U0072><U0061><U0073>";/
--         "<U006A><U006F><U0075><U006C><U0075><U00A0>"
-+         "<U006A><U006F><U0075><U006C><U0075>"
- mon      "<U0074><U0061><U006D><U006D><U0069><U006B><U0075><U0075>";/
-          "<U0068><U0065><U006C><U006D><U0069><U006B><U0075><U0075>";/
-          "<U006D><U0061><U0061><U006C><U0069><U0073><U006B><U0075><U0075>";/
-@@ -207,13 +204,14 @@ t_fmt_ampm  ""
- date_fmt       "<U0025><U0061><U0020><U0025><U002D><U0064><U002E><U0025>/
- <U002D><U006D><U002E><U0025><U0059><U0020><U0025><U0048><U002E><U0025>/
- <U004D><U002E><U0025><U0053><U0020><U0025><U007A>"
-+week     7;19971130;4
- first_weekday 2 % Monday
- first_workday 2 % Monday
- END LC_TIME
- LC_MESSAGES
--yesexpr  "<U005E><U005B><U004B><U006B><U004A><U006A><U0059><U0079><U005D><U002E><U002A>"
--noexpr   "<U005E><U005B><U004E><U006E><U0045><U0065><U005D><U002E><U002A>"
-+yesexpr  "<U005E><U005B><U004B><U006B><U0059><U0079><U005D><U002E><U002A>"
-+noexpr   "<U005E><U005B><U0045><U0065><U004E><U006E><U005D><U002E><U002A>"
- END LC_MESSAGES
- LC_PAPER
-@@ -222,6 +220,7 @@ width    210
- END LC_PAPER
- LC_TELEPHONE
-+tel_dom_fmt    "<U0028><U0025><U0041><U0029><U0020><U0025><U006C>"
- tel_int_fmt    "<U002B><U0025><U0063><U0020><U0025><U0061><U0020><U0025>/
- <U006C>"
- int_prefix     "<U0033><U0035><U0038>"
-@@ -235,15 +234,25 @@ END LC_MEASUREMENT
- LC_NAME
- name_fmt    "<U0025><U0064><U0025><U0074><U0025><U0067><U0025><U0074>/
- <U0025><U006D><U0025><U0074><U0025><U0066>"
-+% Finnish equivalents for Mr/Mrs/Miss/Ms are herra/rouva/rouva/neiti
-+% but they are practically never used, thus we don't define them here.
- END LC_NAME
- LC_ADDRESS
--postal_fmt    "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/
--<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/
--<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/
--<U004E><U0025><U007A><U0020><U0025><U0054><U0025>/
-+postal_fmt   "<U0025><U0066><U0025><U004E><U0025><U0064><U0025><U004E>/
-+<U0025><U0062><U0025><U004E><U0025><U0061><U0025><U004E><U0025><U0073>/
-+<U0020><U0025><U0068><U0025><U0074><U0025><U0065><U0025><U0074><U0025>/
-+<U0072><U0025><U004E><U0025><U007A><U0020><U0025><U0054><U0025>/
- <U004E><U0025><U0063><U0025><U004E>"
- country_ab2 "<U0046><U0049>"
- country_ab3 "<U0046><U0049><U004E>"
- country_num 246
-+country_name "<U0053><U0075><U006F><U006D><U0069>"
-+country_post "<U0046><U0049>"
-+country_car  "<U0046><U0049><U004E>"
-+country_isbn 952
-+lang_name    "<U0073><U0075><U006F><U006D><U0069>"
-+lang_ab      "<U0066><U0069>"
-+lang_term    "<U0066><U0069><U006E>"
-+lang_lib     "<U0066><U0069><U006E>"
- END LC_ADDRESS
diff --git a/src/patches/glibc/glibc-rh661982.patch b/src/patches/glibc/glibc-rh661982.patch
deleted file mode 100644 (file)
index 60b840b..0000000
+++ /dev/null
@@ -1,188 +0,0 @@
-2010-12-10  Andreas Schwab  <schwab@redhat.com>
-
-       * wcsmbs/wchar.h (wcpcpy, wcpncpy): Only declare under
-       _GNU_SOURCE.
-
-2010-12-10  Andreas Schwab  <schwab@redhat.com>
-
-       * wcsmbs/wchar.h (wcpcpy, wcpncpy): Add __restrict.
-       * wcsmbs/bits/wchar2.h (__wmemmove_chk_warn, wmemmove, wmemset):
-       Remove __restrict.
-       (wcscpy, __wcpcpy_chk, __wcpcpy_alias, wcpcpy, wcsncpy, wcpncpy)
-       (wcscat, wcsncat, __wcrtomb_chk, wcrtomb): Add __restrict.
-
-2010-12-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * string/bits/string3.h (memmove, bcopy): Remove __restrict.
-
-Index: glibc-2.12-2-gc4ccff1/string/bits/string3.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/string/bits/string3.h
-+++ glibc-2.12-2-gc4ccff1/string/bits/string3.h
-@@ -53,8 +53,7 @@ __NTH (memcpy (void *__restrict __dest, 
- }
- __extern_always_inline void *
--__NTH (memmove (void *__restrict __dest, __const void *__restrict __src,
--              size_t __len))
-+__NTH (memmove (void *__dest, __const void *__src, size_t __len))
- {
-   return __builtin___memmove_chk (__dest, __src, __len, __bos0 (__dest));
- }
-@@ -88,8 +87,7 @@ __NTH (memset (void *__dest, int __ch, s
- #ifdef __USE_BSD
- __extern_always_inline void
--__NTH (bcopy (__const void *__restrict __src, void *__restrict __dest,
--            size_t __len))
-+__NTH (bcopy (__const void *__src, void *__dest, size_t __len))
- {
-   (void) __builtin___memmove_chk (__dest, __src, __len, __bos0 (__dest));
- }
-Index: glibc-2.12-2-gc4ccff1/wcsmbs/bits/wchar2.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/wcsmbs/bits/wchar2.h
-+++ glibc-2.12-2-gc4ccff1/wcsmbs/bits/wchar2.h
-@@ -60,15 +60,13 @@ extern wchar_t *__REDIRECT_NTH (__wmemmo
-                                                  __const wchar_t *__s2,
-                                                  size_t __n), wmemmove);
- extern wchar_t *__REDIRECT_NTH (__wmemmove_chk_warn,
--                              (wchar_t *__restrict __s1,
--                               __const wchar_t *__restrict __s2, size_t __n,
--                               size_t __ns1), __wmemmove_chk)
-+                              (wchar_t *__s1, __const wchar_t *__s2,
-+                               size_t __n, size_t __ns1), __wmemmove_chk)
-      __warnattr ("wmemmove called with length bigger than size of destination "
-                "buffer");
- __extern_always_inline wchar_t *
--__NTH (wmemmove (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2,
--               size_t __n))
-+__NTH (wmemmove (wchar_t *__s1, __const wchar_t *__s2, size_t __n))
- {
-   if (__bos0 (__s1) != (size_t) -1)
-     {
-@@ -129,7 +127,7 @@ extern wchar_t *__REDIRECT_NTH (__wmemse
-                "buffer");
- __extern_always_inline wchar_t *
--__NTH (wmemset (wchar_t *__restrict __s, wchar_t __c, size_t __n))
-+__NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n))
- {
-   if (__bos0 (__s) != (size_t) -1)
-     {
-@@ -152,7 +150,7 @@ extern wchar_t *__REDIRECT_NTH (__wcscpy
-                                __const wchar_t *__restrict __src), wcscpy);
- __extern_always_inline wchar_t *
--__NTH (wcscpy (wchar_t *__dest, __const wchar_t *__src))
-+__NTH (wcscpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src))
- {
-   if (__bos (__dest) != (size_t) -1)
-     return __wcscpy_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
-@@ -160,14 +158,15 @@ __NTH (wcscpy (wchar_t *__dest, __const 
- }
--extern wchar_t *__wcpcpy_chk (wchar_t *__dest, __const wchar_t *__src,
-+extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest,
-+                            __const wchar_t *__restrict __src,
-                             size_t __destlen) __THROW;
--extern wchar_t *__REDIRECT_NTH (__wcpcpy_alias, (wchar_t *__dest,
--                                               __const wchar_t *__src),
--                              wcpcpy);
-+extern wchar_t *__REDIRECT_NTH (__wcpcpy_alias,
-+                              (wchar_t *__restrict __dest,
-+                               __const wchar_t *__restrict __src), wcpcpy);
- __extern_always_inline wchar_t *
--__NTH (wcpcpy (wchar_t *__dest, __const wchar_t *__src))
-+__NTH (wcpcpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src))
- {
-   if (__bos (__dest) != (size_t) -1)
-     return __wcpcpy_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
-@@ -190,7 +189,8 @@ extern wchar_t *__REDIRECT_NTH (__wcsncp
-                "buffer");
- __extern_always_inline wchar_t *
--__NTH (wcsncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n))
-+__NTH (wcsncpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src,
-+              size_t __n))
- {
-   if (__bos (__dest) != (size_t) -1)
-     {
-@@ -220,7 +220,8 @@ extern wchar_t *__REDIRECT_NTH (__wcpncp
-                "buffer");
- __extern_always_inline wchar_t *
--__NTH (wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n))
-+__NTH (wcpncpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src,
-+              size_t __n))
- {
-   if (__bos (__dest) != (size_t) -1)
-     {
-@@ -243,7 +244,7 @@ extern wchar_t *__REDIRECT_NTH (__wcscat
-                                __const wchar_t *__restrict __src), wcscat);
- __extern_always_inline wchar_t *
--__NTH (wcscat (wchar_t *__dest, __const wchar_t *__src))
-+__NTH (wcscat (wchar_t *__restrict __dest, __const wchar_t *__restrict __src))
- {
-   if (__bos (__dest) != (size_t) -1)
-     return __wcscat_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
-@@ -260,7 +261,8 @@ extern wchar_t *__REDIRECT_NTH (__wcsnca
-                                size_t __n), wcsncat);
- __extern_always_inline wchar_t *
--__NTH (wcsncat (wchar_t *__dest, __const wchar_t *__src, size_t __n))
-+__NTH (wcsncat (wchar_t *__restrict __dest, __const wchar_t *__restrict __src,
-+              size_t __n))
- {
-   if (__bos (__dest) != (size_t) -1)
-     return __wcsncat_chk (__dest, __src, __n,
-@@ -428,14 +430,16 @@ fgetws_unlocked (wchar_t *__restrict __s
- #endif
--extern size_t __wcrtomb_chk (char *__s, wchar_t __wchar, mbstate_t *__p,
--                        size_t __buflen) __THROW __wur;
-+extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar,
-+                           mbstate_t *__restrict __p,
-+                           size_t __buflen) __THROW __wur;
- extern size_t __REDIRECT_NTH (__wcrtomb_alias,
-                             (char *__restrict __s, wchar_t __wchar,
-                              mbstate_t *__restrict __ps), wcrtomb) __wur;
- __extern_always_inline __wur size_t
--__NTH (wcrtomb (char *__s, wchar_t __wchar, mbstate_t *__ps))
-+__NTH (wcrtomb (char *__restrict __s, wchar_t __wchar,
-+              mbstate_t *__restrict __ps))
- {
-   /* We would have to include <limits.h> to get a definition of MB_LEN_MAX.
-      But this would only disturb the namespace.  So we define our own
-Index: glibc-2.12-2-gc4ccff1/wcsmbs/wchar.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/wcsmbs/wchar.h
-+++ glibc-2.12-2-gc4ccff1/wcsmbs/wchar.h
-@@ -555,17 +555,17 @@ extern float wcstof_l (__const wchar_t *
- extern long double wcstold_l (__const wchar_t *__restrict __nptr,
-                             wchar_t **__restrict __endptr,
-                             __locale_t __loc) __THROW;
--#endif /* GNU */
--#ifdef        __USE_XOPEN2K8
- /* Copy SRC to DEST, returning the address of the terminating L'\0' in
-    DEST.  */
--extern wchar_t *wcpcpy (wchar_t *__dest, __const wchar_t *__src) __THROW;
-+extern wchar_t *wcpcpy (wchar_t *__restrict __dest,
-+                      __const wchar_t *__restrict __src) __THROW;
- /* Copy no more than N characters of SRC to DEST, returning the address of
-    the last character written into DEST.  */
--extern wchar_t *wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n)
-+extern wchar_t *wcpncpy (wchar_t *__restrict __dest,
-+                       __const wchar_t *__restrict __src, size_t __n)
-      __THROW;
- #endif        /* use GNU */
diff --git a/src/patches/glibc/glibc-rh663641-2.patch b/src/patches/glibc/glibc-rh663641-2.patch
deleted file mode 100644 (file)
index 13c1bee..0000000
+++ /dev/null
@@ -1,279 +0,0 @@
-diff -pruN glibc-2.12-2-gc4ccff1/csu/libc-start.c glibc-2.12-2-gc4ccff1.fixed/csu/libc-start.c
---- glibc-2.12-2-gc4ccff1/csu/libc-start.c     2010-05-04 16:57:23.000000000 +0530
-+++ glibc-2.12-2-gc4ccff1.fixed/csu/libc-start.c       2013-07-09 23:34:59.596859295 +0530
-@@ -33,7 +33,7 @@ extern int __libc_multiple_libcs;
- #include <tls.h>
- #ifndef SHARED
- # include <dl-osinfo.h>
--extern void __pthread_initialize_minimal (void);
-+extern void __pthread_initialize_minimal (int, char **, char **);
- # ifndef THREAD_SET_STACK_GUARD
- /* Only exported for architectures that don't store the stack guard canary
-    in thread local area.  */
-@@ -143,7 +143,7 @@ LIBC_START_MAIN (int (*main) (int, char
-   /* Initialize the thread library at least a bit since the libgcc
-      functions are using thread functions if these are available and
-      we need to setup errno.  */
--  __pthread_initialize_minimal ();
-+  __pthread_initialize_minimal (argc, argv, __environ);
-   /* Set up the stack checker's canary.  */
-   uintptr_t stack_chk_guard = _dl_setup_stack_chk_guard (_dl_random);
-diff -pruN glibc-2.12-2-gc4ccff1/csu/libc-tls.c glibc-2.12-2-gc4ccff1.fixed/csu/libc-tls.c
---- glibc-2.12-2-gc4ccff1/csu/libc-tls.c       2010-05-04 16:57:23.000000000 +0530
-+++ glibc-2.12-2-gc4ccff1.fixed/csu/libc-tls.c 2013-07-09 23:34:59.596859295 +0530
-@@ -244,7 +244,7 @@ _dl_tls_setup (void)
-    not used.  */
- void
- __attribute__ ((weak))
--__pthread_initialize_minimal (void)
-+__pthread_initialize_minimal (int argc, char **argv, char **envp)
- {
-   __libc_setup_tls (TLS_INIT_TCB_SIZE, TLS_INIT_TCB_ALIGN);
- }
-diff -pruN glibc-2.12-2-gc4ccff1/nptl/Makefile glibc-2.12-2-gc4ccff1.fixed/nptl/Makefile
---- glibc-2.12-2-gc4ccff1/nptl/Makefile        2013-07-09 23:35:21.692858252 +0530
-+++ glibc-2.12-2-gc4ccff1.fixed/nptl/Makefile  2013-07-09 23:34:59.597859295 +0530
-@@ -197,7 +197,7 @@ CFLAGS-pt-system.c = -fexceptions
- tests = tst-typesizes \
--      tst-attr1 tst-attr2 tst-attr3 \
-+      tst-attr1 tst-attr2 tst-attr3 tst-default-attr \
-       tst-mutex1 tst-mutex2 tst-mutex3 tst-mutex4 tst-mutex5 tst-mutex6 \
-       tst-mutex7 tst-mutex8 tst-mutex9 tst-mutex5a tst-mutex7a \
-       tst-mutexpi1 tst-mutexpi2 tst-mutexpi3 tst-mutexpi4 tst-mutexpi5 \
-@@ -279,6 +279,13 @@ LDFLAGS-pthread.so = -Wl,--enable-new-dt
- LDFLAGS-tst-cond24 = -lrt
- LDFLAGS-tst-cond25 = -lrt
-+# The size is 1MB + 4KB.  The extra 4KB has been added to prevent allocatestack
-+# from resizing the input size to avoid the 64K aliasing conflict on Intel
-+# processors.
-+DEFAULT_STACKSIZE=1052672
-+CFLAGS-tst-default-attr.c = -DDEFAULT_STACKSIZE=$(DEFAULT_STACKSIZE)
-+tst-default-attr-ENV = GLIBC_PTHREAD_STACKSIZE=$(DEFAULT_STACKSIZE)
-+
- include ../Makeconfig
- ifeq ($(have-forced-unwind),yes)
-diff -pruN glibc-2.12-2-gc4ccff1/nptl/nptl-init.c glibc-2.12-2-gc4ccff1.fixed/nptl/nptl-init.c
---- glibc-2.12-2-gc4ccff1/nptl/nptl-init.c     2013-07-09 23:35:21.723858250 +0530
-+++ glibc-2.12-2-gc4ccff1.fixed/nptl/nptl-init.c       2013-07-09 23:36:35.070854789 +0530
-@@ -36,6 +36,7 @@
- #include <smp.h>
- #include <lowlevellock.h>
- #include <kernel-features.h>
-+#include <libc-internal.h>
- /* Size and alignment of static TLS block.  */
-@@ -288,8 +289,28 @@ extern void **__libc_dl_error_tsd (void)
- /* This can be set by the debugger before initialization is complete.  */
- static bool __nptl_initial_report_events __attribute_used__;
-+/* Validate and set the default stacksize.  */
-+static void
-+set_default_stacksize (size_t stacksize)
-+{
-+  if (stacksize < PTHREAD_STACK_MIN)
-+    stacksize = PTHREAD_STACK_MIN;
-+
-+  /* Make sure it meets the minimum size that allocate_stack
-+     (allocatestack.c) will demand, which depends on the page size.  */
-+  const uintptr_t pagesz = GLRO(dl_pagesize);
-+  const size_t minstack = pagesz + __static_tls_size + MINIMAL_REST_STACK;
-+
-+  if (stacksize < minstack)
-+    stacksize = minstack;
-+
-+  /* Round the resource limit up to page size.  */
-+  stacksize = ALIGN_UP (stacksize, pagesz);
-+  __default_pthread_attr.stacksize = stacksize;
-+}
-+
- void
--__pthread_initialize_minimal_internal (void)
-+__pthread_initialize_minimal_internal (int argc, char **argv, char **envp)
- {
- #ifndef SHARED
-   /* Unlike in the dynamically linked case the dynamic linker has not
-@@ -413,29 +434,44 @@ __pthread_initialize_minimal_internal (v
-   __static_tls_size = roundup (__static_tls_size, static_tls_align);
--  /* Determine the default allowed stack size.  This is the size used
--     in case the user does not specify one.  */
--  struct rlimit limit;
--  if (getrlimit (RLIMIT_STACK, &limit) != 0
--      || limit.rlim_cur == RLIM_INFINITY)
--    /* The system limit is not usable.  Use an architecture-specific
--       default.  */
--    limit.rlim_cur = ARCH_STACK_DEFAULT_SIZE;
--  else if (limit.rlim_cur < PTHREAD_STACK_MIN)
--    /* The system limit is unusably small.
--       Use the minimal size acceptable.  */
--    limit.rlim_cur = PTHREAD_STACK_MIN;
-+  /* Initialize the environment.  libc.so gets initialized after us due to a
-+     circular dependency and hence __environ is not available otherwise.  */
-+  __environ = envp; 
--  /* Make sure it meets the minimum size that allocate_stack
--     (allocatestack.c) will demand, which depends on the page size.  */
--  const uintptr_t pagesz = __sysconf (_SC_PAGESIZE);
--  const size_t minstack = pagesz + __static_tls_size + MINIMAL_REST_STACK;
--  if (limit.rlim_cur < minstack)
--    limit.rlim_cur = minstack;
-+#ifndef SHARED
-+  __libc_init_secure ();
-+#endif
--  /* Round the resource limit up to page size.  */
--  limit.rlim_cur = (limit.rlim_cur + pagesz - 1) & -pagesz;
--  __default_pthread_attr.stacksize = limit.rlim_cur;
-+  /* Get the default stack size from the environment variable if it is set and
-+     is valid.  */
-+  size_t stacksize = 0;
-+  char *envval = __secure_getenv ("GLIBC_PTHREAD_STACKSIZE");
-+
-+  if (__builtin_expect (envval != NULL && envval[0] != '\0', 0))
-+    {
-+      char *env_conv = envval;
-+      size_t ret = strtoul (envval, &env_conv, 0);
-+
-+      if (*env_conv == '\0' && env_conv != envval)
-+      stacksize = ret;
-+    }
-+
-+  if (stacksize == 0)
-+    {
-+      /* Determine the default allowed stack size.  */
-+      struct rlimit limit;
-+      if (getrlimit (RLIMIT_STACK, &limit) != 0
-+        || limit.rlim_cur == RLIM_INFINITY)
-+      /* The system limit is not usable.  Use an architecture-specific
-+         default.  */
-+      stacksize = ARCH_STACK_DEFAULT_SIZE;
-+      else
-+      stacksize = limit.rlim_cur;
-+    }
-+
-+  /* Finally, set the default stack size.  This size is used when the user does
-+     not specify a stack size during thread creation.  */
-+  set_default_stacksize (stacksize);
-   __default_pthread_attr.guardsize = GLRO (dl_pagesize);
- #ifdef SHARED
-diff -pruN glibc-2.12-2-gc4ccff1/nptl/tst-default-attr.c glibc-2.12-2-gc4ccff1.fixed/nptl/tst-default-attr.c
---- glibc-2.12-2-gc4ccff1/nptl/tst-default-attr.c      1970-01-01 05:30:00.000000000 +0530
-+++ glibc-2.12-2-gc4ccff1.fixed/nptl/tst-default-attr.c        2013-07-09 23:34:59.598859295 +0530
-@@ -0,0 +1,109 @@
-+/* Verify that default stack size gets set correctly from the environment
-+   variable.
-+
-+   Copyright (C) 2013 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, see
-+   <http://www.gnu.org/licenses/>.  */
-+
-+#include <pthread.h>
-+#include <stdio.h>
-+#include <stdint.h>
-+#include <string.h>
-+#include <unistd.h>
-+#include <errno.h>
-+
-+#define RETURN_IF_FAIL(f, ...) \
-+  ({                                                                        \
-+    int ret = f (__VA_ARGS__);                                                      \
-+    if (ret != 0)                                                           \
-+      {                                                                             \
-+      printf ("%s:%d: %s returned %d (errno = %d)\n", __FILE__, __LINE__,   \
-+              #f, ret, errno);                                              \
-+      return ret;                                                           \
-+      }                                                                             \
-+  })
-+
-+/* DEFAULT_STACKSIZE macro is defined in the Makefile.  */
-+static size_t stacksize = DEFAULT_STACKSIZE;
-+
-+static int
-+verify_stacksize_result (pthread_attr_t *attr)
-+{
-+  size_t stack;
-+
-+  RETURN_IF_FAIL (pthread_attr_getstacksize, attr, &stack);
-+
-+  if (stacksize != stack)
-+    {
-+      printf ("failed to set default stacksize (%zu, %zu)\n", stacksize, stack);
-+      return 1;
-+    }
-+
-+  return 0;
-+}
-+
-+static void *
-+thr (void *unused __attribute__ ((unused)))
-+{
-+  pthread_attr_t attr;
-+  int ret;
-+
-+  memset (&attr, 0xab, sizeof attr);
-+  /* To verify that the attributes actually got applied.  */
-+  if ((ret = pthread_getattr_np (pthread_self (), &attr)) != 0)
-+    {
-+      printf ("pthread_getattr_np failed: %s\n", strerror (ret));
-+      goto out;
-+    }
-+
-+  ret = verify_stacksize_result (&attr);
-+
-+out:
-+  return (void *) (uintptr_t) ret;
-+}
-+
-+static int
-+run_threads (void)
-+{
-+  pthread_t t;
-+  void *tret = NULL;
-+
-+  /* Run twice to ensure that the attributes do not get overwritten in the
-+     first run somehow.  */
-+  for (int i = 0; i < 2; i++)
-+    {
-+      RETURN_IF_FAIL (pthread_create, &t, NULL, thr, NULL);
-+      RETURN_IF_FAIL (pthread_join, t, &tret);
-+
-+      if (tret != NULL)
-+      {
-+        puts ("Thread failed");
-+        return 1;
-+      }
-+    }
-+
-+  return 0;
-+}
-+
-+static int
-+do_test (void)
-+{
-+  RETURN_IF_FAIL (run_threads);
-+  return 0;
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
diff --git a/src/patches/glibc/glibc-rh663641-3.patch b/src/patches/glibc/glibc-rh663641-3.patch
deleted file mode 100644 (file)
index 182fe99..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-diff -pruN glibc-2.12-2-gc4ccff1/nptl/sysdeps/pthread/pt-initfini.c glibc-2.12-2-gc4ccff1.fixed/nptl/sysdeps/pthread/pt-initfini.c
---- glibc-2.12-2-gc4ccff1/nptl/sysdeps/pthread/pt-initfini.c   2010-05-04 16:57:23.000000000 +0530
-+++ glibc-2.12-2-gc4ccff1.fixed/nptl/sysdeps/pthread/pt-initfini.c     2013-07-22 21:52:03.519184065 +0530
-@@ -63,21 +63,21 @@ asm ("\n/*@TESTS_END*/");
- asm ("\n/*@_init_PROLOG_BEGINS*/");
- static void
--call_initialize_minimal (void)
-+call_initialize_minimal (int argc, char **argv, char **envp)
- {
--  extern void __pthread_initialize_minimal_internal (void)
-+  extern void __pthread_initialize_minimal_internal (int, char **, char **)
-     __attribute ((visibility ("hidden")));
--  __pthread_initialize_minimal_internal ();
-+  __pthread_initialize_minimal_internal (argc, argv, envp);
- }
- SECTION (".init");
--extern void __attribute__ ((section (".init"))) _init (void);
-+extern void __attribute__ ((section (".init"))) _init (int, char **, char **);
- void
--_init (void)
-+_init (int argc, char **argv, char **envp)
- {
-   /* The very first thing we must do is to set up the registers.  */
--  call_initialize_minimal ();
-+  call_initialize_minimal (argc, argv, envp);
-   asm ("ALIGN");
-   asm("END_INIT");
diff --git a/src/patches/glibc/glibc-rh663641.patch b/src/patches/glibc/glibc-rh663641.patch
deleted file mode 100644 (file)
index e1ca4f1..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-diff -pruN glibc-2.12-2-gc4ccff1/include/libc-internal.h glibc-2.12-2-gc4ccff1.fixed/include/libc-internal.h
---- glibc-2.12-2-gc4ccff1/include/libc-internal.h      2010-05-04 16:57:23.000000000 +0530
-+++ glibc-2.12-2-gc4ccff1.fixed/include/libc-internal.h        2013-07-09 23:44:00.272833779 +0530
-@@ -34,4 +34,24 @@ extern void __libc_thread_freeres (void)
- /* Define and initialize `__progname' et. al.  */
- extern void __init_misc (int, char **, char **);
-+/* Align a value by rounding down to closest size.
-+   e.g. Using size of 4096, we get this behavior:
-+      {4095, 4096, 4097} = {0, 4096, 4096}.  */
-+#define ALIGN_DOWN(base, size)        ((base) & -((__typeof__ (base)) (size)))
-+
-+/* Align a value by rounding up to closest size.
-+   e.g. Using size of 4096, we get this behavior:
-+      {4095, 4096, 4097} = {4096, 4096, 8192}.
-+
-+  Note: The size argument has side effects (expanded multiple times).  */
-+#define ALIGN_UP(base, size)  ALIGN_DOWN ((base) + (size) - 1, (size))
-+
-+/* Same as ALIGN_DOWN(), but automatically casts when base is a pointer.  */
-+#define PTR_ALIGN_DOWN(base, size) \
-+  ((__typeof__ (base)) ALIGN_DOWN ((uintptr_t) (base), (size)))
-+
-+/* Same as ALIGN_UP(), but automatically casts when base is a pointer.  */
-+#define PTR_ALIGN_UP(base, size) \
-+  ((__typeof__ (base)) ALIGN_UP ((uintptr_t) (base), (size)))
-+
- #endif /* _LIBC_INTERNAL  */
-diff -pruN glibc-2.12-2-gc4ccff1/nptl/allocatestack.c glibc-2.12-2-gc4ccff1.fixed/nptl/allocatestack.c
---- glibc-2.12-2-gc4ccff1/nptl/allocatestack.c 2013-07-09 23:43:09.427836179 +0530
-+++ glibc-2.12-2-gc4ccff1.fixed/nptl/allocatestack.c   2013-07-09 23:43:52.727834136 +0530
-@@ -351,7 +351,7 @@ allocate_stack (const struct pthread_att
-   /* Get the stack size from the attribute if it is set.  Otherwise we
-      use the default we determined at start time.  */
--  size = attr->stacksize ?: __default_stacksize;
-+  size = attr->stacksize ?: __default_pthread_attr.stacksize;
-   /* Get memory for the stack.  */
-   if (__builtin_expect (attr->flags & ATTR_FLAG_STACKADDR, 0))
-diff -pruN glibc-2.12-2-gc4ccff1/nptl/nptl-init.c glibc-2.12-2-gc4ccff1.fixed/nptl/nptl-init.c
---- glibc-2.12-2-gc4ccff1/nptl/nptl-init.c     2013-07-09 23:43:09.553836173 +0530
-+++ glibc-2.12-2-gc4ccff1.fixed/nptl/nptl-init.c       2013-07-09 23:43:52.728834135 +0530
-@@ -435,7 +435,8 @@ __pthread_initialize_minimal_internal (v
-   /* Round the resource limit up to page size.  */
-   limit.rlim_cur = (limit.rlim_cur + pagesz - 1) & -pagesz;
--  __default_stacksize = limit.rlim_cur;
-+  __default_pthread_attr.stacksize = limit.rlim_cur;
-+  __default_pthread_attr.guardsize = GLRO (dl_pagesize);
- #ifdef SHARED
-   /* Transfer the old value from the dynamic linker's internal location.  */
-diff -pruN glibc-2.12-2-gc4ccff1/nptl/pthread_attr_getstacksize.c glibc-2.12-2-gc4ccff1.fixed/nptl/pthread_attr_getstacksize.c
---- glibc-2.12-2-gc4ccff1/nptl/pthread_attr_getstacksize.c     2010-05-04 16:57:23.000000000 +0530
-+++ glibc-2.12-2-gc4ccff1.fixed/nptl/pthread_attr_getstacksize.c       2013-07-09 23:43:52.817834131 +0530
-@@ -33,7 +33,7 @@ __pthread_attr_getstacksize (attr, stack
-   /* If the user has not set a stack size we return what the system
-      will use as the default.  */
--  *stacksize = iattr->stacksize ?: __default_stacksize;
-+  *stacksize = iattr->stacksize ?: __default_pthread_attr.stacksize;
-   return 0;
- }
-diff -pruN glibc-2.12-2-gc4ccff1/nptl/pthread_barrier_init.c glibc-2.12-2-gc4ccff1.fixed/nptl/pthread_barrier_init.c
---- glibc-2.12-2-gc4ccff1/nptl/pthread_barrier_init.c  2010-05-04 16:57:23.000000000 +0530
-+++ glibc-2.12-2-gc4ccff1.fixed/nptl/pthread_barrier_init.c    2013-07-09 23:43:52.821834131 +0530
-@@ -23,7 +23,7 @@
- #include <kernel-features.h>
--static const struct pthread_barrierattr default_attr =
-+static const struct pthread_barrierattr default_barrierattr =
-   {
-     .pshared = PTHREAD_PROCESS_PRIVATE
-   };
-@@ -43,7 +43,7 @@ pthread_barrier_init (barrier, attr, cou
-   const struct pthread_barrierattr *iattr
-     = (attr != NULL
-        ? iattr = (struct pthread_barrierattr *) attr
--       : &default_attr);
-+       : &default_barrierattr);
-   if (iattr->pshared != PTHREAD_PROCESS_PRIVATE
-       && __builtin_expect (iattr->pshared != PTHREAD_PROCESS_SHARED, 0))
-diff -pruN glibc-2.12-2-gc4ccff1/nptl/pthread_create.c glibc-2.12-2-gc4ccff1.fixed/nptl/pthread_create.c
---- glibc-2.12-2-gc4ccff1/nptl/pthread_create.c        2013-07-09 23:43:09.542836173 +0530
-+++ glibc-2.12-2-gc4ccff1.fixed/nptl/pthread_create.c  2013-07-09 23:43:52.822834131 +0530
-@@ -425,15 +425,6 @@ start_thread (void *arg)
- }
--/* Default thread attributes for the case when the user does not
--   provide any.  */
--static const struct pthread_attr default_attr =
--  {
--    /* Just some value > 0 which gets rounded to the nearest page size.  */
--    .guardsize = 1,
--  };
--
--
- int
- __pthread_create_2_1 (newthread, attr, start_routine, arg)
-      pthread_t *newthread;
-@@ -447,7 +438,7 @@ __pthread_create_2_1 (newthread, attr, s
-   if (iattr == NULL)
-     /* Is this the best idea?  On NUMA machines this could mean
-        accessing far-away memory.  */
--    iattr = &default_attr;
-+    iattr = &__default_pthread_attr;
-   struct pthread *pd = NULL;
-   int err = ALLOCATE_STACK (iattr, &pd);
-diff -pruN glibc-2.12-2-gc4ccff1/nptl/pthread_mutex_init.c glibc-2.12-2-gc4ccff1.fixed/nptl/pthread_mutex_init.c
---- glibc-2.12-2-gc4ccff1/nptl/pthread_mutex_init.c    2010-05-04 16:57:23.000000000 +0530
-+++ glibc-2.12-2-gc4ccff1.fixed/nptl/pthread_mutex_init.c      2013-07-09 23:43:52.822834131 +0530
-@@ -24,7 +24,7 @@
- #include <kernel-features.h>
- #include "pthreadP.h"
--static const struct pthread_mutexattr default_attr =
-+static const struct pthread_mutexattr default_mutexattr =
-   {
-     /* Default is a normal mutex, not shared between processes.  */
-     .mutexkind = PTHREAD_MUTEX_NORMAL
-@@ -45,7 +45,8 @@ __pthread_mutex_init (mutex, mutexattr)
-   assert (sizeof (pthread_mutex_t) <= __SIZEOF_PTHREAD_MUTEX_T);
--  imutexattr = (const struct pthread_mutexattr *) mutexattr ?: &default_attr;
-+  imutexattr = ((const struct pthread_mutexattr *) mutexattr
-+              ?: &default_mutexattr);
-   /* Sanity checks.  */
-   switch (__builtin_expect (imutexattr->mutexkind
-diff -pruN glibc-2.12-2-gc4ccff1/nptl/pthreadP.h glibc-2.12-2-gc4ccff1.fixed/nptl/pthreadP.h
---- glibc-2.12-2-gc4ccff1/nptl/pthreadP.h      2013-07-09 23:43:09.553836173 +0530
-+++ glibc-2.12-2-gc4ccff1.fixed/nptl/pthreadP.h        2013-07-09 23:43:52.823834131 +0530
-@@ -148,8 +148,8 @@ enum
- /* Internal variables.  */
--/* Default stack size.  */
--extern size_t __default_stacksize attribute_hidden;
-+/* Default pthread attributes.  */
-+extern struct pthread_attr __default_pthread_attr attribute_hidden;
- /* Size and alignment of static TLS block.  */
- extern size_t __static_tls_size attribute_hidden;
-diff -pruN glibc-2.12-2-gc4ccff1/nptl/pthread_rwlock_init.c glibc-2.12-2-gc4ccff1.fixed/nptl/pthread_rwlock_init.c
---- glibc-2.12-2-gc4ccff1/nptl/pthread_rwlock_init.c   2010-05-04 16:57:23.000000000 +0530
-+++ glibc-2.12-2-gc4ccff1.fixed/nptl/pthread_rwlock_init.c     2013-07-09 23:43:52.823834131 +0530
-@@ -21,7 +21,7 @@
- #include <kernel-features.h>
--static const struct pthread_rwlockattr default_attr =
-+static const struct pthread_rwlockattr default_rwlockattr =
-   {
-     .lockkind = PTHREAD_RWLOCK_DEFAULT_NP,
-     .pshared = PTHREAD_PROCESS_PRIVATE
-@@ -35,7 +35,7 @@ __pthread_rwlock_init (rwlock, attr)
- {
-   const struct pthread_rwlockattr *iattr;
--  iattr = ((const struct pthread_rwlockattr *) attr) ?: &default_attr;
-+  iattr = ((const struct pthread_rwlockattr *) attr) ?: &default_rwlockattr;
-   memset (rwlock, '\0', sizeof (*rwlock));
-diff -pruN glibc-2.12-2-gc4ccff1/nptl/vars.c glibc-2.12-2-gc4ccff1.fixed/nptl/vars.c
---- glibc-2.12-2-gc4ccff1/nptl/vars.c  2010-05-04 16:57:23.000000000 +0530
-+++ glibc-2.12-2-gc4ccff1.fixed/nptl/vars.c    2013-07-09 23:43:52.824834131 +0530
-@@ -21,13 +21,9 @@
- #include <tls.h>
- #include <unistd.h>
--/* Default stack size.  */
--size_t __default_stacksize attribute_hidden
--#ifdef SHARED
--;
--#else
--  = PTHREAD_STACK_MIN;
--#endif
-+/* Default thread attributes for the case when the user does not
-+   provide any.  */
-+struct pthread_attr __default_pthread_attr attribute_hidden;
- /* Flag whether the machine is SMP or not.  */
- int __is_smp attribute_hidden;
diff --git a/src/patches/glibc/glibc-rh667974.patch b/src/patches/glibc/glibc-rh667974.patch
deleted file mode 100644 (file)
index 48aacac..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-2011-03-14  Andreas Schwab  <schwab@redhat.com>
-
-       * elf/dl-load.c (is_dst): Remove parameter secure, all callers
-       changed.  Don't check for isolated use.
-       (_dl_dst_substitute): Ignore rpath elements containing
-       non-isolated use of $ORIGIN when privileged.
-
-       * elf/dl-load.c (_dl_dst_substitute): When skipping the first
-       rpath element also skip the following colon.
-       (expand_dynamic_string_token): Add is_path parameter and pass
-       down to DL_DST_REQUIRED and _dl_dst_substitute.
-       (decompose_rpath): Call expand_dynamic_string_token with
-       non-zero is_path.  Ignore empty rpaths.
-       (_dl_map_object_from_fd): Call expand_dynamic_string_token
-       with zero is_path.
-
-Index: glibc-2.12-2-gc4ccff1/elf/dl-load.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/dl-load.c
-+++ glibc-2.12-2-gc4ccff1/elf/dl-load.c
-@@ -169,8 +169,7 @@ local_strdup (const char *s)
- static size_t
--is_dst (const char *start, const char *name, const char *str,
--      int is_path, int secure)
-+is_dst (const char *start, const char *name, const char *str, int is_path)
- {
-   size_t len;
-   bool is_curly = false;
-@@ -199,11 +198,6 @@ is_dst (const char *start, const char *n
-          && (!is_path || name[len] != ':'))
-     return 0;
--  if (__builtin_expect (secure, 0)
--      && ((name[len] != '\0' && (!is_path || name[len] != ':'))
--        || (name != start + 1 && (!is_path || name[-2] != ':'))))
--    return 0;
--
-   return len;
- }
-@@ -218,13 +212,10 @@ _dl_dst_count (const char *name, int is_
-     {
-       size_t len;
--      /* $ORIGIN is not expanded for SUID/GUID programs (except if it
--       is $ORIGIN alone) and it must always appear first in path.  */
-       ++name;
--      if ((len = is_dst (start, name, "ORIGIN", is_path,
--                       INTUSE(__libc_enable_secure))) != 0
--        || (len = is_dst (start, name, "PLATFORM", is_path, 0)) != 0
--        || (len = is_dst (start, name, "LIB", is_path, 0)) != 0)
-+      if ((len = is_dst (start, name, "ORIGIN", is_path)) != 0
-+        || (len = is_dst (start, name, "PLATFORM", is_path)) != 0
-+        || (len = is_dst (start, name, "LIB", is_path)) != 0)
-       ++cnt;
-       name = strchr (name + len, '$');
-@@ -256,9 +247,16 @@ _dl_dst_substitute (struct link_map *l, 
-         size_t len;
-         ++name;
--        if ((len = is_dst (start, name, "ORIGIN", is_path,
--                           INTUSE(__libc_enable_secure))) != 0)
-+        if ((len = is_dst (start, name, "ORIGIN", is_path)) != 0)
-           {
-+            /* $ORIGIN is not expanded for SUID/GUID programs
-+               (except if it is $ORIGIN alone) and it must always
-+               appear first in path.  */
-+            if (__builtin_expect (INTUSE(__libc_enable_secure), 0)
-+                && ((name[len] != '\0' && (!is_path || name[len] != ':'))
-+                    || (name != start + 1 && (!is_path || name[-2] != ':'))))
-+              repl = (const char *) -1;
-+            else
- #ifndef SHARED
-             if (l == NULL)
-               repl = _dl_get_origin ();
-@@ -266,9 +264,9 @@ _dl_dst_substitute (struct link_map *l, 
- #endif
-               repl = l->l_origin;
-           }
--        else if ((len = is_dst (start, name, "PLATFORM", is_path, 0)) != 0)
-+        else if ((len = is_dst (start, name, "PLATFORM", is_path)) != 0)
-           repl = GLRO(dl_platform);
--        else if ((len = is_dst (start, name, "LIB", is_path, 0)) != 0)
-+        else if ((len = is_dst (start, name, "LIB", is_path)) != 0)
-           repl = DL_DST_LIB;
-         if (repl != NULL && repl != (const char *) -1)
-@@ -284,6 +282,10 @@ _dl_dst_substitute (struct link_map *l, 
-             name += len;
-             while (*name != '\0' && (!is_path || *name != ':'))
-               ++name;
-+            /* Also skip following colon if this is the first rpath
-+               element, but keep an empty element at the end.  */
-+            if (wp == result && is_path && *name == ':' && name[1] != '\0')
-+              ++name;
-           }
-         else
-           /* No DST we recognize.  */
-@@ -310,7 +312,7 @@ _dl_dst_substitute (struct link_map *l, 
-    belonging to the map is loaded.  In this case the path element
-    containing $ORIGIN is left out.  */
- static char *
--expand_dynamic_string_token (struct link_map *l, const char *s)
-+expand_dynamic_string_token (struct link_map *l, const char *s, int is_path)
- {
-   /* We make two runs over the string.  First we determine how large the
-      resulting string is and then we copy it over.  Since this is no
-@@ -321,7 +323,7 @@ expand_dynamic_string_token (struct link
-   char *result;
-   /* Determine the number of DST elements.  */
--  cnt = DL_DST_COUNT (s, 1);
-+  cnt = DL_DST_COUNT (s, is_path);
-   /* If we do not have to replace anything simply copy the string.  */
-   if (__builtin_expect (cnt, 0) == 0)
-@@ -335,7 +337,7 @@ expand_dynamic_string_token (struct link
-   if (result == NULL)
-     return NULL;
--  return _dl_dst_substitute (l, s, result, 1);
-+  return _dl_dst_substitute (l, s, result, is_path);
- }
-@@ -551,13 +553,21 @@ decompose_rpath (struct r_search_path_st
-   /* Make a writable copy.  At the same time expand possible dynamic
-      string tokens.  */
--  copy = expand_dynamic_string_token (l, rpath);
-+  copy = expand_dynamic_string_token (l, rpath, 1);
-   if (copy == NULL)
-     {
-       errstring = N_("cannot create RUNPATH/RPATH copy");
-       goto signal_error;
-     }
-+  /* Ignore empty rpaths.  */
-+  if (*copy == 0)
-+    {
-+      free (copy);
-+      sps->dirs = (char *) -1;
-+      return false;
-+    }
-+
-   /* Count the number of necessary elements in the result array.  */
-   nelems = 0;
-   for (cp = copy; *cp != '\0'; ++cp)
-@@ -2176,7 +2186,7 @@ _dl_map_object (struct link_map *loader,
-     {
-       /* The path may contain dynamic string tokens.  */
-       realname = (loader
--                ? expand_dynamic_string_token (loader, name)
-+                ? expand_dynamic_string_token (loader, name, 0)
-                 : local_strdup (name));
-       if (realname == NULL)
-       fd = -1;
diff --git a/src/patches/glibc/glibc-rh676076.patch b/src/patches/glibc/glibc-rh676076.patch
deleted file mode 100644 (file)
index c5aa2d4..0000000
+++ /dev/null
@@ -1,714 +0,0 @@
-2011-03-02  Harsha Jagasia  <harsha.jagasia@amd.com>
-           Ulrich Drepper  <drepper@gmail.com>
-
-       * sysdeps/x86_64/memset.S: After aligning destination, code
-       branches to different locations depending on the value of
-       misalignment, when multiarch is enabled. Fix this.
-
-2011-03-02  Harsha Jagasia  <harsha.jagasia@amd.com>
-
-       * sysdeps/x86_64/cacheinfo.c (init_cacheinfo):
-       Set _x86_64_preferred_memory_instruction for AMD processsors.
-       * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features):
-       Set bit_Prefer_SSE_for_memop for AMD processors.
-
-2010-11-07  H.J. Lu  <hongjiu.lu@intel.com>
-
-       * sysdeps/x86_64/memset.S: Check USE_MULTIARCH and USE_SSE2 for
-       IFUNC support.
-       * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
-       memset-x86-64.
-       * sysdeps/x86_64/multiarch/bzero.S: New file.
-       * sysdeps/x86_64/multiarch/cacheinfo.c: New file.
-       * sysdeps/x86_64/multiarch/memset-x86-64.S: New file.
-       * sysdeps/x86_64/multiarch/memset.S: New file.
-       * sysdeps/x86_64/multiarch/memset_chk.S: New file.
-       * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features):
-       Set bit_Prefer_SSE_for_memop for Intel processors.
-       * sysdeps/x86_64/multiarch/init-arch.h (bit_Prefer_SSE_for_memop):
-       Define.
-       (index_Prefer_SSE_for_memop): Define.
-       (HAS_PREFER_SSE_FOR_MEMOP): Define.
-
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/cacheinfo.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/cacheinfo.c
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/cacheinfo.c
-@@ -613,6 +613,25 @@ init_cacheinfo (void)
-       long int core = handle_amd (_SC_LEVEL2_CACHE_SIZE);
-       shared = handle_amd (_SC_LEVEL3_CACHE_SIZE);
-+#ifndef DISABLE_PREFERRED_MEMORY_INSTRUCTION
-+# ifdef USE_MULTIARCH
-+      eax = __cpu_features.cpuid[COMMON_CPUID_INDEX_1].eax;
-+      ebx = __cpu_features.cpuid[COMMON_CPUID_INDEX_1].ebx;
-+      ecx = __cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx;
-+      edx = __cpu_features.cpuid[COMMON_CPUID_INDEX_1].edx;
-+# else
-+      __cpuid (1, eax, ebx, ecx, edx);
-+# endif
-+
-+      /* AMD prefers SSSE3 instructions for memory/string routines
-+       if they are avaiable, otherwise it prefers integer
-+       instructions.  */
-+      if ((ecx & 0x200))
-+      __x86_64_preferred_memory_instruction = 3;
-+      else
-+      __x86_64_preferred_memory_instruction = 0;
-+#endif
-+
-       /* Get maximum extended function. */
-       __cpuid (0x80000000, max_cpuid_ex, ebx, ecx, edx);
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/memset.S
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/memset.S
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/memset.S
-@@ -24,7 +24,7 @@
- #define __STOS_UPPER_BOUNDARY $65536
-         .text
--#ifndef NOT_IN_libc
-+#if !defined NOT_IN_libc && !defined USE_MULTIARCH
- ENTRY(__bzero)
-       mov     %rsi,%rdx       /* Adjust parameter.  */
-       xorl    %esi,%esi       /* Fill with 0s.  */
-@@ -34,10 +34,10 @@ weak_alias (__bzero, bzero)
- #endif
- #if defined PIC && !defined NOT_IN_libc
--ENTRY (__memset_chk)
-+ENTRY_CHK (__memset_chk)
-       cmpq    %rdx, %rcx
-       jb      HIDDEN_JUMPTARGET (__chk_fail)
--END (__memset_chk)
-+END_CHK (__memset_chk)
- #endif
- ENTRY (memset)
- L(memset_entry):
-@@ -591,157 +591,15 @@ L(A6Q1):    mov    %dx,-0xe(%rdi)
- L(A7Q0):    mov    %dl,-0x7(%rdi)
- L(A6Q0):    mov    %dx,-0x6(%rdi)
-       mov    %edx,-0x4(%rdi)
--      jmp    L(aligned_now)
--
--      .balign     16
--L(aligned_now):
--
--       cmpl   $0x1,__x86_64_preferred_memory_instruction(%rip)
--       jg     L(SSE_pre)
--
--L(8byte_move_try):
--      cmpq    __STOS_LOWER_BOUNDARY,%r8
--      jae     L(8byte_stos_try)
--
--      .balign     16
--L(8byte_move):
--      movq    %r8,%rcx
--      shrq    $7,%rcx
--      jz      L(8byte_move_skip)
--
--      .p2align 4
--
--L(8byte_move_loop):
--      decq    %rcx
--
--      movq    %rdx,    (%rdi)
--      movq    %rdx,  8 (%rdi)
--      movq    %rdx, 16 (%rdi)
--      movq    %rdx, 24 (%rdi)
--      movq    %rdx, 32 (%rdi)
--      movq    %rdx, 40 (%rdi)
--      movq    %rdx, 48 (%rdi)
--      movq    %rdx, 56 (%rdi)
--      movq    %rdx, 64 (%rdi)
--      movq    %rdx, 72 (%rdi)
--      movq    %rdx, 80 (%rdi)
--      movq    %rdx, 88 (%rdi)
--      movq    %rdx, 96 (%rdi)
--      movq    %rdx, 104 (%rdi)
--      movq    %rdx, 112 (%rdi)
--      movq    %rdx, 120 (%rdi)
--
--      leaq    128 (%rdi),%rdi
--
--      jnz     L(8byte_move_loop)
--
--L(8byte_move_skip):
--      andl    $127,%r8d
--      lea     (%rdi,%r8,1),%rdi
--
--#ifndef PIC
--      lea     L(setPxQx)(%rip),%r11
--      jmpq    *(%r11,%r8,8) # old scheme remained for nonPIC
--#else
--      lea     L(Got0)(%rip),%r11
--      lea     L(setPxQx)(%rip),%rcx
--      movswq  (%rcx,%r8,2),%rcx
--      lea     (%rcx,%r11,1),%r11
--      jmpq    *%r11
--#endif
--
--      .balign     16
--L(8byte_stos_try):
--      mov    __x86_64_shared_cache_size(%rip),%r9d // ck largest cache size
--      cmpq    %r8,%r9         // calculate the lesser of remaining
--      cmovaq  %r8,%r9         // bytes and largest cache size
--      jbe     L(8byte_stos)
--
--L(8byte_move_reuse_try):
--      cmp     __STOS_UPPER_BOUNDARY,%r8
--      jae     L(8byte_move)
--
--      .balign     16
--L(8byte_stos):
--      movq    %r9,%rcx
--      andq    $-8,%r9
--
--      shrq    $3,%rcx
--      jz      L(8byte_stos_skip)
--
--      xchgq   %rax,%rdx
--
--      rep
--      stosq
--
--      xchgq   %rax,%rdx
--
--L(8byte_stos_skip):
--      subq    %r9,%r8
--      ja      L(8byte_nt_move)
--
--      andl    $7,%r8d
--      lea     (%rdi,%r8,1),%rdi
--#ifndef PIC
--      lea     L(setPxQx)(%rip),%r11
--      jmpq    *(%r11,%r8,8) # old scheme remained for nonPIC
--#else
--      lea     L(Got0)(%rip),%r11
--      lea     L(setPxQx)(%rip),%rcx
--      movswq  (%rcx,%r8,2),%rcx
--      lea     (%rcx,%r11,1),%r11
--      jmpq    *%r11
--#endif
--      .balign     16
--L(8byte_nt_move):
--      movq    %r8,%rcx
--      shrq    $7,%rcx
--      jz      L(8byte_nt_move_skip)
--
--      .balign     16
--L(8byte_nt_move_loop):
--      decq    %rcx
--
--      movntiq %rdx,     (%rdi)
--      movntiq %rdx,   8 (%rdi)
--      movntiq %rdx,  16 (%rdi)
--      movntiq %rdx,  24 (%rdi)
--      movntiq %rdx,  32 (%rdi)
--      movntiq %rdx,  40 (%rdi)
--      movntiq %rdx,  48 (%rdi)
--      movntiq %rdx,  56 (%rdi)
--      movntiq %rdx,  64 (%rdi)
--      movntiq %rdx,  72 (%rdi)
--      movntiq %rdx,  80 (%rdi)
--      movntiq %rdx,  88 (%rdi)
--      movntiq %rdx,  96 (%rdi)
--      movntiq %rdx, 104 (%rdi)
--      movntiq %rdx, 112 (%rdi)
--      movntiq %rdx, 120 (%rdi)
--
--      leaq    128 (%rdi),%rdi
--
--      jnz     L(8byte_nt_move_loop)
--
--      sfence
--
--L(8byte_nt_move_skip):
--      andl    $127,%r8d
-+#ifndef USE_MULTIARCH
-+      jmp    L(aligned_now)
--      lea     (%rdi,%r8,1),%rdi
--#ifndef PIC
--      lea     L(setPxQx)(%rip),%r11
--      jmpq    *(%r11,%r8,8) # old scheme remained for nonPIC
-+L(SSE_pre):
- #else
--      lea     L(Got0)(%rip),%r11
--      lea     L(setPxQx)(%rip),%rcx
--      movswq  (%rcx,%r8,2),%rcx
--      lea     (%rcx,%r11,1),%r11
--      jmpq    *%r11
-+L(aligned_now):
- #endif
--
--L(SSE_pre):
-+#if !defined USE_MULTIARCH || defined USE_SSE2
-        # fill RegXMM0 with the pattern
-        movd   %rdx,%xmm0
-        punpcklqdq %xmm0,%xmm0
-@@ -1342,11 +1200,162 @@ L(SSExDx):
-       .short     L(SSE15QB)-L(SSE0Q0)
- #endif
-       .popsection
-+#endif /* !defined USE_MULTIARCH || defined USE_SSE2  */
-+
-+      .balign     16
-+#ifndef USE_MULTIARCH
-+L(aligned_now):
-+
-+       cmpl   $0x1,__x86_64_preferred_memory_instruction(%rip)
-+       jg     L(SSE_pre)
-+#endif /* USE_MULTIARCH */
-+
-+L(8byte_move_try):
-+      cmpq    __STOS_LOWER_BOUNDARY,%r8
-+      jae     L(8byte_stos_try)
-+
-+      .balign     16
-+L(8byte_move):
-+      movq    %r8,%rcx
-+      shrq    $7,%rcx
-+      jz      L(8byte_move_skip)
-+
-+      .p2align 4
-+
-+L(8byte_move_loop):
-+      decq    %rcx
-+
-+      movq    %rdx,    (%rdi)
-+      movq    %rdx,  8 (%rdi)
-+      movq    %rdx, 16 (%rdi)
-+      movq    %rdx, 24 (%rdi)
-+      movq    %rdx, 32 (%rdi)
-+      movq    %rdx, 40 (%rdi)
-+      movq    %rdx, 48 (%rdi)
-+      movq    %rdx, 56 (%rdi)
-+      movq    %rdx, 64 (%rdi)
-+      movq    %rdx, 72 (%rdi)
-+      movq    %rdx, 80 (%rdi)
-+      movq    %rdx, 88 (%rdi)
-+      movq    %rdx, 96 (%rdi)
-+      movq    %rdx, 104 (%rdi)
-+      movq    %rdx, 112 (%rdi)
-+      movq    %rdx, 120 (%rdi)
-+
-+      leaq    128 (%rdi),%rdi
-+
-+      jnz     L(8byte_move_loop)
-+
-+L(8byte_move_skip):
-+      andl    $127,%r8d
-+      lea     (%rdi,%r8,1),%rdi
-+
-+#ifndef PIC
-+      lea     L(setPxQx)(%rip),%r11
-+      jmpq    *(%r11,%r8,8) # old scheme remained for nonPIC
-+#else
-+      lea     L(Got0)(%rip),%r11
-+      lea     L(setPxQx)(%rip),%rcx
-+      movswq  (%rcx,%r8,2),%rcx
-+      lea     (%rcx,%r11,1),%r11
-+      jmpq    *%r11
-+#endif
-+
-+      .balign     16
-+L(8byte_stos_try):
-+      mov    __x86_64_shared_cache_size(%rip),%r9d // ck largest cache size
-+      cmpq    %r8,%r9         // calculate the lesser of remaining
-+      cmovaq  %r8,%r9         // bytes and largest cache size
-+      jbe     L(8byte_stos)
-+
-+L(8byte_move_reuse_try):
-+      cmp     __STOS_UPPER_BOUNDARY,%r8
-+      jae     L(8byte_move)
-+
-+      .balign     16
-+L(8byte_stos):
-+      movq    %r9,%rcx
-+      andq    $-8,%r9
-+
-+      shrq    $3,%rcx
-+      jz      L(8byte_stos_skip)
-+
-+      xchgq   %rax,%rdx
-+
-+      rep
-+      stosq
-+
-+      xchgq   %rax,%rdx
-+
-+L(8byte_stos_skip):
-+      subq    %r9,%r8
-+      ja      L(8byte_nt_move)
-+
-+      andl    $7,%r8d
-+      lea     (%rdi,%r8,1),%rdi
-+#ifndef PIC
-+      lea     L(setPxQx)(%rip),%r11
-+      jmpq    *(%r11,%r8,8) # old scheme remained for nonPIC
-+#else
-+      lea     L(Got0)(%rip),%r11
-+      lea     L(setPxQx)(%rip),%rcx
-+      movswq  (%rcx,%r8,2),%rcx
-+      lea     (%rcx,%r11,1),%r11
-+      jmpq    *%r11
-+#endif
-+
-+      .balign     16
-+L(8byte_nt_move):
-+      movq    %r8,%rcx
-+      shrq    $7,%rcx
-+      jz      L(8byte_nt_move_skip)
-+
-+      .balign     16
-+L(8byte_nt_move_loop):
-+      decq    %rcx
-+
-+      movntiq %rdx,     (%rdi)
-+      movntiq %rdx,   8 (%rdi)
-+      movntiq %rdx,  16 (%rdi)
-+      movntiq %rdx,  24 (%rdi)
-+      movntiq %rdx,  32 (%rdi)
-+      movntiq %rdx,  40 (%rdi)
-+      movntiq %rdx,  48 (%rdi)
-+      movntiq %rdx,  56 (%rdi)
-+      movntiq %rdx,  64 (%rdi)
-+      movntiq %rdx,  72 (%rdi)
-+      movntiq %rdx,  80 (%rdi)
-+      movntiq %rdx,  88 (%rdi)
-+      movntiq %rdx,  96 (%rdi)
-+      movntiq %rdx, 104 (%rdi)
-+      movntiq %rdx, 112 (%rdi)
-+      movntiq %rdx, 120 (%rdi)
-+
-+      leaq    128 (%rdi),%rdi
-+
-+      jnz     L(8byte_nt_move_loop)
-+
-+      sfence
-+
-+L(8byte_nt_move_skip):
-+      andl    $127,%r8d
-+
-+      lea     (%rdi,%r8,1),%rdi
-+#ifndef PIC
-+      lea     L(setPxQx)(%rip),%r11
-+      jmpq    *(%r11,%r8,8) # old scheme remained for nonPIC
-+#else
-+      lea     L(Got0)(%rip),%r11
-+      lea     L(setPxQx)(%rip),%rcx
-+      movswq  (%rcx,%r8,2),%rcx
-+      lea     (%rcx,%r11,1),%r11
-+      jmpq    *%r11
-+#endif
- END (memset)
- libc_hidden_builtin_def (memset)
--#if defined PIC && !defined NOT_IN_libc
-+#if defined PIC && !defined NOT_IN_libc && !defined USE_MULTIARCH
- strong_alias (__memset_chk, __memset_zero_constant_len_parameter)
-       .section .gnu.warning.__memset_zero_constant_len_parameter
-       .string "memset used with constant zero length parameter; this could be due to transposed parameters"
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/Makefile
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/multiarch/Makefile
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/Makefile
-@@ -7,7 +7,8 @@ ifeq ($(subdir),string)
- sysdep_routines += stpncpy-c strncpy-c strcmp-ssse3 strncmp-ssse3 \
-                  strend-sse4 memcmp-sse4 \
-                  strcasestr-nonascii strcasecmp_l-ssse3 \
--                 strncase_l-ssse3
-+                 strncase_l-ssse3 \
-+                 memset-x86-64
- ifeq (yes,$(config-cflags-sse4))
- sysdep_routines += strcspn-c strpbrk-c strspn-c strstr-c strcasestr-c
- CFLAGS-strcspn-c.c += -msse4
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/bzero.S
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/bzero.S
-@@ -0,0 +1,56 @@
-+/* Multiple versions of bzero
-+   Copyright (C) 2010 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 <init-arch.h>
-+
-+      .text
-+ENTRY(__bzero)
-+      .type   __bzero, @gnu_indirect_function
-+      cmpl    $0, __cpu_features+KIND_OFFSET(%rip)
-+      jne     1f
-+      call    __init_cpu_features
-+1:    leaq    __bzero_x86_64(%rip), %rax
-+      testl   $bit_Prefer_SSE_for_memop, __cpu_features+FEATURE_OFFSET+index_Prefer_SSE_for_memop(%rip)
-+      jz      2f
-+      leaq    __bzero_sse2(%rip), %rax
-+2:    ret
-+END(__bzero)
-+
-+      .type   __bzero_sse2, @function
-+__bzero_sse2:
-+      cfi_startproc
-+      CALL_MCOUNT
-+      mov     %rsi,%rdx       /* Adjust parameter.  */
-+      xorl    %esi,%esi       /* Fill with 0s.  */
-+      jmp     __memset_sse2
-+      cfi_endproc
-+      .size __bzero_sse2, .-__bzero_sse2
-+
-+      .type   __bzero_x86_64, @function
-+__bzero_x86_64:
-+      cfi_startproc
-+      CALL_MCOUNT
-+      mov     %rsi,%rdx       /* Adjust parameter.  */
-+      xorl    %esi,%esi       /* Fill with 0s.  */
-+      jmp     __memset_x86_64
-+      cfi_endproc
-+      .size __bzero_x86_64, .-__bzero_x86_64
-+
-+weak_alias (__bzero, bzero)
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/cacheinfo.c
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/cacheinfo.c
-@@ -0,0 +1,2 @@
-+#define DISABLE_PREFERRED_MEMORY_INSTRUCTION
-+#include "../cacheinfo.c"
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/init-arch.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/multiarch/init-arch.c
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/init-arch.c
-@@ -59,6 +59,11 @@ __init_cpu_features (void)
-       get_common_indeces (&family, &model);
-+      /* Intel processors prefer SSE instruction for memory/string
-+       routines if they are avaiable.  */
-+      __cpu_features.feature[index_Prefer_SSE_for_memop]
-+      |= bit_Prefer_SSE_for_memop;
-+
-       unsigned int eax = __cpu_features.cpuid[COMMON_CPUID_INDEX_1].eax;
-       unsigned int extended_family = (eax >> 20) & 0xff;
-       unsigned int extended_model = (eax >> 12) & 0xf0;
-@@ -92,6 +97,14 @@ __init_cpu_features (void)
-       kind = arch_kind_amd;
-       get_common_indeces (&family, &model);
-+
-+      unsigned int ecx = __cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx;
-+
-+      /* AMD processors prefer SSE instructions for memory/string routines
-+       if they are available, otherwise they prefer integer instructions.  */
-+      if ((ecx & 0x200))
-+      __cpu_features.feature[index_Prefer_SSE_for_memop]
-+        |= bit_Prefer_SSE_for_memop;
-     }
-   else
-     kind = arch_kind_other;
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/init-arch.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/multiarch/init-arch.h
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/init-arch.h
-@@ -16,7 +16,8 @@
-    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-    02111-1307 USA.  */
--#define bit_Fast_Rep_String   (1 << 0)
-+#define bit_Fast_Rep_String           (1 << 0)
-+#define bit_Prefer_SSE_for_memop      (1 << 3)
- #ifdef        __ASSEMBLER__
-@@ -33,6 +34,7 @@
- # define index_SSE4_2 COMMON_CPUID_INDEX_1*CPUID_SIZE+CPUID_ECX_OFFSET
- #define index_Fast_Rep_String FEATURE_INDEX_1*FEATURE_SIZE
-+# define index_Prefer_SSE_for_memop   FEATURE_INDEX_1*FEATURE_SIZE
- #else /* __ASSEMBLER__ */
-@@ -103,5 +105,12 @@ extern const struct cpu_features *__get_
- # define HAS_FMA      HAS_CPU_FEATURE (COMMON_CPUID_INDEX_1, ecx, 12)
- # define index_Fast_Rep_String        FEATURE_INDEX_1
-+# define index_Prefer_SSE_for_memop   FEATURE_INDEX_1
-+
-+#define HAS_ARCH_FEATURE(idx, bit) \
-+  ((__get_cpu_features ()->feature[idx] & (bit)) != 0)
-+
-+#define HAS_PREFER_SSE_FOR_MEMOP \
-+  HAS_ARCH_FEATURE (index_Prefer_SSE_for_memop, bit_Prefer_SSE_for_memop)
- #endif        /* __ASSEMBLER__ */
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/memset-x86-64.S
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/memset-x86-64.S
-@@ -0,0 +1,18 @@
-+#include <sysdep.h>
-+
-+#ifndef NOT_IN_libc
-+# undef ENTRY_CHK
-+# define ENTRY_CHK(name) \
-+      .type __memset_chk_x86_64, @function; \
-+      .globl __memset_chk_x86_64; \
-+      .p2align 4; \
-+      __memset_chk_x86_64: cfi_startproc; \
-+      CALL_MCOUNT
-+# undef END_CHK
-+# define END_CHK(name) \
-+      cfi_endproc; .size __memset_chk_x86_64, .-__memset_chk_x86_64
-+
-+# define libc_hidden_builtin_def(name)
-+# define memset __memset_x86_64
-+# include "../memset.S"
-+#endif
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/memset.S
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/memset.S
-@@ -0,0 +1,74 @@
-+/* Multiple versions of memset
-+   Copyright (C) 2010 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 <init-arch.h>
-+
-+/* Define multiple versions only for the definition in lib.  */
-+#ifndef NOT_IN_libc
-+ENTRY(memset)
-+      .type   memset, @gnu_indirect_function
-+      cmpl    $0, __cpu_features+KIND_OFFSET(%rip)
-+      jne     1f
-+      call    __init_cpu_features
-+1:    leaq    __memset_x86_64(%rip), %rax
-+      testl   $bit_Prefer_SSE_for_memop, __cpu_features+FEATURE_OFFSET+index_Prefer_SSE_for_memop(%rip)
-+      jz      2f
-+      leaq    __memset_sse2(%rip), %rax
-+2:    ret
-+END(memset)
-+
-+# define USE_SSE2 1
-+
-+# undef ENTRY
-+# define ENTRY(name) \
-+      .type __memset_sse2, @function; \
-+      .globl __memset_sse2; \
-+      .p2align 4; \
-+      __memset_sse2: cfi_startproc; \
-+      CALL_MCOUNT
-+# undef END
-+# define END(name) \
-+      cfi_endproc; .size __memset_sse2, .-__memset_sse2
-+
-+# undef ENTRY_CHK
-+# define ENTRY_CHK(name) \
-+      .type __memset_chk_sse2, @function; \
-+      .globl __memset_chk_sse2; \
-+      .p2align 4; \
-+      __memset_chk_sse2: cfi_startproc; \
-+      CALL_MCOUNT
-+# undef END_CHK
-+# define END_CHK(name) \
-+      cfi_endproc; .size __memset_chk_sse2, .-__memset_chk_sse2
-+
-+# ifdef SHARED
-+#  undef libc_hidden_builtin_def
-+/* It doesn't make sense to send libc-internal memset calls through a PLT.
-+   The speedup we get from using GPR instruction is likely eaten away
-+   by the indirect call in the PLT.  */
-+#  define libc_hidden_builtin_def(name) \
-+      .globl __GI_memset; __GI_memset = __memset_sse2
-+# endif
-+
-+# undef strong_alias
-+# define strong_alias(original, alias)
-+#endif
-+
-+#include "../memset.S"
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/memset_chk.S
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/memset_chk.S
-@@ -0,0 +1,44 @@
-+/* Multiple versions of __memset_chk
-+   Copyright (C) 2010 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 <init-arch.h>
-+
-+/* Define multiple versions only for the definition in lib.  */
-+#ifndef NOT_IN_libc
-+# ifdef SHARED
-+ENTRY(__memset_chk)
-+      .type   __memset_chk, @gnu_indirect_function
-+      cmpl    $0, __cpu_features+KIND_OFFSET(%rip)
-+      jne     1f
-+      call    __init_cpu_features
-+1:    leaq    __memset_chk_x86_64(%rip), %rax
-+      testl   $bit_Prefer_SSE_for_memop, __cpu_features+FEATURE_OFFSET+index_Prefer_SSE_for_memop(%rip)
-+      jz      2f
-+      leaq    __memset_chk_sse2(%rip), %rax
-+2:    ret
-+END(__memset_chk)
-+
-+strong_alias (__memset_chk, __memset_zero_constant_len_parameter)
-+      .section .gnu.warning.__memset_zero_constant_len_parameter
-+      .string "memset used with constant zero length parameter; this could be due to transposed parameters"
-+# else
-+#  include "../memset_chk.S"
-+# endif
-+#endif
diff --git a/src/patches/glibc/glibc-rh676591.patch b/src/patches/glibc/glibc-rh676591.patch
deleted file mode 100644 (file)
index fd6df1e..0000000
+++ /dev/null
@@ -1,352 +0,0 @@
-2011-05-15  Ulrich Drepper  <drepper@gmail.com>
-
-       [BZ #11901]
-       * include/stdlib.h: Move include protection to the right place.
-       Define abort_msg_s.  Declare __abort_msg with it.
-       * stdlib/abort.c (__abort_msg): Adjust type.
-       * assert/assert.c (__assert_fail_base): New function.  Majority
-       of code from __assert_fail.  Allocate memory for __abort_msg with
-       mmap.
-       (__assert_fail): Now call __assert_fail_base.
-       * assert/assert-perr.c: Remove bulk of implementation.  Use
-       __assert_fail_base.
-       * include/assert.hL Declare __assert_fail_base.
-       * sysdeps/posix/libc_fatal.c: Allocate memory for __abort_msg with
-       mmap.
-       * sysdeps/unix/sysv/linux/libc_fatal.c: Likewise.
-
-Index: glibc-2.12-2-gc4ccff1/assert/assert-perr.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/assert/assert-perr.c
-+++ glibc-2.12-2-gc4ccff1/assert/assert-perr.c
-@@ -17,66 +17,23 @@
-    02111-1307 USA.  */
- #include <assert.h>
--#include <atomic.h>
- #include <libintl.h>
--#include <stdio.h>
--#include <stdlib.h>
- #include <string.h>
--#include <sysdep.h>
--#include <unistd.h>
--extern const char *__progname;
--
--#ifdef USE_IN_LIBIO
--# include <wchar.h>
--# include <libio/iolibio.h>
--# define fflush(s) INTUSE(_IO_fflush) (s)
--#endif
--
- /* This function, when passed an error number, a filename, and a line
-    number, prints a message on the standard error stream of the form:
--      a.c:10: foobar: Unexpected error: Computer bought the farm
-+      a.c:10: foobar: Unexpected error: Computer bought the farm
-    It then aborts program execution via a call to `abort'.  */
--
--#ifdef FATAL_PREPARE_INCLUDE
--# include FATAL_PREPARE_INCLUDE
--#endif
--
- void
- __assert_perror_fail (int errnum,
-                     const char *file, unsigned int line,
-                     const char *function)
- {
-   char errbuf[1024];
--  char *buf;
--
--#ifdef FATAL_PREPARE
--  FATAL_PREPARE;
--#endif
--
--  if (__asprintf (&buf, _("%s%s%s:%u: %s%sUnexpected error: %s.\n"),
--                __progname, __progname[0] ? ": " : "",
--                file, line,
--                function ? function : "", function ? ": " : "",
--                __strerror_r (errnum, errbuf, sizeof errbuf)) >= 0)
--    {
--      /* Print the message.  */
--      (void) __fxprintf (NULL, "%s", buf);
--      (void) fflush (stderr);
--
--      /* We have to free the old buffer since the application might
--       catch the SIGABRT signal.  */
--      char *old = atomic_exchange_acq (&__abort_msg, buf);
--      free (old);
--    }
--  else
--    {
--      /* At least print a minimal message.  */
--      static const char errstr[] = "Unexpected error.\n";
--      __libc_write (STDERR_FILENO, errstr, sizeof (errstr) - 1);
--    }
--  abort ();
-+  char *e = __strerror_r (errnum, errbuf, sizeof errbuf);
-+  __assert_fail_base (_("%s%s%s:%u: %s%sUnexpected error: %s.\n"),
-+                    e, file, line, function);
- }
- libc_hidden_def (__assert_perror_fail)
-Index: glibc-2.12-2-gc4ccff1/assert/assert.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/assert/assert.c
-+++ glibc-2.12-2-gc4ccff1/assert/assert.c
-@@ -19,11 +19,13 @@
- #include <assert.h>
- #include <atomic.h>
-+#include <ldsodefs.h>
- #include <libintl.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <sysdep.h>
- #include <unistd.h>
-+#include <sys/mman.h>
- extern const char *__progname;
-@@ -45,31 +47,44 @@ extern const char *__progname;
- #endif
--#undef __assert_fail
- void
--__assert_fail (const char *assertion, const char *file, unsigned int line,
--             const char *function)
-+__assert_fail_base (const char *fmt, const char *assertion, const char *file,
-+                  unsigned int line, const char *function)
- {
--  char *buf;
-+  char *str;
- #ifdef FATAL_PREPARE
-   FATAL_PREPARE;
- #endif
--  if (__asprintf (&buf, _("%s%s%s:%u: %s%sAssertion `%s' failed.\n"),
-+  int total;
-+  if (__asprintf (&str, fmt,
-                 __progname, __progname[0] ? ": " : "",
-                 file, line,
-                 function ? function : "", function ? ": " : "",
--                assertion) >= 0)
-+                assertion, &total) >= 0)
-     {
-       /* Print the message.  */
--      (void) __fxprintf (NULL, "%s", buf);
-+      (void) __fxprintf (NULL, "%s", str);
-       (void) fflush (stderr);
--      /* We have to free the old buffer since the application might
--       catch the SIGABRT signal.  */
--      char *old = atomic_exchange_acq (&__abort_msg, buf);
--      free (old);
-+      total = (total + 1 + GLRO(dl_pagesize) - 1) & ~(GLRO(dl_pagesize) - 1);
-+      struct abort_msg_s *buf = __mmap (NULL, total, PROT_READ | PROT_WRITE,
-+                                      MAP_ANON | MAP_PRIVATE, -1, 0);
-+      if (__builtin_expect (buf != MAP_FAILED, 1))
-+      {
-+        buf->size = total;
-+        strcpy (buf->msg, str);
-+
-+        /* We have to free the old buffer since the application might
-+           catch the SIGABRT signal.  */
-+        struct abort_msg_s *old = atomic_exchange_acq (&__abort_msg, buf);
-+
-+        if (old != NULL)
-+          __munmap (old, old->size);
-+      }
-+
-+      free (str);
-     }
-   else
-     {
-@@ -80,4 +95,14 @@ __assert_fail (const char *assertion, co
-   abort ();
- }
-+
-+
-+#undef __assert_fail
-+void
-+__assert_fail (const char *assertion, const char *file, unsigned int line,
-+             const char *function)
-+{
-+  __assert_fail_base (_("%s%s%s:%u: %s%sAssertion `%s' failed.\n%n"),
-+                    assertion, file, line, function);
-+}
- hidden_def(__assert_fail)
-Index: glibc-2.12-2-gc4ccff1/include/assert.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/include/assert.h
-+++ glibc-2.12-2-gc4ccff1/include/assert.h
-@@ -13,6 +13,12 @@ extern void __assert_perror_fail (int __
-                                 __const char *__function)
-      __THROW __attribute__ ((__noreturn__));
-+/* The real implementation of the two functions above.  */
-+extern void __assert_fail_base (const char *fmt, const char *assertion,
-+                              const char *file, unsigned int line,
-+                              const char *function)
-+     __THROW  __attribute__ ((__noreturn__));
-+
- #if !defined NOT_IN_libc || defined IS_IN_rtld
- hidden_proto (__assert_fail)
- hidden_proto (__assert_perror_fail)
-Index: glibc-2.12-2-gc4ccff1/include/stdlib.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/include/stdlib.h
-+++ glibc-2.12-2-gc4ccff1/include/stdlib.h
-@@ -223,16 +223,21 @@ extern int __qfcvt_r (long double __valu
- # define __cxa_atexit(func, arg, d) INTUSE(__cxa_atexit) (func, arg, d)
- # endif
--#endif
--
- extern void *__default_morecore (ptrdiff_t) __THROW;
- libc_hidden_proto (__default_morecore)
--extern char *__abort_msg;
-+struct abort_msg_s
-+{
-+  unsigned int size;
-+  char msg[0];
-+};
-+extern struct abort_msg_s *__abort_msg;
- libc_hidden_proto (__abort_msg)
- __END_DECLS
-+#endif
-+
- #undef __Need_M_And_C
- #endif  /* include/stdlib.h */
-Index: glibc-2.12-2-gc4ccff1/stdlib/abort.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/stdlib/abort.c
-+++ glibc-2.12-2-gc4ccff1/stdlib/abort.c
-@@ -37,7 +37,7 @@
- #endif
- /* Exported variable to locate abort message in core files etc.  */
--char *__abort_msg __attribute__ ((nocommon));
-+struct abort_msg_s *__abort_msg __attribute__ ((nocommon));
- libc_hidden_def (__abort_msg)
- /* We must avoid to run in circles.  Therefore we remember how far we
-Index: glibc-2.12-2-gc4ccff1/sysdeps/posix/libc_fatal.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/posix/libc_fatal.c
-+++ glibc-2.12-2-gc4ccff1/sysdeps/posix/libc_fatal.c
-@@ -20,6 +20,7 @@
- #include <atomic.h>
- #include <errno.h>
- #include <fcntl.h>
-+#include <ldsodefs.h>
- #include <paths.h>
- #include <stdarg.h>
- #include <stdbool.h>
-@@ -125,18 +126,28 @@ __libc_message (int do_abort, const char
-       if (TEMP_FAILURE_RETRY (__writev (fd, iov, nlist)) == total)
-       written = true;
--      char *buf = do_abort ? malloc (total + 1) : NULL;
--      if (buf != NULL)
-+      if (do_abort)
-       {
--        char *wp = buf;
--        for (int cnt = 0; cnt < nlist; ++cnt)
--          wp = mempcpy (wp, iov[cnt].iov_base, iov[cnt].iov_len);
--        *wp = '\0';
--
--        /* We have to free the old buffer since the application might
--           catch the SIGABRT signal.  */
--        char *old = atomic_exchange_acq (&__abort_msg, buf);
--        free (old);
-+        total = ((total + 1 + GLRO(dl_pagesize) - 1)
-+                 & ~(GLRO(dl_pagesize) - 1));
-+        struct abort_msg_s *buf = __mmap (NULL, total,
-+                                          PROT_READ | PROT_WRITE,
-+                                          MAP_ANON | MAP_PRIVATE, -1, 0);
-+        if (buf != MAP_FAILED)
-+          {
-+            buf->size = total;
-+            char *wp = buf->msg;
-+            for (int cnt = 0; cnt < nlist; ++cnt)
-+              wp = mempcpy (wp, iov[cnt].iov_base, iov[cnt].iov_len);
-+            *wp = '\0';
-+
-+            /* We have to free the old buffer since the application might
-+               catch the SIGABRT signal.  */
-+            struct abort_msg_s *old = atomic_exchange_acq (&__abort_msg,
-+                                                           buf);
-+            if (old != NULL)
-+              __munmap (old, old->size);
-+          }
-       }
-     }
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/libc_fatal.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/libc_fatal.c
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/libc_fatal.c
-@@ -20,6 +20,7 @@
- #include <atomic.h>
- #include <errno.h>
- #include <fcntl.h>
-+#include <ldsodefs.h>
- #include <paths.h>
- #include <stdarg.h>
- #include <stdbool.h>
-@@ -28,6 +29,7 @@
- #include <string.h>
- #include <sysdep.h>
- #include <unistd.h>
-+#include <sys/mman.h>
- #include <sys/syslog.h>
- #include <execinfo.h>
-@@ -134,18 +136,28 @@ __libc_message (int do_abort, const char
-       if (cnt == total)
-       written = true;
--      char *buf = do_abort ? malloc (total + 1) : NULL;
--      if (buf != NULL)
-+      if (do_abort)
-       {
--        char *wp = buf;
--        for (int cnt = 0; cnt < nlist; ++cnt)
--          wp = mempcpy (wp, iov[cnt].iov_base, iov[cnt].iov_len);
--        *wp = '\0';
--
--        /* We have to free the old buffer since the application might
--           catch the SIGABRT signal.  */
--        char *old = atomic_exchange_acq (&__abort_msg, buf);
--        free (old);
-+        total = ((total + 1 + GLRO(dl_pagesize) - 1)
-+                 & ~(GLRO(dl_pagesize) - 1));
-+        struct abort_msg_s *buf = __mmap (NULL, total,
-+                                          PROT_READ | PROT_WRITE,
-+                                          MAP_ANON | MAP_PRIVATE, -1, 0);
-+        if (__builtin_expect (buf != MAP_FAILED, 1))
-+          {
-+            buf->size = total;
-+            char *wp = buf->msg;
-+            for (int cnt = 0; cnt < nlist; ++cnt)
-+              wp = mempcpy (wp, iov[cnt].iov_base, iov[cnt].iov_len);
-+            *wp = '\0';
-+
-+            /* We have to free the old buffer since the application might
-+               catch the SIGABRT signal.  */
-+            struct abort_msg_s *old = atomic_exchange_acq (&__abort_msg,
-+                                                           buf);
-+            if (old != NULL)
-+              __munmap (old, old->size);
-+          }
-       }
-     }
diff --git a/src/patches/glibc/glibc-rh681054.patch b/src/patches/glibc/glibc-rh681054.patch
deleted file mode 100644 (file)
index 27b7361..0000000
+++ /dev/null
@@ -1,514 +0,0 @@
-2011-03-18  Ulrich Drepper  <drepper@gmail.com>
-
-       * posix/fnmatch.c (fnmatch): Check size of pattern in wide
-       character representation.
-       Partly based on a patch by Tomas Hoger <thoger@redhat.com>.
-
-2010-11-11  Andreas Schwab  <schwab@redhat.com>
-
-       * posix/fnmatch_loop.c (NEW_PATTERN): Fix use of alloca.
-       * posix/Makefile (tests): Add $(objpfx)tst-fnmatch-mem.
-       (tst-fnmatch-ENV): Set MALLOC_TRACE.
-       ($(objpfx)tst-fnmatch-mem): New rule.
-       (generated): Add tst-fnmatch-mem and tst-fnmatch.mtrace.
-       * posix/tst-fnmatch.c (main): Call mtrace.
-
-2010-08-09  Ulrich Drepper  <drepper@redhat.com>
-
-       [BZ #11883]
-       * posix/fnmatch.c: Keep track of alloca use and fall back on malloc.
-       * posix/fnmatch_loop.c: Likewise.
-
-Index: glibc-2.12-2-gc4ccff1/posix/Makefile
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/posix/Makefile
-+++ glibc-2.12-2-gc4ccff1/posix/Makefile
-@@ -114,7 +114,8 @@ generated := $(addprefix wordexp-test-re
-            tst-rxspencer-mem tst-rxspencer.mtrace tst-getconf.out \
-            tst-pcre-mem tst-pcre.mtrace tst-boost-mem tst-boost.mtrace \
-            bug-ga2.mtrace bug-ga2-mem bug-glob2.mtrace bug-glob2-mem \
--           tst-vfork3-mem tst-vfork3.mtrace getconf.speclist
-+           tst-vfork3-mem tst-vfork3.mtrace getconf.speclist \
-+           tst-fnmatch-mem tst-fnmatch.mtrace
- include ../Rules
-@@ -226,7 +227,7 @@ ifeq (no,$(cross-compiling))
- tests: $(objpfx)bug-regex2-mem $(objpfx)bug-regex14-mem \
-   $(objpfx)bug-regex21-mem $(objpfx)tst-rxspencer-mem \
-   $(objpfx)tst-pcre-mem $(objpfx)tst-boost-mem $(objpfx)tst-getconf.out \
--  $(objpfx)bug-glob2-mem $(objpfx)tst-vfork3-mem
-+  $(objpfx)bug-glob2-mem $(objpfx)tst-vfork3-mem $(objpfx)tst-fnmatch-mem
- xtests: $(objpfx)bug-ga2-mem
- endif
-@@ -238,6 +239,11 @@ annexc-CFLAGS = -O
- $(objpfx)annexc: annexc.c
-       $(native-compile)
-+tst-fnmatch-ENV += MALLOC_TRACE=$(objpfx)tst-fnmatch.mtrace
-+
-+$(objpfx)tst-fnmatch-mem: $(objpfx)tst-fnmatch.out
-+      $(common-objpfx)malloc/mtrace $(objpfx)tst-fnmatch.mtrace > $@
-+
- bug-regex2-ENV = MALLOC_TRACE=$(objpfx)bug-regex2.mtrace
- $(objpfx)bug-regex2-mem: $(objpfx)bug-regex2.out
-Index: glibc-2.12-2-gc4ccff1/posix/fnmatch.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/posix/fnmatch.c
-+++ glibc-2.12-2-gc4ccff1/posix/fnmatch.c
-@@ -41,6 +41,12 @@
- # include <stdlib.h>
- #endif
-+#ifdef _LIBC
-+# include <alloca.h>
-+#else
-+# define alloca_account(size., var) alloca (size)
-+#endif
-+
- /* For platform which support the ISO C amendement 1 functionality we
-    support user defined character classes.  */
- #if defined _LIBC || (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H)
-@@ -330,8 +336,11 @@ fnmatch (pattern, string, flags)
-       mbstate_t ps;
-       size_t n;
-       const char *p;
-+      wchar_t *wpattern_malloc = NULL;
-       wchar_t *wpattern;
-+      wchar_t *wstring_malloc = NULL;
-       wchar_t *wstring;
-+      size_t alloca_used = 0;
-       /* Convert the strings into wide characters.  */
-       memset (&ps, '\0', sizeof (ps));
-@@ -343,7 +352,8 @@ fnmatch (pattern, string, flags)
- #endif
-       if (__builtin_expect (n < 1024, 1))
-       {
--        wpattern = (wchar_t *) alloca ((n + 1) * sizeof (wchar_t));
-+        wpattern = (wchar_t *) alloca_account ((n + 1) * sizeof (wchar_t),
-+                                               alloca_used);
-         n = mbsrtowcs (wpattern, &p, n + 1, &ps);
-         if (__builtin_expect (n == (size_t) -1, 0))
-           /* Something wrong.
-@@ -365,8 +375,16 @@ fnmatch (pattern, string, flags)
-              XXX Do we have to set `errno' to something which mbsrtows hasn't
-              already done?  */
-           return -1;
--        wpattern = (wchar_t *) alloca ((n + 1) * sizeof (wchar_t));
-+        if (__builtin_expect (n >= (size_t) -1 / sizeof (wchar_t), 0))
-+          {
-+            __set_errno (ENOMEM);
-+            return -2;
-+          }
-+        wpattern_malloc = wpattern
-+          = (wchar_t *) malloc ((n + 1) * sizeof (wchar_t));
-         assert (mbsinit (&ps));
-+        if (wpattern == NULL)
-+          return -2;
-         (void) mbsrtowcs (wpattern, &pattern, n + 1, &ps);
-       }
-@@ -379,13 +397,18 @@ fnmatch (pattern, string, flags)
-       p = string;
-       if (__builtin_expect (n < 1024, 1))
-       {
--        wstring = (wchar_t *) alloca ((n + 1) * sizeof (wchar_t));
-+        wstring = (wchar_t *) alloca_account ((n + 1) * sizeof (wchar_t),
-+                                              alloca_used);
-         n = mbsrtowcs (wstring, &p, n + 1, &ps);
-         if (__builtin_expect (n == (size_t) -1, 0))
--          /* Something wrong.
--             XXX Do we have to set `errno' to something which mbsrtows hasn't
--             already done?  */
--          return -1;
-+          {
-+            /* Something wrong.
-+               XXX Do we have to set `errno' to something which
-+               mbsrtows hasn't already done?  */
-+          free_return:
-+            free (wpattern_malloc);
-+            return -1;
-+          }
-         if (p)
-           {
-             memset (&ps, '\0', sizeof (ps));
-@@ -400,19 +423,38 @@ fnmatch (pattern, string, flags)
-           /* Something wrong.
-              XXX Do we have to set `errno' to something which mbsrtows hasn't
-              already done?  */
--          return -1;
--        wstring = (wchar_t *) alloca ((n + 1) * sizeof (wchar_t));
-+          goto free_return;
-+        if (__builtin_expect (n >= (size_t) -1 / sizeof (wchar_t), 0))
-+          {
-+            free (wpattern_malloc);
-+            __set_errno (ENOMEM);
-+            return -2;
-+          }
-+
-+        wstring_malloc = wstring
-+          = (wchar_t *) malloc ((n + 1) * sizeof (wchar_t));
-+        if (wstring == NULL)
-+          {
-+            free (wpattern_malloc);
-+            return -2;
-+          }
-         assert (mbsinit (&ps));
-         (void) mbsrtowcs (wstring, &string, n + 1, &ps);
-       }
--      return internal_fnwmatch (wpattern, wstring, wstring + n,
--                              flags & FNM_PERIOD, flags, NULL);
-+      int res = internal_fnwmatch (wpattern, wstring, wstring + n,
-+                                 flags & FNM_PERIOD, flags, NULL,
-+                                 alloca_used);
-+
-+      free (wstring_malloc);
-+      free (wpattern_malloc);
-+
-+      return res;
-     }
- # endif  /* mbstate_t and mbsrtowcs or _LIBC.  */
-   return internal_fnmatch (pattern, string, string + strlen (string),
--                         flags & FNM_PERIOD, flags, NULL);
-+                         flags & FNM_PERIOD, flags, NULL, 0);
- }
- # ifdef _LIBC
-Index: glibc-2.12-2-gc4ccff1/posix/fnmatch_loop.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/posix/fnmatch_loop.c
-+++ glibc-2.12-2-gc4ccff1/posix/fnmatch_loop.c
-@@ -28,22 +28,24 @@ struct STRUCT
-    it matches, nonzero if not.  */
- static int FCT (const CHAR *pattern, const CHAR *string,
-               const CHAR *string_end, int no_leading_period, int flags,
--              struct STRUCT *ends)
-+              struct STRUCT *ends, size_t alloca_used)
-      internal_function;
- static int EXT (INT opt, const CHAR *pattern, const CHAR *string,
--              const CHAR *string_end, int no_leading_period, int flags)
-+              const CHAR *string_end, int no_leading_period, int flags,
-+              size_t alloca_used)
-      internal_function;
- static const CHAR *END (const CHAR *patternp) internal_function;
- static int
- internal_function
--FCT (pattern, string, string_end, no_leading_period, flags, ends)
-+FCT (pattern, string, string_end, no_leading_period, flags, ends, alloca_used)
-      const CHAR *pattern;
-      const CHAR *string;
-      const CHAR *string_end;
-      int no_leading_period;
-      int flags;
-      struct STRUCT *ends;
-+     size_t alloca_used;
- {
-   register const CHAR *p = pattern, *n = string;
-   register UCHAR c;
-@@ -67,10 +69,8 @@ FCT (pattern, string, string_end, no_lea
-       case L('?'):
-         if (__builtin_expect (flags & FNM_EXTMATCH, 0) && *p == '(')
-           {
--            int res;
--
--            res = EXT (c, p, n, string_end, no_leading_period,
--                       flags);
-+            int res = EXT (c, p, n, string_end, no_leading_period,
-+                           flags, alloca_used);
-             if (res != -1)
-               return res;
-           }
-@@ -99,10 +99,8 @@ FCT (pattern, string, string_end, no_lea
-       case L('*'):
-         if (__builtin_expect (flags & FNM_EXTMATCH, 0) && *p == '(')
-           {
--            int res;
--
--            res = EXT (c, p, n, string_end, no_leading_period,
--                       flags);
-+            int res = EXT (c, p, n, string_end, no_leading_period,
-+                           flags, alloca_used);
-             if (res != -1)
-               return res;
-           }
-@@ -191,7 +189,7 @@ FCT (pattern, string, string_end, no_lea
-                 for (--p; n < endp; ++n, no_leading_period = 0)
-                   if (FCT (p, n, string_end, no_leading_period, flags2,
--                           &end) == 0)
-+                           &end, alloca_used) == 0)
-                     goto found;
-               }
-             else if (c == L('/') && (flags & FNM_FILE_NAME))
-@@ -200,7 +198,7 @@ FCT (pattern, string, string_end, no_lea
-                   ++n;
-                 if (n < string_end && *n == L('/')
-                     && (FCT (p, n + 1, string_end, flags & FNM_PERIOD, flags,
--                             NULL) == 0))
-+                             NULL, alloca_used) == 0))
-                   return 0;
-               }
-             else
-@@ -214,7 +212,7 @@ FCT (pattern, string, string_end, no_lea
-                 for (--p; n < endp; ++n, no_leading_period = 0)
-                   if (FOLD ((UCHAR) *n) == c
-                       && (FCT (p, n, string_end, no_leading_period, flags2,
--                               &end) == 0))
-+                               &end, alloca_used) == 0))
-                     {
-                     found:
-                       if (end.pattern == NULL)
-@@ -749,7 +747,7 @@ FCT (pattern, string, string_end, no_lea
-                                              _NL_COLLATE_SYMB_EXTRAMB);
-                               /* Locate the character in the hashing
--                                   table.  */
-+                                 table.  */
-                               hash = elem_hash (str, c1);
-                               idx = 0;
-@@ -971,9 +969,8 @@ FCT (pattern, string, string_end, no_lea
-       case L('!'):
-         if (__builtin_expect (flags & FNM_EXTMATCH, 0) && *p == '(')
-           {
--            int res;
--
--            res = EXT (c, p, n, string_end, no_leading_period, flags);
-+            int res = EXT (c, p, n, string_end, no_leading_period, flags,
-+                           alloca_used);
-             if (res != -1)
-               return res;
-           }
-@@ -1052,26 +1049,32 @@ END (const CHAR *pattern)
- static int
- internal_function
- EXT (INT opt, const CHAR *pattern, const CHAR *string, const CHAR *string_end,
--     int no_leading_period, int flags)
-+     int no_leading_period, int flags, size_t alloca_used)
- {
-   const CHAR *startp;
-   int level;
-   struct patternlist
-   {
-     struct patternlist *next;
-+    CHAR malloced;
-     CHAR str[0];
-   } *list = NULL;
-   struct patternlist **lastp = &list;
-   size_t pattern_len = STRLEN (pattern);
-+  int any_malloced = 0;
-   const CHAR *p;
-   const CHAR *rs;
-+  int retval = 0;
-   /* Parse the pattern.  Store the individual parts in the list.  */
-   level = 0;
-   for (startp = p = pattern + 1; level >= 0; ++p)
-     if (*p == L('\0'))
--      /* This is an invalid pattern.  */
--      return -1;
-+      {
-+      /* This is an invalid pattern.  */
-+      retval = -1;
-+      goto out;
-+      }
-     else if (*p == L('['))
-       {
-       /* Handle brackets special.  */
-@@ -1088,8 +1091,11 @@ EXT (INT opt, const CHAR *pattern, const
-       /* Skip over all characters of the list.  */
-       while (*p != L(']'))
-         if (*p++ == L('\0'))
--          /* This is no valid pattern.  */
--          return -1;
-+          {
-+            /* This is no valid pattern.  */
-+            retval = -1;
-+            goto out;
-+          }
-       }
-     else if ((*p == L('?') || *p == L('*') || *p == L('+') || *p == L('@')
-             || *p == L('!')) && p[1] == L('('))
-@@ -1102,15 +1108,25 @@ EXT (INT opt, const CHAR *pattern, const
-           /* This means we found the end of the pattern.  */
- #define NEW_PATTERN \
-           struct patternlist *newp;                                         \
--                                                                            \
--          if (opt == L('?') || opt == L('@'))                               \
--            newp = alloca (sizeof (struct patternlist)                      \
--                           + (pattern_len * sizeof (CHAR)));                \
-+          size_t slen = (opt == L('?') || opt == L('@')                     \
-+                         ? pattern_len : (p - startp + 1));                 \
-+          slen = sizeof (struct patternlist) + (slen * sizeof (CHAR));      \
-+          int malloced = ! __libc_use_alloca (alloca_used + slen);          \
-+          if (__builtin_expect (malloced, 0))                               \
-+            {                                                               \
-+              newp = malloc (slen);                                         \
-+              if (newp == NULL)                                             \
-+                {                                                           \
-+                  retval = -2;                                              \
-+                  goto out;                                                 \
-+                }                                                           \
-+              any_malloced = 1;                                             \
-+            }                                                               \
-           else                                                              \
--            newp = alloca (sizeof (struct patternlist)                      \
--                           + ((p - startp + 1) * sizeof (CHAR)));           \
--          *((CHAR *) MEMPCPY (newp->str, startp, p - startp)) = L('\0');    \
-+            newp = alloca_account (slen, alloca_used);                      \
-           newp->next = NULL;                                                \
-+          newp->malloced = malloced;                                        \
-+          *((CHAR *) MEMPCPY (newp->str, startp, p - startp)) = L('\0');    \
-           *lastp = newp;                                                    \
-           lastp = &newp->next
-           NEW_PATTERN;
-@@ -1131,8 +1147,9 @@ EXT (INT opt, const CHAR *pattern, const
-   switch (opt)
-     {
-     case L('*'):
--      if (FCT (p, string, string_end, no_leading_period, flags, NULL) == 0)
--      return 0;
-+      if (FCT (p, string, string_end, no_leading_period, flags, NULL,
-+             alloca_used) == 0)
-+      goto success;
-       /* FALLTHROUGH */
-     case L('+'):
-@@ -1143,7 +1160,7 @@ EXT (INT opt, const CHAR *pattern, const
-              current pattern.  */
-           if (FCT (list->str, string, rs, no_leading_period,
-                    flags & FNM_FILE_NAME ? flags : flags & ~FNM_PERIOD,
--                   NULL) == 0
-+                   NULL, alloca_used) == 0
-               /* This was successful.  Now match the rest with the rest
-                  of the pattern.  */
-               && (FCT (p, rs, string_end,
-@@ -1151,7 +1168,7 @@ EXT (INT opt, const CHAR *pattern, const
-                        ? no_leading_period
-                        : rs[-1] == '/' && NO_LEADING_PERIOD (flags) ? 1 : 0,
-                        flags & FNM_FILE_NAME
--                       ? flags : flags & ~FNM_PERIOD, NULL) == 0
-+                       ? flags : flags & ~FNM_PERIOD, NULL, alloca_used) == 0
-                   /* This didn't work.  Try the whole pattern.  */
-                   || (rs != string
-                       && FCT (pattern - 1, rs, string_end,
-@@ -1160,18 +1177,21 @@ EXT (INT opt, const CHAR *pattern, const
-                               : (rs[-1] == '/' && NO_LEADING_PERIOD (flags)
-                                  ? 1 : 0),
-                               flags & FNM_FILE_NAME
--                              ? flags : flags & ~FNM_PERIOD, NULL) == 0)))
-+                              ? flags : flags & ~FNM_PERIOD, NULL,
-+                              alloca_used) == 0)))
-             /* It worked.  Signal success.  */
--            return 0;
-+            goto success;
-       }
-       while ((list = list->next) != NULL);
-       /* None of the patterns lead to a match.  */
--      return FNM_NOMATCH;
-+      retval = FNM_NOMATCH;
-+      break;
-     case L('?'):
--      if (FCT (p, string, string_end, no_leading_period, flags, NULL) == 0)
--      return 0;
-+      if (FCT (p, string, string_end, no_leading_period, flags, NULL,
-+             alloca_used) == 0)
-+      goto success;
-       /* FALLTHROUGH */
-     case L('@'):
-@@ -1183,13 +1203,14 @@ EXT (INT opt, const CHAR *pattern, const
-       if (FCT (STRCAT (list->str, p), string, string_end,
-                no_leading_period,
-                flags & FNM_FILE_NAME ? flags : flags & ~FNM_PERIOD,
--               NULL) == 0)
-+               NULL, alloca_used) == 0)
-         /* It worked.  Signal success.  */
--        return 0;
-+        goto success;
-       while ((list = list->next) != NULL);
-       /* None of the patterns lead to a match.  */
--      return FNM_NOMATCH;
-+      retval = FNM_NOMATCH;
-+      break;
-     case L('!'):
-       for (rs = string; rs <= string_end; ++rs)
-@@ -1199,7 +1220,7 @@ EXT (INT opt, const CHAR *pattern, const
-         for (runp = list; runp != NULL; runp = runp->next)
-           if (FCT (runp->str, string, rs,  no_leading_period,
-                    flags & FNM_FILE_NAME ? flags : flags & ~FNM_PERIOD,
--                   NULL) == 0)
-+                   NULL, alloca_used) == 0)
-             break;
-         /* If none of the patterns matched see whether the rest does.  */
-@@ -1209,21 +1230,34 @@ EXT (INT opt, const CHAR *pattern, const
-                      ? no_leading_period
-                      : rs[-1] == '/' && NO_LEADING_PERIOD (flags) ? 1 : 0,
-                      flags & FNM_FILE_NAME ? flags : flags & ~FNM_PERIOD,
--                     NULL) == 0))
-+                     NULL, alloca_used) == 0))
-           /* This is successful.  */
--          return 0;
-+          goto success;
-       }
-       /* None of the patterns together with the rest of the pattern
-        lead to a match.  */
--      return FNM_NOMATCH;
-+      retval = FNM_NOMATCH;
-+      break;
-     default:
-       assert (! "Invalid extended matching operator");
-+      retval = -1;
-       break;
-     }
--  return -1;
-+ success:
-+ out:
-+  if (any_malloced)
-+    while (list != NULL)
-+      {
-+      struct patternlist *old = list;
-+      list = list->next;
-+      if (old->malloced)
-+        free (old);
-+      }
-+
-+  return retval;
- }
-Index: glibc-2.12-2-gc4ccff1/posix/tst-fnmatch.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/posix/tst-fnmatch.c
-+++ glibc-2.12-2-gc4ccff1/posix/tst-fnmatch.c
-@@ -25,6 +25,7 @@
- #include <stdlib.h>
- #include <string.h>
- #include <sys/types.h>
-+#include <mcheck.h>
- static char *next_input (char **line, int first, int last);
-@@ -46,6 +47,8 @@ main (void)
-   size_t escpatternlen = 0;
-   int nr = 0;
-+  mtrace ();
-+
-   /* Read lines from stdin with the following format:
-        locale  input-string  match-string  flags  result
diff --git a/src/patches/glibc/glibc-rh688720.patch b/src/patches/glibc/glibc-rh688720.patch
deleted file mode 100644 (file)
index 0c86f25..0000000
+++ /dev/null
@@ -1,1638 +0,0 @@
-2011-11-11  Ulrich Drepper  <drepper@gmail.com>
-
-       [BZ #13147]
-       * locales/de_AT: Use de_DE for LC_NUMERIC.
-       * locales/es_BO: Use es_ES for LC_MESSAGES and LC_NUMERIC.
-       * locales/es_CL: Likewise.
-       * locales/es_CO: Likewise.
-       * locales/es_DO: Likewise.
-       * locales/es_EC: Likewise.
-       * locales/es_GT: Likewise.
-       * locales/es_HN: Likewise.
-       * locales/es_MX: Likewise.
-       * locales/es_NI: Likewise.
-       * locales/es_PA: Likewise.
-       * locales/es_PE: Likewise.
-       * locales/es_PR: Likewise.
-       * locales/es_PY: Likewise.
-       * locales/es_SV: Likewise.
-       * locales/es_UY: Likewise.
-       * locales/es_VE: Likewise.
-       * locales/es_ES: Fix LC_NUMERIC.
-       * locales/es_CR: Use es_ES for LC_MESSAGES.
-       * locales/fr_BE: Actually use grouping in LC_NUMERIC.
-       * locales/fr_CA: Use fr_FR for LC_MESSAGES and LC_NUMERIC.
-       * locales/fr_CH: Use de_CH for LC_NUMERIC.
-       * locales/fr_LU: Use same grouping in LC_NUMERIC as in LC_MONETARY.
-
-2010-05-17  Andreas Schwab  <schwab@redhat.com>
-
-       * locales/es_CR (LC_ADDRESS): Fix character names in lang_ab.
-
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/de_AT
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/de_AT
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/de_AT
-@@ -78,41 +78,39 @@ n_sign_posn               1
- END LC_MONETARY
- LC_NUMERIC
--decimal_point             "<U002C>"
--thousands_sep             ""
--grouping                  0;0
-+copy "de_DE"
- END LC_NUMERIC
- LC_TIME
- abday   "<U0053><U006F><U006E>";"<U004D><U006F><U006E>";/
--        "<U0044><U0069><U0065>";"<U004D><U0069><U0074>";/
--        "<U0044><U006F><U006E>";"<U0046><U0072><U0065>";/
--        "<U0053><U0061><U006D>"
-+      "<U0044><U0069><U0065>";"<U004D><U0069><U0074>";/
-+      "<U0044><U006F><U006E>";"<U0046><U0072><U0065>";/
-+      "<U0053><U0061><U006D>"
- day     "<U0053><U006F><U006E><U006E><U0074><U0061><U0067>";/
--        "<U004D><U006F><U006E><U0074><U0061><U0067>";/
--        "<U0044><U0069><U0065><U006E><U0073><U0074><U0061><U0067>";/
--        "<U004D><U0069><U0074><U0074><U0077><U006F><U0063><U0068>";/
--        "<U0044><U006F><U006E><U006E><U0065><U0072><U0073><U0074><U0061><U0067>";/
--        "<U0046><U0072><U0065><U0069><U0074><U0061><U0067>";/
--        "<U0053><U0061><U006D><U0073><U0074><U0061><U0067>"
-+      "<U004D><U006F><U006E><U0074><U0061><U0067>";/
-+      "<U0044><U0069><U0065><U006E><U0073><U0074><U0061><U0067>";/
-+      "<U004D><U0069><U0074><U0074><U0077><U006F><U0063><U0068>";/
-+      "<U0044><U006F><U006E><U006E><U0065><U0072><U0073><U0074><U0061><U0067>";/
-+      "<U0046><U0072><U0065><U0069><U0074><U0061><U0067>";/
-+      "<U0053><U0061><U006D><U0073><U0074><U0061><U0067>"
- abmon   "<U004A><U00E4><U006E>";"<U0046><U0065><U0062>";/
--        "<U004D><U00E4><U0072>";"<U0041><U0070><U0072>";/
--        "<U004D><U0061><U0069>";"<U004A><U0075><U006E>";/
--        "<U004A><U0075><U006C>";"<U0041><U0075><U0067>";/
--        "<U0053><U0065><U0070>";"<U004F><U006B><U0074>";/
--        "<U004E><U006F><U0076>";"<U0044><U0065><U007A>"
-+      "<U004D><U00E4><U0072>";"<U0041><U0070><U0072>";/
-+      "<U004D><U0061><U0069>";"<U004A><U0075><U006E>";/
-+      "<U004A><U0075><U006C>";"<U0041><U0075><U0067>";/
-+      "<U0053><U0065><U0070>";"<U004F><U006B><U0074>";/
-+      "<U004E><U006F><U0076>";"<U0044><U0065><U007A>"
- mon     "<U004A><U00E4><U006E><U006E><U0065><U0072>";/
--        "<U0046><U0065><U0062><U0065><U0072>";/
--        "<U004D><U00E4><U0072><U007A>";/
--        "<U0041><U0070><U0072><U0069><U006C>";/
--        "<U004D><U0061><U0069>";/
--        "<U004A><U0075><U006E><U0069>";/
--        "<U004A><U0075><U006C><U0069>";/
--        "<U0041><U0075><U0067><U0075><U0073><U0074>";/
--        "<U0053><U0065><U0070><U0074><U0065><U006D><U0062><U0065><U0072>";/
--        "<U004F><U006B><U0074><U006F><U0062><U0065><U0072>";/
--        "<U004E><U006F><U0076><U0065><U006D><U0062><U0065><U0072>";/
--        "<U0044><U0065><U007A><U0065><U006D><U0062><U0065><U0072>"
-+      "<U0046><U0065><U0062><U0065><U0072>";/
-+      "<U004D><U00E4><U0072><U007A>";/
-+      "<U0041><U0070><U0072><U0069><U006C>";/
-+      "<U004D><U0061><U0069>";/
-+      "<U004A><U0075><U006E><U0069>";/
-+      "<U004A><U0075><U006C><U0069>";/
-+      "<U0041><U0075><U0067><U0075><U0073><U0074>";/
-+      "<U0053><U0065><U0070><U0074><U0065><U006D><U0062><U0065><U0072>";/
-+      "<U004F><U006B><U0074><U006F><U0062><U0065><U0072>";/
-+      "<U004E><U006F><U0076><U0065><U006D><U0062><U0065><U0072>";/
-+      "<U0044><U0065><U007A><U0065><U006D><U0062><U0065><U0072>"
- d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
- d_fmt   "<U0025><U0059><U002D><U0025><U006D><U002D><U0025><U0064>"
- t_fmt   "<U0025><U0054>"
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_BO
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_BO
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/es_BO
-@@ -56,8 +56,7 @@ copy "es_ES"
- END LC_CTYPE
- LC_MESSAGES
--yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
--noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
-+copy "es_ES"
- END LC_MESSAGES
- LC_MONETARY
-@@ -79,41 +78,39 @@ n_sign_posn          1
- END LC_MONETARY
- LC_NUMERIC
--decimal_point        "<U002C>"
--thousands_sep        ""
--grouping             0;0
-+copy "es_ES"
- END LC_NUMERIC
- LC_TIME
- abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
--        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
--        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
--        "<U0073><U00E1><U0062>"
-+      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
-+      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
-+      "<U0073><U00E1><U0062>"
- day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
--        "<U006C><U0075><U006E><U0065><U0073>";/
--        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
--        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
--        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
--        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
--        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
-+      "<U006C><U0075><U006E><U0065><U0073>";/
-+      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
-+      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
-+      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
-+      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
-+      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
- abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
--        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
--        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
--        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
--        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
--        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
-+      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
-+      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
-+      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
-+      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
-+      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
- mon     "<U0065><U006E><U0065><U0072><U006F>";/
--        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
--        "<U006D><U0061><U0072><U007A><U006F>";/
--        "<U0061><U0062><U0072><U0069><U006C>";/
--        "<U006D><U0061><U0079><U006F>";/
--        "<U006A><U0075><U006E><U0069><U006F>";/
--        "<U006A><U0075><U006C><U0069><U006F>";/
--        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
--        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
--        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
-+      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
-+      "<U006D><U0061><U0072><U007A><U006F>";/
-+      "<U0061><U0062><U0072><U0069><U006C>";/
-+      "<U006D><U0061><U0079><U006F>";/
-+      "<U006A><U0075><U006E><U0069><U006F>";/
-+      "<U006A><U0075><U006C><U0069><U006F>";/
-+      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
-+      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
-+      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
- d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
- d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
- t_fmt   "<U0025><U0054>"
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_CL
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_CL
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/es_CL
-@@ -56,8 +56,7 @@ copy "es_ES"
- END LC_CTYPE
- LC_MESSAGES
--yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
--noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
-+copy "es_ES"
- END LC_MESSAGES
- LC_MONETARY
-@@ -79,41 +78,39 @@ n_sign_posn          1
- END LC_MONETARY
- LC_NUMERIC
--decimal_point        "<U002C>"
--thousands_sep        ""
--grouping             0;0
-+copy "es_ES"
- END LC_NUMERIC
- LC_TIME
- abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
--        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
--        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
--        "<U0073><U00E1><U0062>"
-+      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
-+      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
-+      "<U0073><U00E1><U0062>"
- day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
--        "<U006C><U0075><U006E><U0065><U0073>";/
--        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
--        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
--        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
--        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
--        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
-+      "<U006C><U0075><U006E><U0065><U0073>";/
-+      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
-+      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
-+      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
-+      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
-+      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
- abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
--        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
--        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
--        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
--        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
--        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
-+      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
-+      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
-+      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
-+      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
-+      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
- mon     "<U0065><U006E><U0065><U0072><U006F>";/
--        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
--        "<U006D><U0061><U0072><U007A><U006F>";/
--        "<U0061><U0062><U0072><U0069><U006C>";/
--        "<U006D><U0061><U0079><U006F>";/
--        "<U006A><U0075><U006E><U0069><U006F>";/
--        "<U006A><U0075><U006C><U0069><U006F>";/
--        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
--        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
--        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
-+      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
-+      "<U006D><U0061><U0072><U007A><U006F>";/
-+      "<U0061><U0062><U0072><U0069><U006C>";/
-+      "<U006D><U0061><U0079><U006F>";/
-+      "<U006A><U0075><U006E><U0069><U006F>";/
-+      "<U006A><U0075><U006C><U0069><U006F>";/
-+      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
-+      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
-+      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
- d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
- d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
- t_fmt   "<U0025><U0054>"
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_CO
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_CO
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/es_CO
-@@ -56,8 +56,7 @@ copy "es_ES"
- END LC_CTYPE
- LC_MESSAGES
--yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
--noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
-+copy "es_ES"
- END LC_MESSAGES
- LC_MONETARY
-@@ -79,41 +78,39 @@ n_sign_posn          1
- END LC_MONETARY
- LC_NUMERIC
--decimal_point        "<U002C>"
--thousands_sep        ""
--grouping             0;0
-+copy "es_ES"
- END LC_NUMERIC
- LC_TIME
- abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
--        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
--        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
--        "<U0073><U00E1><U0062>"
-+      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
-+      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
-+      "<U0073><U00E1><U0062>"
- day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
--        "<U006C><U0075><U006E><U0065><U0073>";/
--        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
--        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
--        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
--        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
--        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
-+      "<U006C><U0075><U006E><U0065><U0073>";/
-+      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
-+      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
-+      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
-+      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
-+      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
- abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
--        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
--        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
--        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
--        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
--        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
-+      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
-+      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
-+      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
-+      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
-+      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
- mon     "<U0065><U006E><U0065><U0072><U006F>";/
--        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
--        "<U006D><U0061><U0072><U007A><U006F>";/
--        "<U0061><U0062><U0072><U0069><U006C>";/
--        "<U006D><U0061><U0079><U006F>";/
--        "<U006A><U0075><U006E><U0069><U006F>";/
--        "<U006A><U0075><U006C><U0069><U006F>";/
--        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
--        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
--        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
-+      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
-+      "<U006D><U0061><U0072><U007A><U006F>";/
-+      "<U0061><U0062><U0072><U0069><U006C>";/
-+      "<U006D><U0061><U0079><U006F>";/
-+      "<U006A><U0075><U006E><U0069><U006F>";/
-+      "<U006A><U0075><U006C><U0069><U006F>";/
-+      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
-+      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
-+      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
- d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
- d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
- t_fmt   "<U0025><U0054>"
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_CR
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_CR
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/es_CR
-@@ -47,8 +47,7 @@ copy "es_ES"
- END LC_CTYPE
- LC_MESSAGES
--yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
--noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
-+copy "es_ES"
- END LC_MESSAGES
- LC_MONETARY
-@@ -79,34 +78,34 @@ END LC_NUMERIC
- LC_TIME
- abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
--        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
--        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
--        "<U0073><U00E1><U0062>"
-+      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
-+      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
-+      "<U0073><U00E1><U0062>"
- day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
--        "<U006C><U0075><U006E><U0065><U0073>";/
--        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
--        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
--        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
--        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
--        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
-+      "<U006C><U0075><U006E><U0065><U0073>";/
-+      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
-+      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
-+      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
-+      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
-+      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
- abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
--        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
--        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
--        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
--        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
--        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
-+      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
-+      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
-+      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
-+      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
-+      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
- mon     "<U0065><U006E><U0065><U0072><U006F>";/
--        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
--        "<U006D><U0061><U0072><U007A><U006F>";/
--        "<U0061><U0062><U0072><U0069><U006C>";/
--        "<U006D><U0061><U0079><U006F>";/
--        "<U006A><U0075><U006E><U0069><U006F>";/
--        "<U006A><U0075><U006C><U0069><U006F>";/
--        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
--        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
--        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
-+      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
-+      "<U006D><U0061><U0072><U007A><U006F>";/
-+      "<U0061><U0062><U0072><U0069><U006C>";/
-+      "<U006D><U0061><U0079><U006F>";/
-+      "<U006A><U0075><U006E><U0069><U006F>";/
-+      "<U006A><U0075><U006C><U0069><U006F>";/
-+      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
-+      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
-+      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
- d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
- d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0059>"
- t_fmt   "<U0025><U0054>"
-@@ -157,7 +156,7 @@ country_post  "<U0043><U0052>"
- country_car   "<U0043><U0052>"
- country_isbn  "9930,9977,9968"
- lang_name     "<U0045><U0073><U0070><U0061><U00F1><U006F><U006C>"
--lang_ab       "<0065><0073>"
-+lang_ab       "<U0065><U0073>"
- lang_term     "<U0073><U0070><U0061>"
- country_ab2   "<U0043><U0052>"
- country_ab3   "<U0043><U0052><U0049>"
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_DO
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_DO
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/es_DO
-@@ -56,8 +56,7 @@ copy "es_ES"
- END LC_CTYPE
- LC_MESSAGES
--yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
--noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
-+copy "es_ES"
- END LC_MESSAGES
- LC_MONETARY
-@@ -79,41 +78,39 @@ n_sign_posn          1
- END LC_MONETARY
- LC_NUMERIC
--decimal_point        "<U002E>"
--thousands_sep        ""
--grouping             0;0
-+copy "es_ES"
- END LC_NUMERIC
- LC_TIME
- abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
--        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
--        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
--        "<U0073><U00E1><U0062>"
-+      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
-+      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
-+      "<U0073><U00E1><U0062>"
- day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
--        "<U006C><U0075><U006E><U0065><U0073>";/
--        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
--        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
--        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
--        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
--        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
-+      "<U006C><U0075><U006E><U0065><U0073>";/
-+      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
-+      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
-+      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
-+      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
-+      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
- abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
--        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
--        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
--        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
--        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
--        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
-+      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
-+      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
-+      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
-+      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
-+      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
- mon     "<U0065><U006E><U0065><U0072><U006F>";/
--        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
--        "<U006D><U0061><U0072><U007A><U006F>";/
--        "<U0061><U0062><U0072><U0069><U006C>";/
--        "<U006D><U0061><U0079><U006F>";/
--        "<U006A><U0075><U006E><U0069><U006F>";/
--        "<U006A><U0075><U006C><U0069><U006F>";/
--        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
--        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
--        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
-+      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
-+      "<U006D><U0061><U0072><U007A><U006F>";/
-+      "<U0061><U0062><U0072><U0069><U006C>";/
-+      "<U006D><U0061><U0079><U006F>";/
-+      "<U006A><U0075><U006E><U0069><U006F>";/
-+      "<U006A><U0075><U006C><U0069><U006F>";/
-+      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
-+      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
-+      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
- d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
- d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
- t_fmt   "<U0025><U0054>"
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_EC
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_EC
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/es_EC
-@@ -56,8 +56,7 @@ copy "es_ES"
- END LC_CTYPE
- LC_MESSAGES
--yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
--noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
-+copy "es_ES"
- END LC_MESSAGES
- LC_MONETARY
-@@ -79,41 +78,39 @@ n_sign_posn          1
- END LC_MONETARY
- LC_NUMERIC
--decimal_point        "<U002C>"
--thousands_sep        ""
--grouping             0;0
-+copy "es_ES"
- END LC_NUMERIC
- LC_TIME
- abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
--        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
--        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
--        "<U0073><U00E1><U0062>"
-+      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
-+      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
-+      "<U0073><U00E1><U0062>"
- day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
--        "<U006C><U0075><U006E><U0065><U0073>";/
--        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
--        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
--        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
--        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
--        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
-+      "<U006C><U0075><U006E><U0065><U0073>";/
-+      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
-+      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
-+      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
-+      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
-+      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
- abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
--        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
--        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
--        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
--        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
--        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
-+      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
-+      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
-+      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
-+      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
-+      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
- mon     "<U0065><U006E><U0065><U0072><U006F>";/
--        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
--        "<U006D><U0061><U0072><U007A><U006F>";/
--        "<U0061><U0062><U0072><U0069><U006C>";/
--        "<U006D><U0061><U0079><U006F>";/
--        "<U006A><U0075><U006E><U0069><U006F>";/
--        "<U006A><U0075><U006C><U0069><U006F>";/
--        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
--        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
--        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
-+      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
-+      "<U006D><U0061><U0072><U007A><U006F>";/
-+      "<U0061><U0062><U0072><U0069><U006C>";/
-+      "<U006D><U0061><U0079><U006F>";/
-+      "<U006A><U0075><U006E><U0069><U006F>";/
-+      "<U006A><U0075><U006C><U0069><U006F>";/
-+      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
-+      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
-+      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
- d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
- d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
- t_fmt   "<U0025><U0054>"
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_ES
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_ES
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/es_ES
-@@ -85,40 +85,40 @@ END LC_MONETARY
- LC_NUMERIC
- decimal_point        "<U002C>"
--thousands_sep        ""
--grouping             0;0
-+thousands_sep        "<U002E>"
-+grouping             3;3
- END LC_NUMERIC
- LC_TIME
- abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
--        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
--        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
--        "<U0073><U00E1><U0062>"
-+      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
-+      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
-+      "<U0073><U00E1><U0062>"
- day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
--        "<U006C><U0075><U006E><U0065><U0073>";/
--        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
--        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
--        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
--        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
--        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
-+      "<U006C><U0075><U006E><U0065><U0073>";/
-+      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
-+      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
-+      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
-+      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
-+      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
- abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
--        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
--        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
--        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
--        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
--        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
-+      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
-+      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
-+      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
-+      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
-+      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
- mon     "<U0065><U006E><U0065><U0072><U006F>";/
--        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
--        "<U006D><U0061><U0072><U007A><U006F>";/
--        "<U0061><U0062><U0072><U0069><U006C>";/
--        "<U006D><U0061><U0079><U006F>";/
--        "<U006A><U0075><U006E><U0069><U006F>";/
--        "<U006A><U0075><U006C><U0069><U006F>";/
--        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
--        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
--        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
-+      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
-+      "<U006D><U0061><U0072><U007A><U006F>";/
-+      "<U0061><U0062><U0072><U0069><U006C>";/
-+      "<U006D><U0061><U0079><U006F>";/
-+      "<U006A><U0075><U006E><U0069><U006F>";/
-+      "<U006A><U0075><U006C><U0069><U006F>";/
-+      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
-+      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
-+      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
- d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
- d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
- t_fmt   "<U0025><U0054>"
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_GT
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_GT
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/es_GT
-@@ -55,8 +55,7 @@ copy "es_ES"
- END LC_CTYPE
- LC_MESSAGES
--yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
--noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
-+copy "es_ES"
- END LC_MESSAGES
- LC_MONETARY
-@@ -78,9 +77,7 @@ n_sign_posn          1
- END LC_MONETARY
- LC_NUMERIC
--decimal_point        "<U002E>"
--thousands_sep        ""
--grouping             0;0
-+copy "es_ES"
- END LC_NUMERIC
- LC_TIME
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_HN
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_HN
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/es_HN
-@@ -56,8 +56,7 @@ copy "es_ES"
- END LC_CTYPE
- LC_MESSAGES
--yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
--noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
-+copy "es_ES"
- END LC_MESSAGES
- LC_MONETARY
-@@ -79,41 +78,39 @@ n_sign_posn          1
- END LC_MONETARY
- LC_NUMERIC
--decimal_point        "<U002E>"
--thousands_sep        ""
--grouping             0;0
-+copy "es_ES"
- END LC_NUMERIC
- LC_TIME
- abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
--        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
--        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
--        "<U0073><U00E1><U0062>"
-+      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
-+      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
-+      "<U0073><U00E1><U0062>"
- day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
--        "<U006C><U0075><U006E><U0065><U0073>";/
--        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
--        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
--        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
--        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
--        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
-+      "<U006C><U0075><U006E><U0065><U0073>";/
-+      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
-+      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
-+      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
-+      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
-+      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
- abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
--        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
--        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
--        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
--        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
--        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
-+      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
-+      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
-+      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
-+      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
-+      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
- mon     "<U0065><U006E><U0065><U0072><U006F>";/
--        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
--        "<U006D><U0061><U0072><U007A><U006F>";/
--        "<U0061><U0062><U0072><U0069><U006C>";/
--        "<U006D><U0061><U0079><U006F>";/
--        "<U006A><U0075><U006E><U0069><U006F>";/
--        "<U006A><U0075><U006C><U0069><U006F>";/
--        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
--        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
--        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
-+      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
-+      "<U006D><U0061><U0072><U007A><U006F>";/
-+      "<U0061><U0062><U0072><U0069><U006C>";/
-+      "<U006D><U0061><U0079><U006F>";/
-+      "<U006A><U0075><U006E><U0069><U006F>";/
-+      "<U006A><U0075><U006C><U0069><U006F>";/
-+      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
-+      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
-+      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
- d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
- d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
- t_fmt   "<U0025><U0054>"
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_MX
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_MX
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/es_MX
-@@ -56,8 +56,7 @@ copy "es_ES"
- END LC_CTYPE
- LC_MESSAGES
--yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
--noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
-+copy "es_ES"
- END LC_MESSAGES
- LC_MONETARY
-@@ -79,41 +78,39 @@ n_sign_posn          1
- END LC_MONETARY
- LC_NUMERIC
--decimal_point        "<U002E>"
--thousands_sep        ""
--grouping             0;0
-+copy "es_ES"
- END LC_NUMERIC
- LC_TIME
- abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
--        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
--        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
--        "<U0073><U00E1><U0062>"
-+      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
-+      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
-+      "<U0073><U00E1><U0062>"
- day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
--        "<U006C><U0075><U006E><U0065><U0073>";/
--        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
--        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
--        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
--        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
--        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
-+      "<U006C><U0075><U006E><U0065><U0073>";/
-+      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
-+      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
-+      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
-+      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
-+      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
- abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
--        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
--        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
--        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
--        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
--        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
-+      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
-+      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
-+      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
-+      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
-+      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
- mon     "<U0065><U006E><U0065><U0072><U006F>";/
--        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
--        "<U006D><U0061><U0072><U007A><U006F>";/
--        "<U0061><U0062><U0072><U0069><U006C>";/
--        "<U006D><U0061><U0079><U006F>";/
--        "<U006A><U0075><U006E><U0069><U006F>";/
--        "<U006A><U0075><U006C><U0069><U006F>";/
--        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
--        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
--        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
-+      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
-+      "<U006D><U0061><U0072><U007A><U006F>";/
-+      "<U0061><U0062><U0072><U0069><U006C>";/
-+      "<U006D><U0061><U0079><U006F>";/
-+      "<U006A><U0075><U006E><U0069><U006F>";/
-+      "<U006A><U0075><U006C><U0069><U006F>";/
-+      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
-+      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
-+      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
- d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
- d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
- t_fmt   "<U0025><U0054>"
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_NI
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_NI
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/es_NI
-@@ -47,8 +47,7 @@ copy "es_ES"
- END LC_CTYPE
- LC_MESSAGES
--yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
--noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
-+copy "es_ES"
- END LC_MESSAGES
- LC_MONETARY
-@@ -70,9 +69,7 @@ n_sign_posn          1
- END LC_MONETARY
- LC_NUMERIC
--decimal_point        "<U002E>"
--thousands_sep        ""
--grouping             0;0
-+copy "es_ES"
- END LC_NUMERIC
- LC_TIME
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_PA
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_PA
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/es_PA
-@@ -56,8 +56,7 @@ copy "es_ES"
- END LC_CTYPE
- LC_MESSAGES
--yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
--noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
-+copy "es_ES"
- END LC_MESSAGES
- LC_MONETARY
-@@ -79,41 +78,39 @@ n_sign_posn          1
- END LC_MONETARY
- LC_NUMERIC
--decimal_point        "<U002E>"
--thousands_sep        ""
--grouping             0;0
-+copy "es_ES"
- END LC_NUMERIC
- LC_TIME
- abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
--        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
--        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
--        "<U0073><U00E1><U0062>"
-+      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
-+      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
-+      "<U0073><U00E1><U0062>"
- day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
--        "<U006C><U0075><U006E><U0065><U0073>";/
--        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
--        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
--        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
--        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
--        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
-+      "<U006C><U0075><U006E><U0065><U0073>";/
-+      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
-+      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
-+      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
-+      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
-+      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
- abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
--        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
--        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
--        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
--        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
--        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
-+      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
-+      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
-+      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
-+      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
-+      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
- mon     "<U0065><U006E><U0065><U0072><U006F>";/
--        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
--        "<U006D><U0061><U0072><U007A><U006F>";/
--        "<U0061><U0062><U0072><U0069><U006C>";/
--        "<U006D><U0061><U0079><U006F>";/
--        "<U006A><U0075><U006E><U0069><U006F>";/
--        "<U006A><U0075><U006C><U0069><U006F>";/
--        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
--        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
--        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
-+      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
-+      "<U006D><U0061><U0072><U007A><U006F>";/
-+      "<U0061><U0062><U0072><U0069><U006C>";/
-+      "<U006D><U0061><U0079><U006F>";/
-+      "<U006A><U0075><U006E><U0069><U006F>";/
-+      "<U006A><U0075><U006C><U0069><U006F>";/
-+      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
-+      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
-+      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
- d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
- d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
- t_fmt   "<U0025><U0054>"
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_PE
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_PE
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/es_PE
-@@ -56,8 +56,7 @@ copy "es_ES"
- END LC_CTYPE
- LC_MESSAGES
--yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
--noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
-+copy "es_ES"
- END LC_MESSAGES
- LC_MONETARY
-@@ -79,41 +78,39 @@ n_sign_posn          1
- END LC_MONETARY
- LC_NUMERIC
--decimal_point        "<U002E>"
--thousands_sep        ""
--grouping             0;0
-+copy "es_ES"
- END LC_NUMERIC
- LC_TIME
- abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
--        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
--        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
--        "<U0073><U00E1><U0062>"
-+      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
-+      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
-+      "<U0073><U00E1><U0062>"
- day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
--        "<U006C><U0075><U006E><U0065><U0073>";/
--        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
--        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
--        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
--        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
--        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
-+      "<U006C><U0075><U006E><U0065><U0073>";/
-+      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
-+      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
-+      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
-+      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
-+      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
- abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
--        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
--        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
--        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
--        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
--        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
-+      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
-+      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
-+      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
-+      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
-+      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
- mon     "<U0065><U006E><U0065><U0072><U006F>";/
--        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
--        "<U006D><U0061><U0072><U007A><U006F>";/
--        "<U0061><U0062><U0072><U0069><U006C>";/
--        "<U006D><U0061><U0079><U006F>";/
--        "<U006A><U0075><U006E><U0069><U006F>";/
--        "<U006A><U0075><U006C><U0069><U006F>";/
--        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
--        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
--        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
-+      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
-+      "<U006D><U0061><U0072><U007A><U006F>";/
-+      "<U0061><U0062><U0072><U0069><U006C>";/
-+      "<U006D><U0061><U0079><U006F>";/
-+      "<U006A><U0075><U006E><U0069><U006F>";/
-+      "<U006A><U0075><U006C><U0069><U006F>";/
-+      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
-+      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
-+      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
- d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
- d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
- t_fmt   "<U0025><U0054>"
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_PR
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_PR
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/es_PR
-@@ -47,8 +47,7 @@ copy "es_ES"
- END LC_CTYPE
- LC_MESSAGES
--yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
--noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
-+copy "es_ES"
- END LC_MESSAGES
- LC_MONETARY
-@@ -70,41 +69,39 @@ n_sign_posn          1
- END LC_MONETARY
- LC_NUMERIC
--decimal_point        "<U002E>"
--thousands_sep        ""
--grouping             0;0
-+copy "es_ES"
- END LC_NUMERIC
- LC_TIME
- abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
--        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
--        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
--        "<U0073><U00E1><U0062>"
-+      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
-+      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
-+      "<U0073><U00E1><U0062>"
- day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
--        "<U006C><U0075><U006E><U0065><U0073>";/
--        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
--        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
--        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
--        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
--        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
-+      "<U006C><U0075><U006E><U0065><U0073>";/
-+      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
-+      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
-+      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
-+      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
-+      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
- abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
--        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
--        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
--        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
--        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
--        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
-+      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
-+      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
-+      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
-+      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
-+      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
- mon     "<U0065><U006E><U0065><U0072><U006F>";/
--        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
--        "<U006D><U0061><U0072><U007A><U006F>";/
--        "<U0061><U0062><U0072><U0069><U006C>";/
--        "<U006D><U0061><U0079><U006F>";/
--        "<U006A><U0075><U006E><U0069><U006F>";/
--        "<U006A><U0075><U006C><U0069><U006F>";/
--        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
--        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
--        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
-+      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
-+      "<U006D><U0061><U0072><U007A><U006F>";/
-+      "<U0061><U0062><U0072><U0069><U006C>";/
-+      "<U006D><U0061><U0079><U006F>";/
-+      "<U006A><U0075><U006E><U0069><U006F>";/
-+      "<U006A><U0075><U006C><U0069><U006F>";/
-+      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
-+      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
-+      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
- d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
- d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
- t_fmt   "<U0025><U0054>"
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_PY
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_PY
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/es_PY
-@@ -56,8 +56,7 @@ copy "es_ES"
- END LC_CTYPE
- LC_MESSAGES
--yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
--noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
-+copy "es_ES"
- END LC_MESSAGES
- LC_MONETARY
-@@ -79,41 +78,39 @@ n_sign_posn          1
- END LC_MONETARY
- LC_NUMERIC
--decimal_point        "<U002C>"
--thousands_sep        ""
--grouping             0;0
-+copy "es_ES"
- END LC_NUMERIC
- LC_TIME
- abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
--        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
--        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
--        "<U0073><U00E1><U0062>"
-+      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
-+      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
-+      "<U0073><U00E1><U0062>"
- day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
--        "<U006C><U0075><U006E><U0065><U0073>";/
--        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
--        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
--        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
--        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
--        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
-+      "<U006C><U0075><U006E><U0065><U0073>";/
-+      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
-+      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
-+      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
-+      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
-+      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
- abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
--        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
--        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
--        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
--        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
--        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
-+      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
-+      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
-+      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
-+      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
-+      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
- mon     "<U0065><U006E><U0065><U0072><U006F>";/
--        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
--        "<U006D><U0061><U0072><U007A><U006F>";/
--        "<U0061><U0062><U0072><U0069><U006C>";/
--        "<U006D><U0061><U0079><U006F>";/
--        "<U006A><U0075><U006E><U0069><U006F>";/
--        "<U006A><U0075><U006C><U0069><U006F>";/
--        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
--        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
--        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
-+      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
-+      "<U006D><U0061><U0072><U007A><U006F>";/
-+      "<U0061><U0062><U0072><U0069><U006C>";/
-+      "<U006D><U0061><U0079><U006F>";/
-+      "<U006A><U0075><U006E><U0069><U006F>";/
-+      "<U006A><U0075><U006C><U0069><U006F>";/
-+      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
-+      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
-+      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
- d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
- d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
- t_fmt   "<U0025><U0054>"
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_SV
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_SV
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/es_SV
-@@ -56,8 +56,7 @@ copy "es_ES"
- END LC_CTYPE
- LC_MESSAGES
--yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
--noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
-+copy "es_ES"
- END LC_MESSAGES
- LC_MONETARY
-@@ -79,9 +78,7 @@ n_sign_posn          1
- END LC_MONETARY
- LC_NUMERIC
--decimal_point        "<U002E>"
--thousands_sep        ""
--grouping             0;0
-+copy "es_ES"
- END LC_NUMERIC
- LC_TIME
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_UY
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_UY
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/es_UY
-@@ -56,8 +56,7 @@ copy "es_ES"
- END LC_CTYPE
- LC_MESSAGES
--yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
--noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
-+copy "es_ES"
- END LC_MESSAGES
- LC_MONETARY
-@@ -79,41 +78,39 @@ n_sign_posn          1
- END LC_MONETARY
- LC_NUMERIC
--decimal_point        "<U002C>"
--thousands_sep        ""
--grouping             0;0
-+copy "es_ES"
- END LC_NUMERIC
- LC_TIME
- abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
--        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
--        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
--        "<U0073><U00E1><U0062>"
-+      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
-+      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
-+      "<U0073><U00E1><U0062>"
- day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
--        "<U006C><U0075><U006E><U0065><U0073>";/
--        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
--        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
--        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
--        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
--        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
-+      "<U006C><U0075><U006E><U0065><U0073>";/
-+      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
-+      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
-+      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
-+      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
-+      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
- abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
--        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
--        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
--        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
--        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
--        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
-+      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
-+      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
-+      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
-+      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
-+      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
- mon     "<U0065><U006E><U0065><U0072><U006F>";/
--        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
--        "<U006D><U0061><U0072><U007A><U006F>";/
--        "<U0061><U0062><U0072><U0069><U006C>";/
--        "<U006D><U0061><U0079><U006F>";/
--        "<U006A><U0075><U006E><U0069><U006F>";/
--        "<U006A><U0075><U006C><U0069><U006F>";/
--        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
--        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
--        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
-+      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
-+      "<U006D><U0061><U0072><U007A><U006F>";/
-+      "<U0061><U0062><U0072><U0069><U006C>";/
-+      "<U006D><U0061><U0079><U006F>";/
-+      "<U006A><U0075><U006E><U0069><U006F>";/
-+      "<U006A><U0075><U006C><U0069><U006F>";/
-+      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
-+      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
-+      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
- d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
- d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
- t_fmt   "<U0025><U0054>"
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_VE
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_VE
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/es_VE
-@@ -56,8 +56,7 @@ copy "es_ES"
- END LC_CTYPE
- LC_MESSAGES
--yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
--noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
-+copy "es_ES"
- END LC_MESSAGES
- LC_MONETARY
-@@ -79,41 +78,39 @@ n_sign_posn          1
- END LC_MONETARY
- LC_NUMERIC
--decimal_point        "<U002C>"
--thousands_sep        ""
--grouping             0;0
-+copy "es_ES"
- END LC_NUMERIC
- LC_TIME
- abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
--        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
--        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
--        "<U0073><U00E1><U0062>"
-+      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
-+      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
-+      "<U0073><U00E1><U0062>"
- day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
--        "<U006C><U0075><U006E><U0065><U0073>";/
--        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
--        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
--        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
--        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
--        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
-+      "<U006C><U0075><U006E><U0065><U0073>";/
-+      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
-+      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
-+      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
-+      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
-+      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
- abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
--        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
--        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
--        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
--        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
--        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
-+      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
-+      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
-+      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
-+      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
-+      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
- mon     "<U0065><U006E><U0065><U0072><U006F>";/
--        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
--        "<U006D><U0061><U0072><U007A><U006F>";/
--        "<U0061><U0062><U0072><U0069><U006C>";/
--        "<U006D><U0061><U0079><U006F>";/
--        "<U006A><U0075><U006E><U0069><U006F>";/
--        "<U006A><U0075><U006C><U0069><U006F>";/
--        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
--        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
--        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
--        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
-+      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
-+      "<U006D><U0061><U0072><U007A><U006F>";/
-+      "<U0061><U0062><U0072><U0069><U006C>";/
-+      "<U006D><U0061><U0079><U006F>";/
-+      "<U006A><U0075><U006E><U0069><U006F>";/
-+      "<U006A><U0075><U006C><U0069><U006F>";/
-+      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
-+      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
-+      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
- d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
- d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
- t_fmt   "<U0025><U0054>"
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/fr_BE
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/fr_BE
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/fr_BE
-@@ -79,7 +79,7 @@ END LC_MONETARY
- LC_NUMERIC
- decimal_point             "<U002C>"
- thousands_sep             "<U002E>"
--grouping                  0;0
-+grouping                  3;3
- END LC_NUMERIC
- LC_TIME
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/fr_CA
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/fr_CA
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/fr_CA
-@@ -55,8 +55,7 @@ copy "en_CA"
- END LC_COLLATE
- LC_MESSAGES
--yesexpr "<U005E><U005B><U006F><U004F><U0079><U0059><U005D><U002E><U002A>"
--noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
-+copy "fr_FR"
- END LC_MESSAGES
- LC_MONETARY
-@@ -78,41 +77,39 @@ n_sign_posn               0
- END LC_MONETARY
- LC_NUMERIC
--decimal_point             "<U002C>"
--thousands_sep             "<U0020>"
--grouping                  0;0
-+copy "fr_FR"
- END LC_NUMERIC
- LC_TIME
- abday   "<U0064><U0069><U006D>";"<U006C><U0075><U006E>";/
--        "<U006D><U0061><U0072>";"<U006D><U0065><U0072>";/
--        "<U006A><U0065><U0075>";"<U0076><U0065><U006E>";/
--        "<U0073><U0061><U006D>"
-+      "<U006D><U0061><U0072>";"<U006D><U0065><U0072>";/
-+      "<U006A><U0065><U0075>";"<U0076><U0065><U006E>";/
-+      "<U0073><U0061><U006D>"
- day     "<U0064><U0069><U006D><U0061><U006E><U0063><U0068><U0065>";/
--        "<U006C><U0075><U006E><U0064><U0069>";/
--        "<U006D><U0061><U0072><U0064><U0069>";/
--        "<U006D><U0065><U0072><U0063><U0072><U0065><U0064><U0069>";/
--        "<U006A><U0065><U0075><U0064><U0069>";/
--        "<U0076><U0065><U006E><U0064><U0072><U0065><U0064><U0069>";/
--        "<U0073><U0061><U006D><U0065><U0064><U0069>"
-+      "<U006C><U0075><U006E><U0064><U0069>";/
-+      "<U006D><U0061><U0072><U0064><U0069>";/
-+      "<U006D><U0065><U0072><U0063><U0072><U0065><U0064><U0069>";/
-+      "<U006A><U0065><U0075><U0064><U0069>";/
-+      "<U0076><U0065><U006E><U0064><U0072><U0065><U0064><U0069>";/
-+      "<U0073><U0061><U006D><U0065><U0064><U0069>"
- abmon   "<U006A><U0061><U006E>";"<U0066><U00E9><U0076>";/
--        "<U006D><U0061><U0072>";"<U0061><U0076><U0072>";/
--        "<U006D><U0061><U0069>";"<U006A><U0075><U006E>";/
--        "<U006A><U0075><U0069>";"<U0061><U006F><U00FB>";/
--        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
--        "<U006E><U006F><U0076>";"<U0064><U00E9><U0063>"
-+      "<U006D><U0061><U0072>";"<U0061><U0076><U0072>";/
-+      "<U006D><U0061><U0069>";"<U006A><U0075><U006E>";/
-+      "<U006A><U0075><U0069>";"<U0061><U006F><U00FB>";/
-+      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
-+      "<U006E><U006F><U0076>";"<U0064><U00E9><U0063>"
- mon     "<U006A><U0061><U006E><U0076><U0069><U0065><U0072>";/
--        "<U0066><U00E9><U0076><U0072><U0069><U0065><U0072>";/
--        "<U006D><U0061><U0072><U0073>";/
--        "<U0061><U0076><U0072><U0069><U006C>";/
--        "<U006D><U0061><U0069>";/
--        "<U006A><U0075><U0069><U006E>";/
--        "<U006A><U0075><U0069><U006C><U006C><U0065><U0074>";/
--        "<U0061><U006F><U00FB><U0074>";/
--        "<U0073><U0065><U0070><U0074><U0065><U006D><U0062><U0072><U0065>";/
--        "<U006F><U0063><U0074><U006F><U0062><U0072><U0065>";/
--        "<U006E><U006F><U0076><U0065><U006D><U0062><U0072><U0065>";/
--        "<U0064><U00E9><U0063><U0065><U006D><U0062><U0072><U0065>"
-+      "<U0066><U00E9><U0076><U0072><U0069><U0065><U0072>";/
-+      "<U006D><U0061><U0072><U0073>";/
-+      "<U0061><U0076><U0072><U0069><U006C>";/
-+      "<U006D><U0061><U0069>";/
-+      "<U006A><U0075><U0069><U006E>";/
-+      "<U006A><U0075><U0069><U006C><U006C><U0065><U0074>";/
-+      "<U0061><U006F><U00FB><U0074>";/
-+      "<U0073><U0065><U0070><U0074><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U006F><U0063><U0074><U006F><U0062><U0072><U0065>";/
-+      "<U006E><U006F><U0076><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U0064><U00E9><U0063><U0065><U006D><U0062><U0072><U0065>"
- d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
- d_fmt   "<U0025><U0059><U002D><U0025><U006D><U002D><U0025><U0064>"
- t_fmt   "<U0025><U0054>"
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/fr_CH
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/fr_CH
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/fr_CH
-@@ -64,41 +64,39 @@ copy  "de_CH"
- END LC_MONETARY
- LC_NUMERIC
--decimal_point             "<U002C>"
--thousands_sep             ""
--grouping                  0;0
-+copy "de_CH"
- END LC_NUMERIC
- LC_TIME
- abday   "<U0064><U0069><U006D>";"<U006C><U0075><U006E>";/
--        "<U006D><U0061><U0072>";"<U006D><U0065><U0072>";/
--        "<U006A><U0065><U0075>";"<U0076><U0065><U006E>";/
--        "<U0073><U0061><U006D>"
-+      "<U006D><U0061><U0072>";"<U006D><U0065><U0072>";/
-+      "<U006A><U0065><U0075>";"<U0076><U0065><U006E>";/
-+      "<U0073><U0061><U006D>"
- day     "<U0064><U0069><U006D><U0061><U006E><U0063><U0068><U0065>";/
--        "<U006C><U0075><U006E><U0064><U0069>";/
--        "<U006D><U0061><U0072><U0064><U0069>";/
--        "<U006D><U0065><U0072><U0063><U0072><U0065><U0064><U0069>";/
--        "<U006A><U0065><U0075><U0064><U0069>";/
--        "<U0076><U0065><U006E><U0064><U0072><U0065><U0064><U0069>";/
--        "<U0073><U0061><U006D><U0065><U0064><U0069>"
-+      "<U006C><U0075><U006E><U0064><U0069>";/
-+      "<U006D><U0061><U0072><U0064><U0069>";/
-+      "<U006D><U0065><U0072><U0063><U0072><U0065><U0064><U0069>";/
-+      "<U006A><U0065><U0075><U0064><U0069>";/
-+      "<U0076><U0065><U006E><U0064><U0072><U0065><U0064><U0069>";/
-+      "<U0073><U0061><U006D><U0065><U0064><U0069>"
- abmon   "<U006A><U0061><U006E>";"<U0066><U00E9><U0076>";/
--        "<U006D><U0061><U0072>";"<U0061><U0076><U0072>";/
--        "<U006D><U0061><U0069>";"<U006A><U0075><U006E>";/
--        "<U006A><U0075><U0069>";"<U0061><U006F><U00FB>";/
--        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
--        "<U006E><U006F><U0076>";"<U0064><U00E9><U0063>"
-+      "<U006D><U0061><U0072>";"<U0061><U0076><U0072>";/
-+      "<U006D><U0061><U0069>";"<U006A><U0075><U006E>";/
-+      "<U006A><U0075><U0069>";"<U0061><U006F><U00FB>";/
-+      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
-+      "<U006E><U006F><U0076>";"<U0064><U00E9><U0063>"
- mon     "<U006A><U0061><U006E><U0076><U0069><U0065><U0072>";/
--        "<U0066><U00E9><U0076><U0072><U0069><U0065><U0072>";/
--        "<U006D><U0061><U0072><U0073>";/
--        "<U0061><U0076><U0072><U0069><U006C>";/
--        "<U006D><U0061><U0069>";/
--        "<U006A><U0075><U0069><U006E>";/
--        "<U006A><U0075><U0069><U006C><U006C><U0065><U0074>";/
--        "<U0061><U006F><U00FB><U0074>";/
--        "<U0073><U0065><U0070><U0074><U0065><U006D><U0062><U0072><U0065>";/
--        "<U006F><U0063><U0074><U006F><U0062><U0072><U0065>";/
--        "<U006E><U006F><U0076><U0065><U006D><U0062><U0072><U0065>";/
--        "<U0064><U00E9><U0063><U0065><U006D><U0062><U0072><U0065>"
-+      "<U0066><U00E9><U0076><U0072><U0069><U0065><U0072>";/
-+      "<U006D><U0061><U0072><U0073>";/
-+      "<U0061><U0076><U0072><U0069><U006C>";/
-+      "<U006D><U0061><U0069>";/
-+      "<U006A><U0075><U0069><U006E>";/
-+      "<U006A><U0075><U0069><U006C><U006C><U0065><U0074>";/
-+      "<U0061><U006F><U00FB><U0074>";/
-+      "<U0073><U0065><U0070><U0074><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U006F><U0063><U0074><U006F><U0062><U0072><U0065>";/
-+      "<U006E><U006F><U0076><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U0064><U00E9><U0063><U0065><U006D><U0062><U0072><U0065>"
- d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
- d_fmt   "<U0025><U0064><U002E><U0020><U0025><U006D><U002E><U0020><U0025><U0079>"
- t_fmt   "<U0025><U0054>"
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/fr_LU
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/fr_LU
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/fr_LU
-@@ -78,40 +78,40 @@ END LC_MONETARY
- LC_NUMERIC
- decimal_point             "<U002C>"
--thousands_sep             ""
--grouping                  0;0
-+thousands_sep             "<U0020>"
-+grouping                  3;3
- END LC_NUMERIC
- LC_TIME
- abday   "<U0064><U0069><U006D>";"<U006C><U0075><U006E>";/
--        "<U006D><U0061><U0072>";"<U006D><U0065><U0072>";/
--        "<U006A><U0065><U0075>";"<U0076><U0065><U006E>";/
--        "<U0073><U0061><U006D>"
-+      "<U006D><U0061><U0072>";"<U006D><U0065><U0072>";/
-+      "<U006A><U0065><U0075>";"<U0076><U0065><U006E>";/
-+      "<U0073><U0061><U006D>"
- day     "<U0064><U0069><U006D><U0061><U006E><U0063><U0068><U0065>";/
--        "<U006C><U0075><U006E><U0064><U0069>";/
--        "<U006D><U0061><U0072><U0064><U0069>";/
--        "<U006D><U0065><U0072><U0063><U0072><U0065><U0064><U0069>";/
--        "<U006A><U0065><U0075><U0064><U0069>";/
--        "<U0076><U0065><U006E><U0064><U0072><U0065><U0064><U0069>";/
--        "<U0073><U0061><U006D><U0065><U0064><U0069>"
-+      "<U006C><U0075><U006E><U0064><U0069>";/
-+      "<U006D><U0061><U0072><U0064><U0069>";/
-+      "<U006D><U0065><U0072><U0063><U0072><U0065><U0064><U0069>";/
-+      "<U006A><U0065><U0075><U0064><U0069>";/
-+      "<U0076><U0065><U006E><U0064><U0072><U0065><U0064><U0069>";/
-+      "<U0073><U0061><U006D><U0065><U0064><U0069>"
- abmon   "<U006A><U0061><U006E>";"<U0066><U00E9><U0076>";/
--        "<U006D><U0061><U0072>";"<U0061><U0076><U0072>";/
--        "<U006D><U0061><U0069>";"<U006A><U0075><U006E>";/
--        "<U006A><U0075><U0069>";"<U0061><U006F><U00FB>";/
--        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
--        "<U006E><U006F><U0076>";"<U0064><U00E9><U0063>"
-+      "<U006D><U0061><U0072>";"<U0061><U0076><U0072>";/
-+      "<U006D><U0061><U0069>";"<U006A><U0075><U006E>";/
-+      "<U006A><U0075><U0069>";"<U0061><U006F><U00FB>";/
-+      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
-+      "<U006E><U006F><U0076>";"<U0064><U00E9><U0063>"
- mon     "<U006A><U0061><U006E><U0076><U0069><U0065><U0072>";/
--        "<U0066><U00E9><U0076><U0072><U0069><U0065><U0072>";/
--        "<U006D><U0061><U0072><U0073>";/
--        "<U0061><U0076><U0072><U0069><U006C>";/
--        "<U006D><U0061><U0069>";/
--        "<U006A><U0075><U0069><U006E>";/
--        "<U006A><U0075><U0069><U006C><U006C><U0065><U0074>";/
--        "<U0061><U006F><U00FB><U0074>";/
--        "<U0073><U0065><U0070><U0074><U0065><U006D><U0062><U0072><U0065>";/
--        "<U006F><U0063><U0074><U006F><U0062><U0072><U0065>";/
--        "<U006E><U006F><U0076><U0065><U006D><U0062><U0072><U0065>";/
--        "<U0064><U00E9><U0063><U0065><U006D><U0062><U0072><U0065>"
-+      "<U0066><U00E9><U0076><U0072><U0069><U0065><U0072>";/
-+      "<U006D><U0061><U0072><U0073>";/
-+      "<U0061><U0076><U0072><U0069><U006C>";/
-+      "<U006D><U0061><U0069>";/
-+      "<U006A><U0075><U0069><U006E>";/
-+      "<U006A><U0075><U0069><U006C><U006C><U0065><U0074>";/
-+      "<U0061><U006F><U00FB><U0074>";/
-+      "<U0073><U0065><U0070><U0074><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U006F><U0063><U0074><U006F><U0062><U0072><U0065>";/
-+      "<U006E><U006F><U0076><U0065><U006D><U0062><U0072><U0065>";/
-+      "<U0064><U00E9><U0063><U0065><U006D><U0062><U0072><U0065>"
- d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
- d_fmt   "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0059>"
- t_fmt   "<U0025><U0054>"
diff --git a/src/patches/glibc/glibc-rh688980.patch b/src/patches/glibc/glibc-rh688980.patch
deleted file mode 100644 (file)
index ce98926..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-2011-05-11  Ulrich Drepper  <drepper@gmail.com>
-
-       [BZ #12625]
-       * misc/mntent_r.c (addmntent): Flush the stream after the output
-
-Index: glibc-2.12-2-gc4ccff1/misc/mntent_r.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/misc/mntent_r.c
-+++ glibc-2.12-2-gc4ccff1/misc/mntent_r.c
-@@ -263,8 +263,8 @@ __addmntent (FILE *stream, const struct 
-                  mntcopy.mnt_type,
-                  mntcopy.mnt_opts,
-                  mntcopy.mnt_freq,
--                 mntcopy.mnt_passno)
--        < 0 ? 1 : 0);
-+                 mntcopy.mnt_passno) < 0
-+        || fflush (stream) != 0);
- }
- weak_alias (__addmntent, addmntent)
diff --git a/src/patches/glibc/glibc-rh689471.patch b/src/patches/glibc/glibc-rh689471.patch
deleted file mode 100644 (file)
index 4c7fc8a..0000000
+++ /dev/null
@@ -1,333 +0,0 @@
-2011-03-20  H.J. Lu  <hongjiu.lu@intel.com>
-
-       [BZ #12597]
-       * string/test-strncmp.c (do_page_test): New function.
-       (check2): Likewise.
-       (test_main): Call check2.
-       * sysdeps/x86_64/multiarch/strcmp.S: Properly cross page boundary.
-
-Index: glibc-2.12-2-gc4ccff1/string/test-strncmp.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/string/test-strncmp.c
-+++ glibc-2.12-2-gc4ccff1/string/test-strncmp.c
-@@ -200,6 +200,27 @@ do_test (size_t align1, size_t align2, s
- }
- static void
-+do_page_test (size_t offset1, size_t offset2, char *s2)
-+{
-+  char *s1;
-+  int exp_result;
-+
-+  if (offset1 >= page_size || offset2 >= page_size)
-+    return;
-+
-+  s1 = (char *) (buf1 + offset1);
-+  s2 += offset2;
-+
-+  exp_result= *s1;
-+  
-+  FOR_EACH_IMPL (impl, 0)
-+    {
-+      check_result (impl, s1, s2, page_size, -exp_result);
-+      check_result (impl, s2, s1, page_size, exp_result);
-+    }
-+}
-+
-+static void
- do_random_tests (void)
- {
-   size_t i, j, n, align1, align2, pos, len1, len2, size;
-@@ -312,6 +333,25 @@ check1 (void)
-     }
- }
-+static void
-+check2 (void)
-+{
-+  size_t i;
-+  char *s1, *s2;
-+
-+  s1 = (char *) buf1;
-+  for (i = 0; i < page_size - 1; i++)
-+    s1[i] = 23;
-+  s1[i] = 0;
-+
-+  s2 = strdup (s1);
-+
-+  for (i = 0; i < 64; ++i)
-+    do_page_test (3990 + i, 2635, s2);
-+
-+  free (s2);
-+}
-+
- int
- test_main (void)
- {
-@@ -320,6 +360,7 @@ test_main (void)
-   test_init ();
-   check1 ();
-+  check2 ();
-   printf ("%23s", "");
-   FOR_EACH_IMPL (impl, 0)
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strcmp.S
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/multiarch/strcmp.S
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strcmp.S
-@@ -452,6 +452,7 @@ LABEL(loop_ashr_1_use_sse4_2):
-       add     $16, %r10
-       jg      LABEL(nibble_ashr_1_use_sse4_2)
-+LABEL(nibble_ashr_1_use_sse4_2_restart):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $1, -16(%rdi, %rdx), %xmm0
- # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-@@ -499,7 +500,7 @@ LABEL(nibble_ashr_1_use_sse4_2):
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
- # endif
-       cmp     $14, %ecx
--      ja      LABEL(loop_ashr_1_use_sse4_2)
-+      ja      LABEL(nibble_ashr_1_use_sse4_2_restart)
-       jmp     LABEL(nibble_ashr_use_sse4_2_exit)
-@@ -544,6 +545,7 @@ LABEL(loop_ashr_2_use_sse4_2):
-       add     $16, %r10
-       jg      LABEL(nibble_ashr_2_use_sse4_2)
-+LABEL(nibble_ashr_2_use_sse4_2_restart):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $2, -16(%rdi, %rdx), %xmm0
- # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-@@ -591,7 +593,7 @@ LABEL(nibble_ashr_2_use_sse4_2):
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
- # endif
-       cmp     $13, %ecx
--      ja      LABEL(loop_ashr_2_use_sse4_2)
-+      ja      LABEL(nibble_ashr_2_use_sse4_2_restart)
-       jmp     LABEL(nibble_ashr_use_sse4_2_exit)
-@@ -636,6 +638,7 @@ LABEL(loop_ashr_3_use_sse4_2):
-       add     $16, %r10
-       jg      LABEL(nibble_ashr_3_use_sse4_2)
-+LABEL(nibble_ashr_3_use_sse4_2_restart):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $3, -16(%rdi, %rdx), %xmm0
- # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-@@ -683,7 +686,7 @@ LABEL(nibble_ashr_3_use_sse4_2):
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
- # endif
-       cmp     $12, %ecx
--      ja      LABEL(loop_ashr_3_use_sse4_2)
-+      ja      LABEL(nibble_ashr_3_use_sse4_2_restart)
-       jmp     LABEL(nibble_ashr_use_sse4_2_exit)
-@@ -729,6 +732,7 @@ LABEL(loop_ashr_4_use_sse4_2):
-       add     $16, %r10
-       jg      LABEL(nibble_ashr_4_use_sse4_2)
-+LABEL(nibble_ashr_4_use_sse4_2_restart):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $4, -16(%rdi, %rdx), %xmm0
- # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-@@ -776,7 +780,7 @@ LABEL(nibble_ashr_4_use_sse4_2):
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
- # endif
-       cmp     $11, %ecx
--      ja      LABEL(loop_ashr_4_use_sse4_2)
-+      ja      LABEL(nibble_ashr_4_use_sse4_2_restart)
-       jmp     LABEL(nibble_ashr_use_sse4_2_exit)
-@@ -822,6 +826,7 @@ LABEL(loop_ashr_5_use_sse4_2):
-       add     $16, %r10
-       jg      LABEL(nibble_ashr_5_use_sse4_2)
-+LABEL(nibble_ashr_5_use_sse4_2_restart):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $5, -16(%rdi, %rdx), %xmm0
- # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-@@ -870,7 +875,7 @@ LABEL(nibble_ashr_5_use_sse4_2):
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
- # endif
-       cmp     $10, %ecx
--      ja      LABEL(loop_ashr_5_use_sse4_2)
-+      ja      LABEL(nibble_ashr_5_use_sse4_2_restart)
-       jmp     LABEL(nibble_ashr_use_sse4_2_exit)
-@@ -916,6 +921,7 @@ LABEL(loop_ashr_6_use_sse4_2):
-       add     $16, %r10
-       jg      LABEL(nibble_ashr_6_use_sse4_2)
-+LABEL(nibble_ashr_6_use_sse4_2_restart):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $6, -16(%rdi, %rdx), %xmm0
- # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-@@ -963,7 +969,7 @@ LABEL(nibble_ashr_6_use_sse4_2):
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
- # endif
-       cmp     $9, %ecx
--      ja      LABEL(loop_ashr_6_use_sse4_2)
-+      ja      LABEL(nibble_ashr_6_use_sse4_2_restart)
-       jmp     LABEL(nibble_ashr_use_sse4_2_exit)
-@@ -1009,6 +1015,7 @@ LABEL(loop_ashr_7_use_sse4_2):
-       add     $16, %r10
-       jg      LABEL(nibble_ashr_7_use_sse4_2)
-+LABEL(nibble_ashr_7_use_sse4_2_restart):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $7, -16(%rdi, %rdx), %xmm0
- # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-@@ -1056,7 +1063,7 @@ LABEL(nibble_ashr_7_use_sse4_2):
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
- # endif
-       cmp     $8, %ecx
--      ja      LABEL(loop_ashr_7_use_sse4_2)
-+      ja      LABEL(nibble_ashr_7_use_sse4_2_restart)
-       jmp     LABEL(nibble_ashr_use_sse4_2_exit)
-@@ -1102,6 +1109,7 @@ LABEL(loop_ashr_8_use_sse4_2):
-       add     $16, %r10
-       jg      LABEL(nibble_ashr_8_use_sse4_2)
-+LABEL(nibble_ashr_8_use_sse4_2_restart):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $8, -16(%rdi, %rdx), %xmm0
- # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-@@ -1149,7 +1157,7 @@ LABEL(nibble_ashr_8_use_sse4_2):
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
- # endif
-       cmp     $7, %ecx
--      ja      LABEL(loop_ashr_8_use_sse4_2)
-+      ja      LABEL(nibble_ashr_8_use_sse4_2_restart)
-       jmp     LABEL(nibble_ashr_use_sse4_2_exit)
-@@ -1195,6 +1203,7 @@ LABEL(loop_ashr_9_use_sse4_2):
-       add     $16, %r10
-       jg      LABEL(nibble_ashr_9_use_sse4_2)
-+LABEL(nibble_ashr_9_use_sse4_2_restart):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $9, -16(%rdi, %rdx), %xmm0
-@@ -1243,7 +1252,7 @@ LABEL(nibble_ashr_9_use_sse4_2):
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
- # endif
-       cmp     $6, %ecx
--      ja      LABEL(loop_ashr_9_use_sse4_2)
-+      ja      LABEL(nibble_ashr_9_use_sse4_2_restart)
-       jmp     LABEL(nibble_ashr_use_sse4_2_exit)
-@@ -1289,6 +1298,7 @@ LABEL(loop_ashr_10_use_sse4_2):
-       add     $16, %r10
-       jg      LABEL(nibble_ashr_10_use_sse4_2)
-+LABEL(nibble_ashr_10_use_sse4_2_restart):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $10, -16(%rdi, %rdx), %xmm0
- # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-@@ -1336,7 +1346,7 @@ LABEL(nibble_ashr_10_use_sse4_2):
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
- # endif
-       cmp     $5, %ecx
--      ja      LABEL(loop_ashr_10_use_sse4_2)
-+      ja      LABEL(nibble_ashr_10_use_sse4_2_restart)
-       jmp     LABEL(nibble_ashr_use_sse4_2_exit)
-@@ -1382,6 +1392,7 @@ LABEL(loop_ashr_11_use_sse4_2):
-       add     $16, %r10
-       jg      LABEL(nibble_ashr_11_use_sse4_2)
-+LABEL(nibble_ashr_11_use_sse4_2_restart):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $11, -16(%rdi, %rdx), %xmm0
- # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-@@ -1429,7 +1440,7 @@ LABEL(nibble_ashr_11_use_sse4_2):
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
- # endif
-       cmp     $4, %ecx
--      ja      LABEL(loop_ashr_11_use_sse4_2)
-+      ja      LABEL(nibble_ashr_11_use_sse4_2_restart)
-       jmp     LABEL(nibble_ashr_use_sse4_2_exit)
-@@ -1475,6 +1486,7 @@ LABEL(loop_ashr_12_use_sse4_2):
-       add     $16, %r10
-       jg      LABEL(nibble_ashr_12_use_sse4_2)
-+LABEL(nibble_ashr_12_use_sse4_2_restart):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $12, -16(%rdi, %rdx), %xmm0
- # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-@@ -1522,7 +1534,7 @@ LABEL(nibble_ashr_12_use_sse4_2):
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
- # endif
-       cmp     $3, %ecx
--      ja      LABEL(loop_ashr_12_use_sse4_2)
-+      ja      LABEL(nibble_ashr_12_use_sse4_2_restart)
-       jmp     LABEL(nibble_ashr_use_sse4_2_exit)
-@@ -1569,6 +1581,7 @@ LABEL(loop_ashr_13_use_sse4_2):
-       add     $16, %r10
-       jg      LABEL(nibble_ashr_13_use_sse4_2)
-+LABEL(nibble_ashr_13_use_sse4_2_restart):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $13, -16(%rdi, %rdx), %xmm0
- # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-@@ -1616,7 +1629,7 @@ LABEL(nibble_ashr_13_use_sse4_2):
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
- # endif
-       cmp     $2, %ecx
--      ja      LABEL(loop_ashr_13_use_sse4_2)
-+      ja      LABEL(nibble_ashr_13_use_sse4_2_restart)
-       jmp     LABEL(nibble_ashr_use_sse4_2_exit)
-@@ -1663,6 +1676,7 @@ LABEL(loop_ashr_14_use_sse4_2):
-       add     $16, %r10
-       jg      LABEL(nibble_ashr_14_use_sse4_2)
-+LABEL(nibble_ashr_14_use_sse4_2_restart):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $14, -16(%rdi, %rdx), %xmm0
- # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-@@ -1710,7 +1724,7 @@ LABEL(nibble_ashr_14_use_sse4_2):
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
- # endif
-       cmp     $1, %ecx
--      ja      LABEL(loop_ashr_14_use_sse4_2)
-+      ja      LABEL(nibble_ashr_14_use_sse4_2_restart)
-       jmp     LABEL(nibble_ashr_use_sse4_2_exit)
-@@ -1759,6 +1773,7 @@ LABEL(loop_ashr_15_use_sse4_2):
-       add     $16, %r10
-       jg      LABEL(nibble_ashr_15_use_sse4_2)
-+LABEL(nibble_ashr_15_use_sse4_2_restart):
-       movdqa  (%rdi, %rdx), %xmm0
-       palignr $15, -16(%rdi, %rdx), %xmm0
- # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
-@@ -1806,7 +1821,7 @@ LABEL(nibble_ashr_15_use_sse4_2):
-       jae     LABEL(nibble_ashr_use_sse4_2_exit)
- # endif
-       cmp     $0, %ecx
--      ja      LABEL(loop_ashr_15_use_sse4_2)
-+      ja      LABEL(nibble_ashr_15_use_sse4_2_restart)
- LABEL(nibble_ashr_use_sse4_2_exit):
- # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
diff --git a/src/patches/glibc/glibc-rh692177.patch b/src/patches/glibc/glibc-rh692177.patch
deleted file mode 100644 (file)
index 1036769..0000000
+++ /dev/null
@@ -1,137 +0,0 @@
-2011-03-22  Ulrich Drepper  <drepper@gmail.com>
-
-       * sysdeps/unix/sysv/linux/i386/sysconf.c (intel_check_word): Increment
-       round counter.
-       * sysdeps/x86_64/cacheinfo.c (intel_check_word): Likewise.
-
-2011-03-20  Ulrich Drepper  <drepper@gmail.com>
-
-       [BZ #12587]
-       * sysdeps/unix/sysv/linux/i386/sysconf.c (intel_check_word):
-       Handle cache information in CPU leaf 4.
-       * sysdeps/x86_64/cacheinfo.c (intel_check_word): Likewise.
-
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/i386/sysconf.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/i386/sysconf.c
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/i386/sysconf.c
-@@ -186,6 +186,57 @@ intel_check_word (int name, unsigned int
-           /* No need to look further.  */
-           break;
-       }
-+      else if (byte == 0xff)
-+      {
-+        /* CPUID leaf 0x4 contains all the information.  We need to
-+           iterate over it.  */
-+        unsigned int eax;
-+        unsigned int ebx;
-+        unsigned int ecx;
-+        unsigned int edx;
-+
-+        unsigned int round = 0;
-+        while (1)
-+          {
-+            asm volatile ("xchgl %%ebx, %1; cpuid; xchgl %%ebx, %1"
-+                          : "=a" (eax), "=r" (ebx), "=c" (ecx), "=d" (edx)
-+                          : "0" (4), "2" (round));
-+
-+            enum { null = 0, data = 1, inst = 2, uni = 3 } type = eax & 0x1f;
-+            if (type == null)
-+              /* That was the end.  */
-+              break;
-+
-+            unsigned int level = (eax >> 5) & 0x7;
-+
-+            if ((level == 1 && type == data
-+                 && folded_rel_name == M(_SC_LEVEL1_DCACHE_SIZE))
-+                || (level == 1 && type == inst
-+                    && folded_rel_name == M(_SC_LEVEL1_ICACHE_SIZE))
-+                || (level == 2 && folded_rel_name == M(_SC_LEVEL2_CACHE_SIZE))
-+                || (level == 3 && folded_rel_name == M(_SC_LEVEL3_CACHE_SIZE))
-+                || (level == 4 && folded_rel_name == M(_SC_LEVEL4_CACHE_SIZE)))
-+              {
-+                unsigned int offset = M(name) - folded_rel_name;
-+
-+                if (offset == 0)
-+                  /* Cache size.  */
-+                  return (((ebx >> 22) + 1)
-+                          * (((ebx >> 12) & 0x3ff) + 1)
-+                          * ((ebx & 0xfff) + 1)
-+                          * (ecx + 1));
-+                if (offset == 1)
-+                  return (ebx >> 22) + 1;
-+
-+                assert (offset == 2);
-+                return (ebx & 0xfff) + 1;
-+              }
-+
-+            ++round;
-+          }
-+        /* There is no other cache information anywhere else.  */
-+        break;
-+      }
-       else
-       {
-         if (byte == 0x49 && folded_rel_name == M(_SC_LEVEL3_CACHE_SIZE))
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/cacheinfo.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/cacheinfo.c
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/cacheinfo.c
-@@ -181,6 +181,57 @@ intel_check_word (int name, unsigned int
-           /* No need to look further.  */
-           break;
-       }
-+      else if (byte == 0xff)
-+      {
-+        /* CPUID leaf 0x4 contains all the information.  We need to
-+           iterate over it.  */
-+        unsigned int eax;
-+        unsigned int ebx;
-+        unsigned int ecx;
-+        unsigned int edx;
-+
-+        unsigned int round = 0;
-+        while (1)
-+          {
-+            asm volatile ("xchgl %%ebx, %1; cpuid; xchgl %%ebx, %1"
-+                          : "=a" (eax), "=r" (ebx), "=c" (ecx), "=d" (edx)
-+                          : "0" (4), "2" (round));
-+
-+            enum { null = 0, data = 1, inst = 2, uni = 3 } type = eax & 0x1f;
-+            if (type == null)
-+              /* That was the end.  */
-+              break;
-+
-+            unsigned int level = (eax >> 5) & 0x7;
-+
-+            if ((level == 1 && type == data
-+                 && folded_rel_name == M(_SC_LEVEL1_DCACHE_SIZE))
-+                || (level == 1 && type == inst
-+                    && folded_rel_name == M(_SC_LEVEL1_ICACHE_SIZE))
-+                || (level == 2 && folded_rel_name == M(_SC_LEVEL2_CACHE_SIZE))
-+                || (level == 3 && folded_rel_name == M(_SC_LEVEL3_CACHE_SIZE))
-+                || (level == 4 && folded_rel_name == M(_SC_LEVEL4_CACHE_SIZE)))
-+              {
-+                unsigned int offset = M(name) - folded_rel_name;
-+
-+                if (offset == 0)
-+                  /* Cache size.  */
-+                  return (((ebx >> 22) + 1)
-+                          * (((ebx >> 12) & 0x3ff) + 1)
-+                          * ((ebx & 0xfff) + 1)
-+                          * (ecx + 1));
-+                if (offset == 1)
-+                  return (ebx >> 22) + 1;
-+
-+                assert (offset == 2);
-+                return (ebx & 0xfff) + 1;
-+              }
-+
-+            ++round;
-+          }
-+        /* There is no other cache information anywhere else.  */
-+        break;
-+      }
-       else
-       {
-         if (byte == 0x49 && folded_rel_name == M(_SC_LEVEL3_CACHE_SIZE))
diff --git a/src/patches/glibc/glibc-rh692838.patch b/src/patches/glibc/glibc-rh692838.patch
deleted file mode 100644 (file)
index aa2adf1..0000000
+++ /dev/null
@@ -1,6165 +0,0 @@
-2011-05-09  Ulrich Drepper  <drepper@gmail.com>
-
-       [BZ #12541]
-       * locales/ar_IN: Update currency_symbol.
-       * locales/as_IN: Likewise.
-       * locales/bn_IN: Likewise.
-       * locales/en_IN: Likewise.
-       * locales/gu_IN: Likewise.
-       * locales/hi_IN: Likewise.
-       * locales/kn_IN: Likewise.
-       * locales/kok_IN: Likewise.
-       * locales/ks_IN: Likewise.
-       * locales/ml_IN: Likewise.
-       * locales/mr_IN: Likewise.
-       * locales/or_IN: Likewise.
-       * locales/pa_IN: Likewise.
-       * locales/sa_IN: Likewise.
-       * locales/sd_IN: Likewise.
-       * locales/ta_IN: Likewise.
-       * locales/te_IN: Likewise.
-       Patch by pravin.d.s@gmail.com.
-
-2011-05-09  Ulrich Drepper  <drepper@gmail.com>
-
-       [BZ #12711]
-       * locale/C-translit.h.in: Add entry for U20B9.
-       Patch by pravin.d.s@gmail.com.
-
-Index: glibc-2.12-2-gc4ccff1/locale/C-translit.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/locale/C-translit.h
-+++ glibc-2.12-2-gc4ccff1/locale/C-translit.h
-@@ -1,4 +1,4 @@
--#define NTRANSLIT 1353
-+#define NTRANSLIT 1354
- static const uint32_t translit_from_idx[] =
- {
-      0,    2,    4,    6,    8,   10,   12,   14,   16,   18,   20,   22,
-@@ -113,7 +113,7 @@ static const uint32_t translit_from_idx[
-   2616, 2618, 2620, 2622, 2624, 2626, 2628, 2630, 2632, 2634, 2636, 2638,
-   2640, 2642, 2644, 2646, 2648, 2650, 2652, 2654, 2656, 2658, 2660, 2662,
-   2664, 2666, 2668, 2670, 2672, 2674, 2676, 2678, 2680, 2682, 2684, 2686,
--  2688, 2690, 2692, 2694, 2696, 2698, 2700, 2702, 2704
-+  2688, 2690, 2692, 2694, 2696, 2698, 2700, 2702, 2704, 2706
- };
- static const wchar_t translit_from_tbl[] =
-   L"\x00a0" L"\0" L"\x00a9" L"\0" L"\x00ab" L"\0" L"\x00ad" L"\0" L"\x00ae"
-@@ -134,334 +134,334 @@ static const wchar_t translit_from_tbl[]
-   L"\0" L"\x2035" L"\0" L"\x2036" L"\0" L"\x2037" L"\0" L"\x2039" L"\0"
-   L"\x203a" L"\0" L"\x203c" L"\0" L"\x2044" L"\0" L"\x2047" L"\0" L"\x2048"
-   L"\0" L"\x2049" L"\0" L"\x205f" L"\0" L"\x2060" L"\0" L"\x2061" L"\0"
--  L"\x2062" L"\0" L"\x2063" L"\0" L"\x20a8" L"\0" L"\x20ac" L"\0" L"\x2100"
--  L"\0" L"\x2101" L"\0" L"\x2102" L"\0" L"\x2105" L"\0" L"\x2106" L"\0"
--  L"\x210a" L"\0" L"\x210b" L"\0" L"\x210c" L"\0" L"\x210d" L"\0" L"\x210e"
--  L"\0" L"\x2110" L"\0" L"\x2111" L"\0" L"\x2112" L"\0" L"\x2113" L"\0"
--  L"\x2115" L"\0" L"\x2116" L"\0" L"\x2119" L"\0" L"\x211a" L"\0" L"\x211b"
--  L"\0" L"\x211c" L"\0" L"\x211d" L"\0" L"\x2121" L"\0" L"\x2122" L"\0"
--  L"\x2124" L"\0" L"\x2126" L"\0" L"\x2128" L"\0" L"\x212c" L"\0" L"\x212d"
--  L"\0" L"\x212e" L"\0" L"\x212f" L"\0" L"\x2130" L"\0" L"\x2131" L"\0"
--  L"\x2133" L"\0" L"\x2134" L"\0" L"\x2139" L"\0" L"\x2145" L"\0" L"\x2146"
--  L"\0" L"\x2147" L"\0" L"\x2148" L"\0" L"\x2149" L"\0" L"\x2153" L"\0"
--  L"\x2154" L"\0" L"\x2155" L"\0" L"\x2156" L"\0" L"\x2157" L"\0" L"\x2158"
--  L"\0" L"\x2159" L"\0" L"\x215a" L"\0" L"\x215b" L"\0" L"\x215c" L"\0"
--  L"\x215d" L"\0" L"\x215e" L"\0" L"\x215f" L"\0" L"\x2160" L"\0" L"\x2161"
--  L"\0" L"\x2162" L"\0" L"\x2163" L"\0" L"\x2164" L"\0" L"\x2165" L"\0"
--  L"\x2166" L"\0" L"\x2167" L"\0" L"\x2168" L"\0" L"\x2169" L"\0" L"\x216a"
--  L"\0" L"\x216b" L"\0" L"\x216c" L"\0" L"\x216d" L"\0" L"\x216e" L"\0"
--  L"\x216f" L"\0" L"\x2170" L"\0" L"\x2171" L"\0" L"\x2172" L"\0" L"\x2173"
--  L"\0" L"\x2174" L"\0" L"\x2175" L"\0" L"\x2176" L"\0" L"\x2177" L"\0"
--  L"\x2178" L"\0" L"\x2179" L"\0" L"\x217a" L"\0" L"\x217b" L"\0" L"\x217c"
--  L"\0" L"\x217d" L"\0" L"\x217e" L"\0" L"\x217f" L"\0" L"\x2190" L"\0"
--  L"\x2192" L"\0" L"\x2194" L"\0" L"\x21d0" L"\0" L"\x21d2" L"\0" L"\x21d4"
--  L"\0" L"\x2212" L"\0" L"\x2215" L"\0" L"\x2216" L"\0" L"\x2217" L"\0"
--  L"\x2223" L"\0" L"\x2236" L"\0" L"\x223c" L"\0" L"\x2264" L"\0" L"\x2265"
--  L"\0" L"\x226a" L"\0" L"\x226b" L"\0" L"\x22d8" L"\0" L"\x22d9" L"\0"
--  L"\x2400" L"\0" L"\x2401" L"\0" L"\x2402" L"\0" L"\x2403" L"\0" L"\x2404"
--  L"\0" L"\x2405" L"\0" L"\x2406" L"\0" L"\x2407" L"\0" L"\x2408" L"\0"
--  L"\x2409" L"\0" L"\x240a" L"\0" L"\x240b" L"\0" L"\x240c" L"\0" L"\x240d"
--  L"\0" L"\x240e" L"\0" L"\x240f" L"\0" L"\x2410" L"\0" L"\x2411" L"\0"
--  L"\x2412" L"\0" L"\x2413" L"\0" L"\x2414" L"\0" L"\x2415" L"\0" L"\x2416"
--  L"\0" L"\x2417" L"\0" L"\x2418" L"\0" L"\x2419" L"\0" L"\x241a" L"\0"
--  L"\x241b" L"\0" L"\x241c" L"\0" L"\x241d" L"\0" L"\x241e" L"\0" L"\x241f"
--  L"\0" L"\x2420" L"\0" L"\x2421" L"\0" L"\x2423" L"\0" L"\x2424" L"\0"
--  L"\x2460" L"\0" L"\x2461" L"\0" L"\x2462" L"\0" L"\x2463" L"\0" L"\x2464"
--  L"\0" L"\x2465" L"\0" L"\x2466" L"\0" L"\x2467" L"\0" L"\x2468" L"\0"
--  L"\x2469" L"\0" L"\x246a" L"\0" L"\x246b" L"\0" L"\x246c" L"\0" L"\x246d"
--  L"\0" L"\x246e" L"\0" L"\x246f" L"\0" L"\x2470" L"\0" L"\x2471" L"\0"
--  L"\x2472" L"\0" L"\x2473" L"\0" L"\x2474" L"\0" L"\x2475" L"\0" L"\x2476"
--  L"\0" L"\x2477" L"\0" L"\x2478" L"\0" L"\x2479" L"\0" L"\x247a" L"\0"
--  L"\x247b" L"\0" L"\x247c" L"\0" L"\x247d" L"\0" L"\x247e" L"\0" L"\x247f"
--  L"\0" L"\x2480" L"\0" L"\x2481" L"\0" L"\x2482" L"\0" L"\x2483" L"\0"
--  L"\x2484" L"\0" L"\x2485" L"\0" L"\x2486" L"\0" L"\x2487" L"\0" L"\x2488"
--  L"\0" L"\x2489" L"\0" L"\x248a" L"\0" L"\x248b" L"\0" L"\x248c" L"\0"
--  L"\x248d" L"\0" L"\x248e" L"\0" L"\x248f" L"\0" L"\x2490" L"\0" L"\x2491"
--  L"\0" L"\x2492" L"\0" L"\x2493" L"\0" L"\x2494" L"\0" L"\x2495" L"\0"
--  L"\x2496" L"\0" L"\x2497" L"\0" L"\x2498" L"\0" L"\x2499" L"\0" L"\x249a"
--  L"\0" L"\x249b" L"\0" L"\x249c" L"\0" L"\x249d" L"\0" L"\x249e" L"\0"
--  L"\x249f" L"\0" L"\x24a0" L"\0" L"\x24a1" L"\0" L"\x24a2" L"\0" L"\x24a3"
--  L"\0" L"\x24a4" L"\0" L"\x24a5" L"\0" L"\x24a6" L"\0" L"\x24a7" L"\0"
--  L"\x24a8" L"\0" L"\x24a9" L"\0" L"\x24aa" L"\0" L"\x24ab" L"\0" L"\x24ac"
--  L"\0" L"\x24ad" L"\0" L"\x24ae" L"\0" L"\x24af" L"\0" L"\x24b0" L"\0"
--  L"\x24b1" L"\0" L"\x24b2" L"\0" L"\x24b3" L"\0" L"\x24b4" L"\0" L"\x24b5"
--  L"\0" L"\x24b6" L"\0" L"\x24b7" L"\0" L"\x24b8" L"\0" L"\x24b9" L"\0"
--  L"\x24ba" L"\0" L"\x24bb" L"\0" L"\x24bc" L"\0" L"\x24bd" L"\0" L"\x24be"
--  L"\0" L"\x24bf" L"\0" L"\x24c0" L"\0" L"\x24c1" L"\0" L"\x24c2" L"\0"
--  L"\x24c3" L"\0" L"\x24c4" L"\0" L"\x24c5" L"\0" L"\x24c6" L"\0" L"\x24c7"
--  L"\0" L"\x24c8" L"\0" L"\x24c9" L"\0" L"\x24ca" L"\0" L"\x24cb" L"\0"
--  L"\x24cc" L"\0" L"\x24cd" L"\0" L"\x24ce" L"\0" L"\x24cf" L"\0" L"\x24d0"
--  L"\0" L"\x24d1" L"\0" L"\x24d2" L"\0" L"\x24d3" L"\0" L"\x24d4" L"\0"
--  L"\x24d5" L"\0" L"\x24d6" L"\0" L"\x24d7" L"\0" L"\x24d8" L"\0" L"\x24d9"
--  L"\0" L"\x24da" L"\0" L"\x24db" L"\0" L"\x24dc" L"\0" L"\x24dd" L"\0"
--  L"\x24de" L"\0" L"\x24df" L"\0" L"\x24e0" L"\0" L"\x24e1" L"\0" L"\x24e2"
--  L"\0" L"\x24e3" L"\0" L"\x24e4" L"\0" L"\x24e5" L"\0" L"\x24e6" L"\0"
--  L"\x24e7" L"\0" L"\x24e8" L"\0" L"\x24e9" L"\0" L"\x24ea" L"\0" L"\x2500"
--  L"\0" L"\x2502" L"\0" L"\x250c" L"\0" L"\x2510" L"\0" L"\x2514" L"\0"
--  L"\x2518" L"\0" L"\x251c" L"\0" L"\x2524" L"\0" L"\x252c" L"\0" L"\x2534"
--  L"\0" L"\x253c" L"\0" L"\x25e6" L"\0" L"\x2a74" L"\0" L"\x2a75" L"\0"
--  L"\x2a76" L"\0" L"\x3000" L"\0" L"\x30a0" L"\0" L"\x3251" L"\0" L"\x3252"
--  L"\0" L"\x3253" L"\0" L"\x3254" L"\0" L"\x3255" L"\0" L"\x3256" L"\0"
--  L"\x3257" L"\0" L"\x3258" L"\0" L"\x3259" L"\0" L"\x325a" L"\0" L"\x325b"
--  L"\0" L"\x325c" L"\0" L"\x325d" L"\0" L"\x325e" L"\0" L"\x325f" L"\0"
--  L"\x32b1" L"\0" L"\x32b2" L"\0" L"\x32b3" L"\0" L"\x32b4" L"\0" L"\x32b5"
--  L"\0" L"\x32b6" L"\0" L"\x32b7" L"\0" L"\x32b8" L"\0" L"\x32b9" L"\0"
--  L"\x32ba" L"\0" L"\x32bb" L"\0" L"\x32bc" L"\0" L"\x32bd" L"\0" L"\x32be"
--  L"\0" L"\x32bf" L"\0" L"\x3371" L"\0" L"\x3372" L"\0" L"\x3373" L"\0"
--  L"\x3374" L"\0" L"\x3375" L"\0" L"\x3376" L"\0" L"\x3380" L"\0" L"\x3381"
--  L"\0" L"\x3382" L"\0" L"\x3383" L"\0" L"\x3384" L"\0" L"\x3385" L"\0"
--  L"\x3386" L"\0" L"\x3387" L"\0" L"\x3388" L"\0" L"\x3389" L"\0" L"\x338a"
--  L"\0" L"\x338b" L"\0" L"\x338c" L"\0" L"\x338d" L"\0" L"\x338e" L"\0"
--  L"\x338f" L"\0" L"\x3390" L"\0" L"\x3391" L"\0" L"\x3392" L"\0" L"\x3393"
--  L"\0" L"\x3394" L"\0" L"\x3395" L"\0" L"\x3396" L"\0" L"\x3397" L"\0"
--  L"\x3398" L"\0" L"\x3399" L"\0" L"\x339a" L"\0" L"\x339b" L"\0" L"\x339c"
--  L"\0" L"\x339d" L"\0" L"\x339e" L"\0" L"\x339f" L"\0" L"\x33a0" L"\0"
--  L"\x33a1" L"\0" L"\x33a2" L"\0" L"\x33a3" L"\0" L"\x33a4" L"\0" L"\x33a5"
--  L"\0" L"\x33a6" L"\0" L"\x33a7" L"\0" L"\x33a8" L"\0" L"\x33a9" L"\0"
--  L"\x33aa" L"\0" L"\x33ab" L"\0" L"\x33ac" L"\0" L"\x33ad" L"\0" L"\x33ae"
--  L"\0" L"\x33af" L"\0" L"\x33b0" L"\0" L"\x33b1" L"\0" L"\x33b2" L"\0"
--  L"\x33b3" L"\0" L"\x33b4" L"\0" L"\x33b5" L"\0" L"\x33b6" L"\0" L"\x33b7"
--  L"\0" L"\x33b8" L"\0" L"\x33b9" L"\0" L"\x33ba" L"\0" L"\x33bb" L"\0"
--  L"\x33bc" L"\0" L"\x33bd" L"\0" L"\x33be" L"\0" L"\x33bf" L"\0" L"\x33c2"
--  L"\0" L"\x33c3" L"\0" L"\x33c4" L"\0" L"\x33c5" L"\0" L"\x33c6" L"\0"
--  L"\x33c7" L"\0" L"\x33c8" L"\0" L"\x33c9" L"\0" L"\x33ca" L"\0" L"\x33cb"
--  L"\0" L"\x33cc" L"\0" L"\x33cd" L"\0" L"\x33ce" L"\0" L"\x33cf" L"\0"
--  L"\x33d0" L"\0" L"\x33d1" L"\0" L"\x33d2" L"\0" L"\x33d3" L"\0" L"\x33d4"
--  L"\0" L"\x33d5" L"\0" L"\x33d6" L"\0" L"\x33d7" L"\0" L"\x33d8" L"\0"
--  L"\x33d9" L"\0" L"\x33da" L"\0" L"\x33db" L"\0" L"\x33dc" L"\0" L"\x33dd"
--  L"\0" L"\xfb00" L"\0" L"\xfb01" L"\0" L"\xfb02" L"\0" L"\xfb03" L"\0"
--  L"\xfb04" L"\0" L"\xfb06" L"\0" L"\xfb29" L"\0" L"\xfe00" L"\0" L"\xfe01"
--  L"\0" L"\xfe02" L"\0" L"\xfe03" L"\0" L"\xfe04" L"\0" L"\xfe05" L"\0"
--  L"\xfe06" L"\0" L"\xfe07" L"\0" L"\xfe08" L"\0" L"\xfe09" L"\0" L"\xfe0a"
--  L"\0" L"\xfe0b" L"\0" L"\xfe0c" L"\0" L"\xfe0d" L"\0" L"\xfe0e" L"\0"
--  L"\xfe0f" L"\0" L"\xfe4d" L"\0" L"\xfe4e" L"\0" L"\xfe4f" L"\0" L"\xfe50"
--  L"\0" L"\xfe52" L"\0" L"\xfe54" L"\0" L"\xfe55" L"\0" L"\xfe56" L"\0"
--  L"\xfe57" L"\0" L"\xfe59" L"\0" L"\xfe5a" L"\0" L"\xfe5b" L"\0" L"\xfe5c"
--  L"\0" L"\xfe5f" L"\0" L"\xfe60" L"\0" L"\xfe61" L"\0" L"\xfe62" L"\0"
--  L"\xfe63" L"\0" L"\xfe64" L"\0" L"\xfe65" L"\0" L"\xfe66" L"\0" L"\xfe68"
--  L"\0" L"\xfe69" L"\0" L"\xfe6a" L"\0" L"\xfe6b" L"\0" L"\xfeff" L"\0"
--  L"\xff01" L"\0" L"\xff02" L"\0" L"\xff03" L"\0" L"\xff04" L"\0" L"\xff05"
--  L"\0" L"\xff06" L"\0" L"\xff07" L"\0" L"\xff08" L"\0" L"\xff09" L"\0"
--  L"\xff0a" L"\0" L"\xff0b" L"\0" L"\xff0c" L"\0" L"\xff0d" L"\0" L"\xff0e"
--  L"\0" L"\xff0f" L"\0" L"\xff10" L"\0" L"\xff11" L"\0" L"\xff12" L"\0"
--  L"\xff13" L"\0" L"\xff14" L"\0" L"\xff15" L"\0" L"\xff16" L"\0" L"\xff17"
--  L"\0" L"\xff18" L"\0" L"\xff19" L"\0" L"\xff1a" L"\0" L"\xff1b" L"\0"
--  L"\xff1c" L"\0" L"\xff1d" L"\0" L"\xff1e" L"\0" L"\xff1f" L"\0" L"\xff20"
--  L"\0" L"\xff21" L"\0" L"\xff22" L"\0" L"\xff23" L"\0" L"\xff24" L"\0"
--  L"\xff25" L"\0" L"\xff26" L"\0" L"\xff27" L"\0" L"\xff28" L"\0" L"\xff29"
--  L"\0" L"\xff2a" L"\0" L"\xff2b" L"\0" L"\xff2c" L"\0" L"\xff2d" L"\0"
--  L"\xff2e" L"\0" L"\xff2f" L"\0" L"\xff30" L"\0" L"\xff31" L"\0" L"\xff32"
--  L"\0" L"\xff33" L"\0" L"\xff34" L"\0" L"\xff35" L"\0" L"\xff36" L"\0"
--  L"\xff37" L"\0" L"\xff38" L"\0" L"\xff39" L"\0" L"\xff3a" L"\0" L"\xff3b"
--  L"\0" L"\xff3c" L"\0" L"\xff3d" L"\0" L"\xff3e" L"\0" L"\xff3f" L"\0"
--  L"\xff40" L"\0" L"\xff41" L"\0" L"\xff42" L"\0" L"\xff43" L"\0" L"\xff44"
--  L"\0" L"\xff45" L"\0" L"\xff46" L"\0" L"\xff47" L"\0" L"\xff48" L"\0"
--  L"\xff49" L"\0" L"\xff4a" L"\0" L"\xff4b" L"\0" L"\xff4c" L"\0" L"\xff4d"
--  L"\0" L"\xff4e" L"\0" L"\xff4f" L"\0" L"\xff50" L"\0" L"\xff51" L"\0"
--  L"\xff52" L"\0" L"\xff53" L"\0" L"\xff54" L"\0" L"\xff55" L"\0" L"\xff56"
--  L"\0" L"\xff57" L"\0" L"\xff58" L"\0" L"\xff59" L"\0" L"\xff5a" L"\0"
--  L"\xff5b" L"\0" L"\xff5c" L"\0" L"\xff5d" L"\0" L"\xff5e" L"\0"
--  L"\x0001d400" L"\0" L"\x0001d401" L"\0" L"\x0001d402" L"\0" L"\x0001d403"
--  L"\0" L"\x0001d404" L"\0" L"\x0001d405" L"\0" L"\x0001d406" L"\0"
--  L"\x0001d407" L"\0" L"\x0001d408" L"\0" L"\x0001d409" L"\0" L"\x0001d40a"
--  L"\0" L"\x0001d40b" L"\0" L"\x0001d40c" L"\0" L"\x0001d40d" L"\0"
--  L"\x0001d40e" L"\0" L"\x0001d40f" L"\0" L"\x0001d410" L"\0" L"\x0001d411"
--  L"\0" L"\x0001d412" L"\0" L"\x0001d413" L"\0" L"\x0001d414" L"\0"
--  L"\x0001d415" L"\0" L"\x0001d416" L"\0" L"\x0001d417" L"\0" L"\x0001d418"
--  L"\0" L"\x0001d419" L"\0" L"\x0001d41a" L"\0" L"\x0001d41b" L"\0"
--  L"\x0001d41c" L"\0" L"\x0001d41d" L"\0" L"\x0001d41e" L"\0" L"\x0001d41f"
--  L"\0" L"\x0001d420" L"\0" L"\x0001d421" L"\0" L"\x0001d422" L"\0"
--  L"\x0001d423" L"\0" L"\x0001d424" L"\0" L"\x0001d425" L"\0" L"\x0001d426"
--  L"\0" L"\x0001d427" L"\0" L"\x0001d428" L"\0" L"\x0001d429" L"\0"
--  L"\x0001d42a" L"\0" L"\x0001d42b" L"\0" L"\x0001d42c" L"\0" L"\x0001d42d"
--  L"\0" L"\x0001d42e" L"\0" L"\x0001d42f" L"\0" L"\x0001d430" L"\0"
--  L"\x0001d431" L"\0" L"\x0001d432" L"\0" L"\x0001d433" L"\0" L"\x0001d434"
--  L"\0" L"\x0001d435" L"\0" L"\x0001d436" L"\0" L"\x0001d437" L"\0"
--  L"\x0001d438" L"\0" L"\x0001d439" L"\0" L"\x0001d43a" L"\0" L"\x0001d43b"
--  L"\0" L"\x0001d43c" L"\0" L"\x0001d43d" L"\0" L"\x0001d43e" L"\0"
--  L"\x0001d43f" L"\0" L"\x0001d440" L"\0" L"\x0001d441" L"\0" L"\x0001d442"
--  L"\0" L"\x0001d443" L"\0" L"\x0001d444" L"\0" L"\x0001d445" L"\0"
--  L"\x0001d446" L"\0" L"\x0001d447" L"\0" L"\x0001d448" L"\0" L"\x0001d449"
--  L"\0" L"\x0001d44a" L"\0" L"\x0001d44b" L"\0" L"\x0001d44c" L"\0"
--  L"\x0001d44d" L"\0" L"\x0001d44e" L"\0" L"\x0001d44f" L"\0" L"\x0001d450"
--  L"\0" L"\x0001d451" L"\0" L"\x0001d452" L"\0" L"\x0001d453" L"\0"
--  L"\x0001d454" L"\0" L"\x0001d456" L"\0" L"\x0001d457" L"\0" L"\x0001d458"
--  L"\0" L"\x0001d459" L"\0" L"\x0001d45a" L"\0" L"\x0001d45b" L"\0"
--  L"\x0001d45c" L"\0" L"\x0001d45d" L"\0" L"\x0001d45e" L"\0" L"\x0001d45f"
--  L"\0" L"\x0001d460" L"\0" L"\x0001d461" L"\0" L"\x0001d462" L"\0"
--  L"\x0001d463" L"\0" L"\x0001d464" L"\0" L"\x0001d465" L"\0" L"\x0001d466"
--  L"\0" L"\x0001d467" L"\0" L"\x0001d468" L"\0" L"\x0001d469" L"\0"
--  L"\x0001d46a" L"\0" L"\x0001d46b" L"\0" L"\x0001d46c" L"\0" L"\x0001d46d"
--  L"\0" L"\x0001d46e" L"\0" L"\x0001d46f" L"\0" L"\x0001d470" L"\0"
--  L"\x0001d471" L"\0" L"\x0001d472" L"\0" L"\x0001d473" L"\0" L"\x0001d474"
--  L"\0" L"\x0001d475" L"\0" L"\x0001d476" L"\0" L"\x0001d477" L"\0"
--  L"\x0001d478" L"\0" L"\x0001d479" L"\0" L"\x0001d47a" L"\0" L"\x0001d47b"
--  L"\0" L"\x0001d47c" L"\0" L"\x0001d47d" L"\0" L"\x0001d47e" L"\0"
--  L"\x0001d47f" L"\0" L"\x0001d480" L"\0" L"\x0001d481" L"\0" L"\x0001d482"
--  L"\0" L"\x0001d483" L"\0" L"\x0001d484" L"\0" L"\x0001d485" L"\0"
--  L"\x0001d486" L"\0" L"\x0001d487" L"\0" L"\x0001d488" L"\0" L"\x0001d489"
--  L"\0" L"\x0001d48a" L"\0" L"\x0001d48b" L"\0" L"\x0001d48c" L"\0"
--  L"\x0001d48d" L"\0" L"\x0001d48e" L"\0" L"\x0001d48f" L"\0" L"\x0001d490"
--  L"\0" L"\x0001d491" L"\0" L"\x0001d492" L"\0" L"\x0001d493" L"\0"
--  L"\x0001d494" L"\0" L"\x0001d495" L"\0" L"\x0001d496" L"\0" L"\x0001d497"
--  L"\0" L"\x0001d498" L"\0" L"\x0001d499" L"\0" L"\x0001d49a" L"\0"
--  L"\x0001d49b" L"\0" L"\x0001d49c" L"\0" L"\x0001d49e" L"\0" L"\x0001d49f"
--  L"\0" L"\x0001d4a2" L"\0" L"\x0001d4a5" L"\0" L"\x0001d4a6" L"\0"
--  L"\x0001d4a9" L"\0" L"\x0001d4aa" L"\0" L"\x0001d4ab" L"\0" L"\x0001d4ac"
--  L"\0" L"\x0001d4ae" L"\0" L"\x0001d4af" L"\0" L"\x0001d4b0" L"\0"
--  L"\x0001d4b1" L"\0" L"\x0001d4b2" L"\0" L"\x0001d4b3" L"\0" L"\x0001d4b4"
--  L"\0" L"\x0001d4b5" L"\0" L"\x0001d4b6" L"\0" L"\x0001d4b7" L"\0"
--  L"\x0001d4b8" L"\0" L"\x0001d4b9" L"\0" L"\x0001d4bb" L"\0" L"\x0001d4bd"
--  L"\0" L"\x0001d4be" L"\0" L"\x0001d4bf" L"\0" L"\x0001d4c0" L"\0"
--  L"\x0001d4c2" L"\0" L"\x0001d4c3" L"\0" L"\x0001d4c5" L"\0" L"\x0001d4c6"
--  L"\0" L"\x0001d4c7" L"\0" L"\x0001d4c8" L"\0" L"\x0001d4c9" L"\0"
--  L"\x0001d4ca" L"\0" L"\x0001d4cb" L"\0" L"\x0001d4cc" L"\0" L"\x0001d4cd"
--  L"\0" L"\x0001d4ce" L"\0" L"\x0001d4cf" L"\0" L"\x0001d4d0" L"\0"
--  L"\x0001d4d1" L"\0" L"\x0001d4d2" L"\0" L"\x0001d4d3" L"\0" L"\x0001d4d4"
--  L"\0" L"\x0001d4d5" L"\0" L"\x0001d4d6" L"\0" L"\x0001d4d7" L"\0"
--  L"\x0001d4d8" L"\0" L"\x0001d4d9" L"\0" L"\x0001d4da" L"\0" L"\x0001d4db"
--  L"\0" L"\x0001d4dc" L"\0" L"\x0001d4dd" L"\0" L"\x0001d4de" L"\0"
--  L"\x0001d4df" L"\0" L"\x0001d4e0" L"\0" L"\x0001d4e1" L"\0" L"\x0001d4e2"
--  L"\0" L"\x0001d4e3" L"\0" L"\x0001d4e4" L"\0" L"\x0001d4e5" L"\0"
--  L"\x0001d4e6" L"\0" L"\x0001d4e7" L"\0" L"\x0001d4e8" L"\0" L"\x0001d4e9"
--  L"\0" L"\x0001d4ea" L"\0" L"\x0001d4eb" L"\0" L"\x0001d4ec" L"\0"
--  L"\x0001d4ed" L"\0" L"\x0001d4ee" L"\0" L"\x0001d4ef" L"\0" L"\x0001d4f0"
--  L"\0" L"\x0001d4f1" L"\0" L"\x0001d4f2" L"\0" L"\x0001d4f3" L"\0"
--  L"\x0001d4f4" L"\0" L"\x0001d4f5" L"\0" L"\x0001d4f6" L"\0" L"\x0001d4f7"
--  L"\0" L"\x0001d4f8" L"\0" L"\x0001d4f9" L"\0" L"\x0001d4fa" L"\0"
--  L"\x0001d4fb" L"\0" L"\x0001d4fc" L"\0" L"\x0001d4fd" L"\0" L"\x0001d4fe"
--  L"\0" L"\x0001d4ff" L"\0" L"\x0001d500" L"\0" L"\x0001d501" L"\0"
--  L"\x0001d502" L"\0" L"\x0001d503" L"\0" L"\x0001d504" L"\0" L"\x0001d505"
--  L"\0" L"\x0001d507" L"\0" L"\x0001d508" L"\0" L"\x0001d509" L"\0"
--  L"\x0001d50a" L"\0" L"\x0001d50d" L"\0" L"\x0001d50e" L"\0" L"\x0001d50f"
--  L"\0" L"\x0001d510" L"\0" L"\x0001d511" L"\0" L"\x0001d512" L"\0"
--  L"\x0001d513" L"\0" L"\x0001d514" L"\0" L"\x0001d516" L"\0" L"\x0001d517"
--  L"\0" L"\x0001d518" L"\0" L"\x0001d519" L"\0" L"\x0001d51a" L"\0"
--  L"\x0001d51b" L"\0" L"\x0001d51c" L"\0" L"\x0001d51e" L"\0" L"\x0001d51f"
--  L"\0" L"\x0001d520" L"\0" L"\x0001d521" L"\0" L"\x0001d522" L"\0"
--  L"\x0001d523" L"\0" L"\x0001d524" L"\0" L"\x0001d525" L"\0" L"\x0001d526"
--  L"\0" L"\x0001d527" L"\0" L"\x0001d528" L"\0" L"\x0001d529" L"\0"
--  L"\x0001d52a" L"\0" L"\x0001d52b" L"\0" L"\x0001d52c" L"\0" L"\x0001d52d"
--  L"\0" L"\x0001d52e" L"\0" L"\x0001d52f" L"\0" L"\x0001d530" L"\0"
--  L"\x0001d531" L"\0" L"\x0001d532" L"\0" L"\x0001d533" L"\0" L"\x0001d534"
--  L"\0" L"\x0001d535" L"\0" L"\x0001d536" L"\0" L"\x0001d537" L"\0"
--  L"\x0001d538" L"\0" L"\x0001d539" L"\0" L"\x0001d53b" L"\0" L"\x0001d53c"
--  L"\0" L"\x0001d53d" L"\0" L"\x0001d53e" L"\0" L"\x0001d540" L"\0"
--  L"\x0001d541" L"\0" L"\x0001d542" L"\0" L"\x0001d543" L"\0" L"\x0001d544"
--  L"\0" L"\x0001d546" L"\0" L"\x0001d54a" L"\0" L"\x0001d54b" L"\0"
--  L"\x0001d54c" L"\0" L"\x0001d54d" L"\0" L"\x0001d54e" L"\0" L"\x0001d54f"
--  L"\0" L"\x0001d550" L"\0" L"\x0001d552" L"\0" L"\x0001d553" L"\0"
--  L"\x0001d554" L"\0" L"\x0001d555" L"\0" L"\x0001d556" L"\0" L"\x0001d557"
--  L"\0" L"\x0001d558" L"\0" L"\x0001d559" L"\0" L"\x0001d55a" L"\0"
--  L"\x0001d55b" L"\0" L"\x0001d55c" L"\0" L"\x0001d55d" L"\0" L"\x0001d55e"
--  L"\0" L"\x0001d55f" L"\0" L"\x0001d560" L"\0" L"\x0001d561" L"\0"
--  L"\x0001d562" L"\0" L"\x0001d563" L"\0" L"\x0001d564" L"\0" L"\x0001d565"
--  L"\0" L"\x0001d566" L"\0" L"\x0001d567" L"\0" L"\x0001d568" L"\0"
--  L"\x0001d569" L"\0" L"\x0001d56a" L"\0" L"\x0001d56b" L"\0" L"\x0001d56c"
--  L"\0" L"\x0001d56d" L"\0" L"\x0001d56e" L"\0" L"\x0001d56f" L"\0"
--  L"\x0001d570" L"\0" L"\x0001d571" L"\0" L"\x0001d572" L"\0" L"\x0001d573"
--  L"\0" L"\x0001d574" L"\0" L"\x0001d575" L"\0" L"\x0001d576" L"\0"
--  L"\x0001d577" L"\0" L"\x0001d578" L"\0" L"\x0001d579" L"\0" L"\x0001d57a"
--  L"\0" L"\x0001d57b" L"\0" L"\x0001d57c" L"\0" L"\x0001d57d" L"\0"
--  L"\x0001d57e" L"\0" L"\x0001d57f" L"\0" L"\x0001d580" L"\0" L"\x0001d581"
--  L"\0" L"\x0001d582" L"\0" L"\x0001d583" L"\0" L"\x0001d584" L"\0"
--  L"\x0001d585" L"\0" L"\x0001d586" L"\0" L"\x0001d587" L"\0" L"\x0001d588"
--  L"\0" L"\x0001d589" L"\0" L"\x0001d58a" L"\0" L"\x0001d58b" L"\0"
--  L"\x0001d58c" L"\0" L"\x0001d58d" L"\0" L"\x0001d58e" L"\0" L"\x0001d58f"
--  L"\0" L"\x0001d590" L"\0" L"\x0001d591" L"\0" L"\x0001d592" L"\0"
--  L"\x0001d593" L"\0" L"\x0001d594" L"\0" L"\x0001d595" L"\0" L"\x0001d596"
--  L"\0" L"\x0001d597" L"\0" L"\x0001d598" L"\0" L"\x0001d599" L"\0"
--  L"\x0001d59a" L"\0" L"\x0001d59b" L"\0" L"\x0001d59c" L"\0" L"\x0001d59d"
--  L"\0" L"\x0001d59e" L"\0" L"\x0001d59f" L"\0" L"\x0001d5a0" L"\0"
--  L"\x0001d5a1" L"\0" L"\x0001d5a2" L"\0" L"\x0001d5a3" L"\0" L"\x0001d5a4"
--  L"\0" L"\x0001d5a5" L"\0" L"\x0001d5a6" L"\0" L"\x0001d5a7" L"\0"
--  L"\x0001d5a8" L"\0" L"\x0001d5a9" L"\0" L"\x0001d5aa" L"\0" L"\x0001d5ab"
--  L"\0" L"\x0001d5ac" L"\0" L"\x0001d5ad" L"\0" L"\x0001d5ae" L"\0"
--  L"\x0001d5af" L"\0" L"\x0001d5b0" L"\0" L"\x0001d5b1" L"\0" L"\x0001d5b2"
--  L"\0" L"\x0001d5b3" L"\0" L"\x0001d5b4" L"\0" L"\x0001d5b5" L"\0"
--  L"\x0001d5b6" L"\0" L"\x0001d5b7" L"\0" L"\x0001d5b8" L"\0" L"\x0001d5b9"
--  L"\0" L"\x0001d5ba" L"\0" L"\x0001d5bb" L"\0" L"\x0001d5bc" L"\0"
--  L"\x0001d5bd" L"\0" L"\x0001d5be" L"\0" L"\x0001d5bf" L"\0" L"\x0001d5c0"
--  L"\0" L"\x0001d5c1" L"\0" L"\x0001d5c2" L"\0" L"\x0001d5c3" L"\0"
--  L"\x0001d5c4" L"\0" L"\x0001d5c5" L"\0" L"\x0001d5c6" L"\0" L"\x0001d5c7"
--  L"\0" L"\x0001d5c8" L"\0" L"\x0001d5c9" L"\0" L"\x0001d5ca" L"\0"
--  L"\x0001d5cb" L"\0" L"\x0001d5cc" L"\0" L"\x0001d5cd" L"\0" L"\x0001d5ce"
--  L"\0" L"\x0001d5cf" L"\0" L"\x0001d5d0" L"\0" L"\x0001d5d1" L"\0"
--  L"\x0001d5d2" L"\0" L"\x0001d5d3" L"\0" L"\x0001d5d4" L"\0" L"\x0001d5d5"
--  L"\0" L"\x0001d5d6" L"\0" L"\x0001d5d7" L"\0" L"\x0001d5d8" L"\0"
--  L"\x0001d5d9" L"\0" L"\x0001d5da" L"\0" L"\x0001d5db" L"\0" L"\x0001d5dc"
--  L"\0" L"\x0001d5dd" L"\0" L"\x0001d5de" L"\0" L"\x0001d5df" L"\0"
--  L"\x0001d5e0" L"\0" L"\x0001d5e1" L"\0" L"\x0001d5e2" L"\0" L"\x0001d5e3"
--  L"\0" L"\x0001d5e4" L"\0" L"\x0001d5e5" L"\0" L"\x0001d5e6" L"\0"
--  L"\x0001d5e7" L"\0" L"\x0001d5e8" L"\0" L"\x0001d5e9" L"\0" L"\x0001d5ea"
--  L"\0" L"\x0001d5eb" L"\0" L"\x0001d5ec" L"\0" L"\x0001d5ed" L"\0"
--  L"\x0001d5ee" L"\0" L"\x0001d5ef" L"\0" L"\x0001d5f0" L"\0" L"\x0001d5f1"
--  L"\0" L"\x0001d5f2" L"\0" L"\x0001d5f3" L"\0" L"\x0001d5f4" L"\0"
--  L"\x0001d5f5" L"\0" L"\x0001d5f6" L"\0" L"\x0001d5f7" L"\0" L"\x0001d5f8"
--  L"\0" L"\x0001d5f9" L"\0" L"\x0001d5fa" L"\0" L"\x0001d5fb" L"\0"
--  L"\x0001d5fc" L"\0" L"\x0001d5fd" L"\0" L"\x0001d5fe" L"\0" L"\x0001d5ff"
--  L"\0" L"\x0001d600" L"\0" L"\x0001d601" L"\0" L"\x0001d602" L"\0"
--  L"\x0001d603" L"\0" L"\x0001d604" L"\0" L"\x0001d605" L"\0" L"\x0001d606"
--  L"\0" L"\x0001d607" L"\0" L"\x0001d608" L"\0" L"\x0001d609" L"\0"
--  L"\x0001d60a" L"\0" L"\x0001d60b" L"\0" L"\x0001d60c" L"\0" L"\x0001d60d"
--  L"\0" L"\x0001d60e" L"\0" L"\x0001d60f" L"\0" L"\x0001d610" L"\0"
--  L"\x0001d611" L"\0" L"\x0001d612" L"\0" L"\x0001d613" L"\0" L"\x0001d614"
--  L"\0" L"\x0001d615" L"\0" L"\x0001d616" L"\0" L"\x0001d617" L"\0"
--  L"\x0001d618" L"\0" L"\x0001d619" L"\0" L"\x0001d61a" L"\0" L"\x0001d61b"
--  L"\0" L"\x0001d61c" L"\0" L"\x0001d61d" L"\0" L"\x0001d61e" L"\0"
--  L"\x0001d61f" L"\0" L"\x0001d620" L"\0" L"\x0001d621" L"\0" L"\x0001d622"
--  L"\0" L"\x0001d623" L"\0" L"\x0001d624" L"\0" L"\x0001d625" L"\0"
--  L"\x0001d626" L"\0" L"\x0001d627" L"\0" L"\x0001d628" L"\0" L"\x0001d629"
--  L"\0" L"\x0001d62a" L"\0" L"\x0001d62b" L"\0" L"\x0001d62c" L"\0"
--  L"\x0001d62d" L"\0" L"\x0001d62e" L"\0" L"\x0001d62f" L"\0" L"\x0001d630"
--  L"\0" L"\x0001d631" L"\0" L"\x0001d632" L"\0" L"\x0001d633" L"\0"
--  L"\x0001d634" L"\0" L"\x0001d635" L"\0" L"\x0001d636" L"\0" L"\x0001d637"
--  L"\0" L"\x0001d638" L"\0" L"\x0001d639" L"\0" L"\x0001d63a" L"\0"
--  L"\x0001d63b" L"\0" L"\x0001d63c" L"\0" L"\x0001d63d" L"\0" L"\x0001d63e"
--  L"\0" L"\x0001d63f" L"\0" L"\x0001d640" L"\0" L"\x0001d641" L"\0"
--  L"\x0001d642" L"\0" L"\x0001d643" L"\0" L"\x0001d644" L"\0" L"\x0001d645"
--  L"\0" L"\x0001d646" L"\0" L"\x0001d647" L"\0" L"\x0001d648" L"\0"
--  L"\x0001d649" L"\0" L"\x0001d64a" L"\0" L"\x0001d64b" L"\0" L"\x0001d64c"
--  L"\0" L"\x0001d64d" L"\0" L"\x0001d64e" L"\0" L"\x0001d64f" L"\0"
--  L"\x0001d650" L"\0" L"\x0001d651" L"\0" L"\x0001d652" L"\0" L"\x0001d653"
--  L"\0" L"\x0001d654" L"\0" L"\x0001d655" L"\0" L"\x0001d656" L"\0"
--  L"\x0001d657" L"\0" L"\x0001d658" L"\0" L"\x0001d659" L"\0" L"\x0001d65a"
--  L"\0" L"\x0001d65b" L"\0" L"\x0001d65c" L"\0" L"\x0001d65d" L"\0"
--  L"\x0001d65e" L"\0" L"\x0001d65f" L"\0" L"\x0001d660" L"\0" L"\x0001d661"
--  L"\0" L"\x0001d662" L"\0" L"\x0001d663" L"\0" L"\x0001d664" L"\0"
--  L"\x0001d665" L"\0" L"\x0001d666" L"\0" L"\x0001d667" L"\0" L"\x0001d668"
--  L"\0" L"\x0001d669" L"\0" L"\x0001d66a" L"\0" L"\x0001d66b" L"\0"
--  L"\x0001d66c" L"\0" L"\x0001d66d" L"\0" L"\x0001d66e" L"\0" L"\x0001d66f"
--  L"\0" L"\x0001d670" L"\0" L"\x0001d671" L"\0" L"\x0001d672" L"\0"
--  L"\x0001d673" L"\0" L"\x0001d674" L"\0" L"\x0001d675" L"\0" L"\x0001d676"
--  L"\0" L"\x0001d677" L"\0" L"\x0001d678" L"\0" L"\x0001d679" L"\0"
--  L"\x0001d67a" L"\0" L"\x0001d67b" L"\0" L"\x0001d67c" L"\0" L"\x0001d67d"
--  L"\0" L"\x0001d67e" L"\0" L"\x0001d67f" L"\0" L"\x0001d680" L"\0"
--  L"\x0001d681" L"\0" L"\x0001d682" L"\0" L"\x0001d683" L"\0" L"\x0001d684"
--  L"\0" L"\x0001d685" L"\0" L"\x0001d686" L"\0" L"\x0001d687" L"\0"
--  L"\x0001d688" L"\0" L"\x0001d689" L"\0" L"\x0001d68a" L"\0" L"\x0001d68b"
--  L"\0" L"\x0001d68c" L"\0" L"\x0001d68d" L"\0" L"\x0001d68e" L"\0"
--  L"\x0001d68f" L"\0" L"\x0001d690" L"\0" L"\x0001d691" L"\0" L"\x0001d692"
--  L"\0" L"\x0001d693" L"\0" L"\x0001d694" L"\0" L"\x0001d695" L"\0"
--  L"\x0001d696" L"\0" L"\x0001d697" L"\0" L"\x0001d698" L"\0" L"\x0001d699"
--  L"\0" L"\x0001d69a" L"\0" L"\x0001d69b" L"\0" L"\x0001d69c" L"\0"
--  L"\x0001d69d" L"\0" L"\x0001d69e" L"\0" L"\x0001d69f" L"\0" L"\x0001d6a0"
--  L"\0" L"\x0001d6a1" L"\0" L"\x0001d6a2" L"\0" L"\x0001d6a3" L"\0"
--  L"\x0001d7ce" L"\0" L"\x0001d7cf" L"\0" L"\x0001d7d0" L"\0" L"\x0001d7d1"
--  L"\0" L"\x0001d7d2" L"\0" L"\x0001d7d3" L"\0" L"\x0001d7d4" L"\0"
--  L"\x0001d7d5" L"\0" L"\x0001d7d6" L"\0" L"\x0001d7d7" L"\0" L"\x0001d7d8"
--  L"\0" L"\x0001d7d9" L"\0" L"\x0001d7da" L"\0" L"\x0001d7db" L"\0"
--  L"\x0001d7dc" L"\0" L"\x0001d7dd" L"\0" L"\x0001d7de" L"\0" L"\x0001d7df"
--  L"\0" L"\x0001d7e0" L"\0" L"\x0001d7e1" L"\0" L"\x0001d7e2" L"\0"
--  L"\x0001d7e3" L"\0" L"\x0001d7e4" L"\0" L"\x0001d7e5" L"\0" L"\x0001d7e6"
--  L"\0" L"\x0001d7e7" L"\0" L"\x0001d7e8" L"\0" L"\x0001d7e9" L"\0"
--  L"\x0001d7ea" L"\0" L"\x0001d7eb" L"\0" L"\x0001d7ec" L"\0" L"\x0001d7ed"
--  L"\0" L"\x0001d7ee" L"\0" L"\x0001d7ef" L"\0" L"\x0001d7f0" L"\0"
--  L"\x0001d7f1" L"\0" L"\x0001d7f2" L"\0" L"\x0001d7f3" L"\0" L"\x0001d7f4"
--  L"\0" L"\x0001d7f5" L"\0" L"\x0001d7f6" L"\0" L"\x0001d7f7" L"\0"
--  L"\x0001d7f8" L"\0" L"\x0001d7f9" L"\0" L"\x0001d7fa" L"\0" L"\x0001d7fb"
--  L"\0" L"\x0001d7fc" L"\0" L"\x0001d7fd" L"\0" L"\x0001d7fe" L"\0"
--  L"\x0001d7ff";
-+  L"\x2062" L"\0" L"\x2063" L"\0" L"\x20a8" L"\0" L"\x20ac" L"\0" L"\x20b9"
-+  L"\0" L"\x2100" L"\0" L"\x2101" L"\0" L"\x2102" L"\0" L"\x2105" L"\0"
-+  L"\x2106" L"\0" L"\x210a" L"\0" L"\x210b" L"\0" L"\x210c" L"\0" L"\x210d"
-+  L"\0" L"\x210e" L"\0" L"\x2110" L"\0" L"\x2111" L"\0" L"\x2112" L"\0"
-+  L"\x2113" L"\0" L"\x2115" L"\0" L"\x2116" L"\0" L"\x2119" L"\0" L"\x211a"
-+  L"\0" L"\x211b" L"\0" L"\x211c" L"\0" L"\x211d" L"\0" L"\x2121" L"\0"
-+  L"\x2122" L"\0" L"\x2124" L"\0" L"\x2126" L"\0" L"\x2128" L"\0" L"\x212c"
-+  L"\0" L"\x212d" L"\0" L"\x212e" L"\0" L"\x212f" L"\0" L"\x2130" L"\0"
-+  L"\x2131" L"\0" L"\x2133" L"\0" L"\x2134" L"\0" L"\x2139" L"\0" L"\x2145"
-+  L"\0" L"\x2146" L"\0" L"\x2147" L"\0" L"\x2148" L"\0" L"\x2149" L"\0"
-+  L"\x2153" L"\0" L"\x2154" L"\0" L"\x2155" L"\0" L"\x2156" L"\0" L"\x2157"
-+  L"\0" L"\x2158" L"\0" L"\x2159" L"\0" L"\x215a" L"\0" L"\x215b" L"\0"
-+  L"\x215c" L"\0" L"\x215d" L"\0" L"\x215e" L"\0" L"\x215f" L"\0" L"\x2160"
-+  L"\0" L"\x2161" L"\0" L"\x2162" L"\0" L"\x2163" L"\0" L"\x2164" L"\0"
-+  L"\x2165" L"\0" L"\x2166" L"\0" L"\x2167" L"\0" L"\x2168" L"\0" L"\x2169"
-+  L"\0" L"\x216a" L"\0" L"\x216b" L"\0" L"\x216c" L"\0" L"\x216d" L"\0"
-+  L"\x216e" L"\0" L"\x216f" L"\0" L"\x2170" L"\0" L"\x2171" L"\0" L"\x2172"
-+  L"\0" L"\x2173" L"\0" L"\x2174" L"\0" L"\x2175" L"\0" L"\x2176" L"\0"
-+  L"\x2177" L"\0" L"\x2178" L"\0" L"\x2179" L"\0" L"\x217a" L"\0" L"\x217b"
-+  L"\0" L"\x217c" L"\0" L"\x217d" L"\0" L"\x217e" L"\0" L"\x217f" L"\0"
-+  L"\x2190" L"\0" L"\x2192" L"\0" L"\x2194" L"\0" L"\x21d0" L"\0" L"\x21d2"
-+  L"\0" L"\x21d4" L"\0" L"\x2212" L"\0" L"\x2215" L"\0" L"\x2216" L"\0"
-+  L"\x2217" L"\0" L"\x2223" L"\0" L"\x2236" L"\0" L"\x223c" L"\0" L"\x2264"
-+  L"\0" L"\x2265" L"\0" L"\x226a" L"\0" L"\x226b" L"\0" L"\x22d8" L"\0"
-+  L"\x22d9" L"\0" L"\x2400" L"\0" L"\x2401" L"\0" L"\x2402" L"\0" L"\x2403"
-+  L"\0" L"\x2404" L"\0" L"\x2405" L"\0" L"\x2406" L"\0" L"\x2407" L"\0"
-+  L"\x2408" L"\0" L"\x2409" L"\0" L"\x240a" L"\0" L"\x240b" L"\0" L"\x240c"
-+  L"\0" L"\x240d" L"\0" L"\x240e" L"\0" L"\x240f" L"\0" L"\x2410" L"\0"
-+  L"\x2411" L"\0" L"\x2412" L"\0" L"\x2413" L"\0" L"\x2414" L"\0" L"\x2415"
-+  L"\0" L"\x2416" L"\0" L"\x2417" L"\0" L"\x2418" L"\0" L"\x2419" L"\0"
-+  L"\x241a" L"\0" L"\x241b" L"\0" L"\x241c" L"\0" L"\x241d" L"\0" L"\x241e"
-+  L"\0" L"\x241f" L"\0" L"\x2420" L"\0" L"\x2421" L"\0" L"\x2423" L"\0"
-+  L"\x2424" L"\0" L"\x2460" L"\0" L"\x2461" L"\0" L"\x2462" L"\0" L"\x2463"
-+  L"\0" L"\x2464" L"\0" L"\x2465" L"\0" L"\x2466" L"\0" L"\x2467" L"\0"
-+  L"\x2468" L"\0" L"\x2469" L"\0" L"\x246a" L"\0" L"\x246b" L"\0" L"\x246c"
-+  L"\0" L"\x246d" L"\0" L"\x246e" L"\0" L"\x246f" L"\0" L"\x2470" L"\0"
-+  L"\x2471" L"\0" L"\x2472" L"\0" L"\x2473" L"\0" L"\x2474" L"\0" L"\x2475"
-+  L"\0" L"\x2476" L"\0" L"\x2477" L"\0" L"\x2478" L"\0" L"\x2479" L"\0"
-+  L"\x247a" L"\0" L"\x247b" L"\0" L"\x247c" L"\0" L"\x247d" L"\0" L"\x247e"
-+  L"\0" L"\x247f" L"\0" L"\x2480" L"\0" L"\x2481" L"\0" L"\x2482" L"\0"
-+  L"\x2483" L"\0" L"\x2484" L"\0" L"\x2485" L"\0" L"\x2486" L"\0" L"\x2487"
-+  L"\0" L"\x2488" L"\0" L"\x2489" L"\0" L"\x248a" L"\0" L"\x248b" L"\0"
-+  L"\x248c" L"\0" L"\x248d" L"\0" L"\x248e" L"\0" L"\x248f" L"\0" L"\x2490"
-+  L"\0" L"\x2491" L"\0" L"\x2492" L"\0" L"\x2493" L"\0" L"\x2494" L"\0"
-+  L"\x2495" L"\0" L"\x2496" L"\0" L"\x2497" L"\0" L"\x2498" L"\0" L"\x2499"
-+  L"\0" L"\x249a" L"\0" L"\x249b" L"\0" L"\x249c" L"\0" L"\x249d" L"\0"
-+  L"\x249e" L"\0" L"\x249f" L"\0" L"\x24a0" L"\0" L"\x24a1" L"\0" L"\x24a2"
-+  L"\0" L"\x24a3" L"\0" L"\x24a4" L"\0" L"\x24a5" L"\0" L"\x24a6" L"\0"
-+  L"\x24a7" L"\0" L"\x24a8" L"\0" L"\x24a9" L"\0" L"\x24aa" L"\0" L"\x24ab"
-+  L"\0" L"\x24ac" L"\0" L"\x24ad" L"\0" L"\x24ae" L"\0" L"\x24af" L"\0"
-+  L"\x24b0" L"\0" L"\x24b1" L"\0" L"\x24b2" L"\0" L"\x24b3" L"\0" L"\x24b4"
-+  L"\0" L"\x24b5" L"\0" L"\x24b6" L"\0" L"\x24b7" L"\0" L"\x24b8" L"\0"
-+  L"\x24b9" L"\0" L"\x24ba" L"\0" L"\x24bb" L"\0" L"\x24bc" L"\0" L"\x24bd"
-+  L"\0" L"\x24be" L"\0" L"\x24bf" L"\0" L"\x24c0" L"\0" L"\x24c1" L"\0"
-+  L"\x24c2" L"\0" L"\x24c3" L"\0" L"\x24c4" L"\0" L"\x24c5" L"\0" L"\x24c6"
-+  L"\0" L"\x24c7" L"\0" L"\x24c8" L"\0" L"\x24c9" L"\0" L"\x24ca" L"\0"
-+  L"\x24cb" L"\0" L"\x24cc" L"\0" L"\x24cd" L"\0" L"\x24ce" L"\0" L"\x24cf"
-+  L"\0" L"\x24d0" L"\0" L"\x24d1" L"\0" L"\x24d2" L"\0" L"\x24d3" L"\0"
-+  L"\x24d4" L"\0" L"\x24d5" L"\0" L"\x24d6" L"\0" L"\x24d7" L"\0" L"\x24d8"
-+  L"\0" L"\x24d9" L"\0" L"\x24da" L"\0" L"\x24db" L"\0" L"\x24dc" L"\0"
-+  L"\x24dd" L"\0" L"\x24de" L"\0" L"\x24df" L"\0" L"\x24e0" L"\0" L"\x24e1"
-+  L"\0" L"\x24e2" L"\0" L"\x24e3" L"\0" L"\x24e4" L"\0" L"\x24e5" L"\0"
-+  L"\x24e6" L"\0" L"\x24e7" L"\0" L"\x24e8" L"\0" L"\x24e9" L"\0" L"\x24ea"
-+  L"\0" L"\x2500" L"\0" L"\x2502" L"\0" L"\x250c" L"\0" L"\x2510" L"\0"
-+  L"\x2514" L"\0" L"\x2518" L"\0" L"\x251c" L"\0" L"\x2524" L"\0" L"\x252c"
-+  L"\0" L"\x2534" L"\0" L"\x253c" L"\0" L"\x25e6" L"\0" L"\x2a74" L"\0"
-+  L"\x2a75" L"\0" L"\x2a76" L"\0" L"\x3000" L"\0" L"\x30a0" L"\0" L"\x3251"
-+  L"\0" L"\x3252" L"\0" L"\x3253" L"\0" L"\x3254" L"\0" L"\x3255" L"\0"
-+  L"\x3256" L"\0" L"\x3257" L"\0" L"\x3258" L"\0" L"\x3259" L"\0" L"\x325a"
-+  L"\0" L"\x325b" L"\0" L"\x325c" L"\0" L"\x325d" L"\0" L"\x325e" L"\0"
-+  L"\x325f" L"\0" L"\x32b1" L"\0" L"\x32b2" L"\0" L"\x32b3" L"\0" L"\x32b4"
-+  L"\0" L"\x32b5" L"\0" L"\x32b6" L"\0" L"\x32b7" L"\0" L"\x32b8" L"\0"
-+  L"\x32b9" L"\0" L"\x32ba" L"\0" L"\x32bb" L"\0" L"\x32bc" L"\0" L"\x32bd"
-+  L"\0" L"\x32be" L"\0" L"\x32bf" L"\0" L"\x3371" L"\0" L"\x3372" L"\0"
-+  L"\x3373" L"\0" L"\x3374" L"\0" L"\x3375" L"\0" L"\x3376" L"\0" L"\x3380"
-+  L"\0" L"\x3381" L"\0" L"\x3382" L"\0" L"\x3383" L"\0" L"\x3384" L"\0"
-+  L"\x3385" L"\0" L"\x3386" L"\0" L"\x3387" L"\0" L"\x3388" L"\0" L"\x3389"
-+  L"\0" L"\x338a" L"\0" L"\x338b" L"\0" L"\x338c" L"\0" L"\x338d" L"\0"
-+  L"\x338e" L"\0" L"\x338f" L"\0" L"\x3390" L"\0" L"\x3391" L"\0" L"\x3392"
-+  L"\0" L"\x3393" L"\0" L"\x3394" L"\0" L"\x3395" L"\0" L"\x3396" L"\0"
-+  L"\x3397" L"\0" L"\x3398" L"\0" L"\x3399" L"\0" L"\x339a" L"\0" L"\x339b"
-+  L"\0" L"\x339c" L"\0" L"\x339d" L"\0" L"\x339e" L"\0" L"\x339f" L"\0"
-+  L"\x33a0" L"\0" L"\x33a1" L"\0" L"\x33a2" L"\0" L"\x33a3" L"\0" L"\x33a4"
-+  L"\0" L"\x33a5" L"\0" L"\x33a6" L"\0" L"\x33a7" L"\0" L"\x33a8" L"\0"
-+  L"\x33a9" L"\0" L"\x33aa" L"\0" L"\x33ab" L"\0" L"\x33ac" L"\0" L"\x33ad"
-+  L"\0" L"\x33ae" L"\0" L"\x33af" L"\0" L"\x33b0" L"\0" L"\x33b1" L"\0"
-+  L"\x33b2" L"\0" L"\x33b3" L"\0" L"\x33b4" L"\0" L"\x33b5" L"\0" L"\x33b6"
-+  L"\0" L"\x33b7" L"\0" L"\x33b8" L"\0" L"\x33b9" L"\0" L"\x33ba" L"\0"
-+  L"\x33bb" L"\0" L"\x33bc" L"\0" L"\x33bd" L"\0" L"\x33be" L"\0" L"\x33bf"
-+  L"\0" L"\x33c2" L"\0" L"\x33c3" L"\0" L"\x33c4" L"\0" L"\x33c5" L"\0"
-+  L"\x33c6" L"\0" L"\x33c7" L"\0" L"\x33c8" L"\0" L"\x33c9" L"\0" L"\x33ca"
-+  L"\0" L"\x33cb" L"\0" L"\x33cc" L"\0" L"\x33cd" L"\0" L"\x33ce" L"\0"
-+  L"\x33cf" L"\0" L"\x33d0" L"\0" L"\x33d1" L"\0" L"\x33d2" L"\0" L"\x33d3"
-+  L"\0" L"\x33d4" L"\0" L"\x33d5" L"\0" L"\x33d6" L"\0" L"\x33d7" L"\0"
-+  L"\x33d8" L"\0" L"\x33d9" L"\0" L"\x33da" L"\0" L"\x33db" L"\0" L"\x33dc"
-+  L"\0" L"\x33dd" L"\0" L"\xfb00" L"\0" L"\xfb01" L"\0" L"\xfb02" L"\0"
-+  L"\xfb03" L"\0" L"\xfb04" L"\0" L"\xfb06" L"\0" L"\xfb29" L"\0" L"\xfe00"
-+  L"\0" L"\xfe01" L"\0" L"\xfe02" L"\0" L"\xfe03" L"\0" L"\xfe04" L"\0"
-+  L"\xfe05" L"\0" L"\xfe06" L"\0" L"\xfe07" L"\0" L"\xfe08" L"\0" L"\xfe09"
-+  L"\0" L"\xfe0a" L"\0" L"\xfe0b" L"\0" L"\xfe0c" L"\0" L"\xfe0d" L"\0"
-+  L"\xfe0e" L"\0" L"\xfe0f" L"\0" L"\xfe4d" L"\0" L"\xfe4e" L"\0" L"\xfe4f"
-+  L"\0" L"\xfe50" L"\0" L"\xfe52" L"\0" L"\xfe54" L"\0" L"\xfe55" L"\0"
-+  L"\xfe56" L"\0" L"\xfe57" L"\0" L"\xfe59" L"\0" L"\xfe5a" L"\0" L"\xfe5b"
-+  L"\0" L"\xfe5c" L"\0" L"\xfe5f" L"\0" L"\xfe60" L"\0" L"\xfe61" L"\0"
-+  L"\xfe62" L"\0" L"\xfe63" L"\0" L"\xfe64" L"\0" L"\xfe65" L"\0" L"\xfe66"
-+  L"\0" L"\xfe68" L"\0" L"\xfe69" L"\0" L"\xfe6a" L"\0" L"\xfe6b" L"\0"
-+  L"\xfeff" L"\0" L"\xff01" L"\0" L"\xff02" L"\0" L"\xff03" L"\0" L"\xff04"
-+  L"\0" L"\xff05" L"\0" L"\xff06" L"\0" L"\xff07" L"\0" L"\xff08" L"\0"
-+  L"\xff09" L"\0" L"\xff0a" L"\0" L"\xff0b" L"\0" L"\xff0c" L"\0" L"\xff0d"
-+  L"\0" L"\xff0e" L"\0" L"\xff0f" L"\0" L"\xff10" L"\0" L"\xff11" L"\0"
-+  L"\xff12" L"\0" L"\xff13" L"\0" L"\xff14" L"\0" L"\xff15" L"\0" L"\xff16"
-+  L"\0" L"\xff17" L"\0" L"\xff18" L"\0" L"\xff19" L"\0" L"\xff1a" L"\0"
-+  L"\xff1b" L"\0" L"\xff1c" L"\0" L"\xff1d" L"\0" L"\xff1e" L"\0" L"\xff1f"
-+  L"\0" L"\xff20" L"\0" L"\xff21" L"\0" L"\xff22" L"\0" L"\xff23" L"\0"
-+  L"\xff24" L"\0" L"\xff25" L"\0" L"\xff26" L"\0" L"\xff27" L"\0" L"\xff28"
-+  L"\0" L"\xff29" L"\0" L"\xff2a" L"\0" L"\xff2b" L"\0" L"\xff2c" L"\0"
-+  L"\xff2d" L"\0" L"\xff2e" L"\0" L"\xff2f" L"\0" L"\xff30" L"\0" L"\xff31"
-+  L"\0" L"\xff32" L"\0" L"\xff33" L"\0" L"\xff34" L"\0" L"\xff35" L"\0"
-+  L"\xff36" L"\0" L"\xff37" L"\0" L"\xff38" L"\0" L"\xff39" L"\0" L"\xff3a"
-+  L"\0" L"\xff3b" L"\0" L"\xff3c" L"\0" L"\xff3d" L"\0" L"\xff3e" L"\0"
-+  L"\xff3f" L"\0" L"\xff40" L"\0" L"\xff41" L"\0" L"\xff42" L"\0" L"\xff43"
-+  L"\0" L"\xff44" L"\0" L"\xff45" L"\0" L"\xff46" L"\0" L"\xff47" L"\0"
-+  L"\xff48" L"\0" L"\xff49" L"\0" L"\xff4a" L"\0" L"\xff4b" L"\0" L"\xff4c"
-+  L"\0" L"\xff4d" L"\0" L"\xff4e" L"\0" L"\xff4f" L"\0" L"\xff50" L"\0"
-+  L"\xff51" L"\0" L"\xff52" L"\0" L"\xff53" L"\0" L"\xff54" L"\0" L"\xff55"
-+  L"\0" L"\xff56" L"\0" L"\xff57" L"\0" L"\xff58" L"\0" L"\xff59" L"\0"
-+  L"\xff5a" L"\0" L"\xff5b" L"\0" L"\xff5c" L"\0" L"\xff5d" L"\0" L"\xff5e"
-+  L"\0" L"\x0001d400" L"\0" L"\x0001d401" L"\0" L"\x0001d402" L"\0"
-+  L"\x0001d403" L"\0" L"\x0001d404" L"\0" L"\x0001d405" L"\0" L"\x0001d406"
-+  L"\0" L"\x0001d407" L"\0" L"\x0001d408" L"\0" L"\x0001d409" L"\0"
-+  L"\x0001d40a" L"\0" L"\x0001d40b" L"\0" L"\x0001d40c" L"\0" L"\x0001d40d"
-+  L"\0" L"\x0001d40e" L"\0" L"\x0001d40f" L"\0" L"\x0001d410" L"\0"
-+  L"\x0001d411" L"\0" L"\x0001d412" L"\0" L"\x0001d413" L"\0" L"\x0001d414"
-+  L"\0" L"\x0001d415" L"\0" L"\x0001d416" L"\0" L"\x0001d417" L"\0"
-+  L"\x0001d418" L"\0" L"\x0001d419" L"\0" L"\x0001d41a" L"\0" L"\x0001d41b"
-+  L"\0" L"\x0001d41c" L"\0" L"\x0001d41d" L"\0" L"\x0001d41e" L"\0"
-+  L"\x0001d41f" L"\0" L"\x0001d420" L"\0" L"\x0001d421" L"\0" L"\x0001d422"
-+  L"\0" L"\x0001d423" L"\0" L"\x0001d424" L"\0" L"\x0001d425" L"\0"
-+  L"\x0001d426" L"\0" L"\x0001d427" L"\0" L"\x0001d428" L"\0" L"\x0001d429"
-+  L"\0" L"\x0001d42a" L"\0" L"\x0001d42b" L"\0" L"\x0001d42c" L"\0"
-+  L"\x0001d42d" L"\0" L"\x0001d42e" L"\0" L"\x0001d42f" L"\0" L"\x0001d430"
-+  L"\0" L"\x0001d431" L"\0" L"\x0001d432" L"\0" L"\x0001d433" L"\0"
-+  L"\x0001d434" L"\0" L"\x0001d435" L"\0" L"\x0001d436" L"\0" L"\x0001d437"
-+  L"\0" L"\x0001d438" L"\0" L"\x0001d439" L"\0" L"\x0001d43a" L"\0"
-+  L"\x0001d43b" L"\0" L"\x0001d43c" L"\0" L"\x0001d43d" L"\0" L"\x0001d43e"
-+  L"\0" L"\x0001d43f" L"\0" L"\x0001d440" L"\0" L"\x0001d441" L"\0"
-+  L"\x0001d442" L"\0" L"\x0001d443" L"\0" L"\x0001d444" L"\0" L"\x0001d445"
-+  L"\0" L"\x0001d446" L"\0" L"\x0001d447" L"\0" L"\x0001d448" L"\0"
-+  L"\x0001d449" L"\0" L"\x0001d44a" L"\0" L"\x0001d44b" L"\0" L"\x0001d44c"
-+  L"\0" L"\x0001d44d" L"\0" L"\x0001d44e" L"\0" L"\x0001d44f" L"\0"
-+  L"\x0001d450" L"\0" L"\x0001d451" L"\0" L"\x0001d452" L"\0" L"\x0001d453"
-+  L"\0" L"\x0001d454" L"\0" L"\x0001d456" L"\0" L"\x0001d457" L"\0"
-+  L"\x0001d458" L"\0" L"\x0001d459" L"\0" L"\x0001d45a" L"\0" L"\x0001d45b"
-+  L"\0" L"\x0001d45c" L"\0" L"\x0001d45d" L"\0" L"\x0001d45e" L"\0"
-+  L"\x0001d45f" L"\0" L"\x0001d460" L"\0" L"\x0001d461" L"\0" L"\x0001d462"
-+  L"\0" L"\x0001d463" L"\0" L"\x0001d464" L"\0" L"\x0001d465" L"\0"
-+  L"\x0001d466" L"\0" L"\x0001d467" L"\0" L"\x0001d468" L"\0" L"\x0001d469"
-+  L"\0" L"\x0001d46a" L"\0" L"\x0001d46b" L"\0" L"\x0001d46c" L"\0"
-+  L"\x0001d46d" L"\0" L"\x0001d46e" L"\0" L"\x0001d46f" L"\0" L"\x0001d470"
-+  L"\0" L"\x0001d471" L"\0" L"\x0001d472" L"\0" L"\x0001d473" L"\0"
-+  L"\x0001d474" L"\0" L"\x0001d475" L"\0" L"\x0001d476" L"\0" L"\x0001d477"
-+  L"\0" L"\x0001d478" L"\0" L"\x0001d479" L"\0" L"\x0001d47a" L"\0"
-+  L"\x0001d47b" L"\0" L"\x0001d47c" L"\0" L"\x0001d47d" L"\0" L"\x0001d47e"
-+  L"\0" L"\x0001d47f" L"\0" L"\x0001d480" L"\0" L"\x0001d481" L"\0"
-+  L"\x0001d482" L"\0" L"\x0001d483" L"\0" L"\x0001d484" L"\0" L"\x0001d485"
-+  L"\0" L"\x0001d486" L"\0" L"\x0001d487" L"\0" L"\x0001d488" L"\0"
-+  L"\x0001d489" L"\0" L"\x0001d48a" L"\0" L"\x0001d48b" L"\0" L"\x0001d48c"
-+  L"\0" L"\x0001d48d" L"\0" L"\x0001d48e" L"\0" L"\x0001d48f" L"\0"
-+  L"\x0001d490" L"\0" L"\x0001d491" L"\0" L"\x0001d492" L"\0" L"\x0001d493"
-+  L"\0" L"\x0001d494" L"\0" L"\x0001d495" L"\0" L"\x0001d496" L"\0"
-+  L"\x0001d497" L"\0" L"\x0001d498" L"\0" L"\x0001d499" L"\0" L"\x0001d49a"
-+  L"\0" L"\x0001d49b" L"\0" L"\x0001d49c" L"\0" L"\x0001d49e" L"\0"
-+  L"\x0001d49f" L"\0" L"\x0001d4a2" L"\0" L"\x0001d4a5" L"\0" L"\x0001d4a6"
-+  L"\0" L"\x0001d4a9" L"\0" L"\x0001d4aa" L"\0" L"\x0001d4ab" L"\0"
-+  L"\x0001d4ac" L"\0" L"\x0001d4ae" L"\0" L"\x0001d4af" L"\0" L"\x0001d4b0"
-+  L"\0" L"\x0001d4b1" L"\0" L"\x0001d4b2" L"\0" L"\x0001d4b3" L"\0"
-+  L"\x0001d4b4" L"\0" L"\x0001d4b5" L"\0" L"\x0001d4b6" L"\0" L"\x0001d4b7"
-+  L"\0" L"\x0001d4b8" L"\0" L"\x0001d4b9" L"\0" L"\x0001d4bb" L"\0"
-+  L"\x0001d4bd" L"\0" L"\x0001d4be" L"\0" L"\x0001d4bf" L"\0" L"\x0001d4c0"
-+  L"\0" L"\x0001d4c2" L"\0" L"\x0001d4c3" L"\0" L"\x0001d4c5" L"\0"
-+  L"\x0001d4c6" L"\0" L"\x0001d4c7" L"\0" L"\x0001d4c8" L"\0" L"\x0001d4c9"
-+  L"\0" L"\x0001d4ca" L"\0" L"\x0001d4cb" L"\0" L"\x0001d4cc" L"\0"
-+  L"\x0001d4cd" L"\0" L"\x0001d4ce" L"\0" L"\x0001d4cf" L"\0" L"\x0001d4d0"
-+  L"\0" L"\x0001d4d1" L"\0" L"\x0001d4d2" L"\0" L"\x0001d4d3" L"\0"
-+  L"\x0001d4d4" L"\0" L"\x0001d4d5" L"\0" L"\x0001d4d6" L"\0" L"\x0001d4d7"
-+  L"\0" L"\x0001d4d8" L"\0" L"\x0001d4d9" L"\0" L"\x0001d4da" L"\0"
-+  L"\x0001d4db" L"\0" L"\x0001d4dc" L"\0" L"\x0001d4dd" L"\0" L"\x0001d4de"
-+  L"\0" L"\x0001d4df" L"\0" L"\x0001d4e0" L"\0" L"\x0001d4e1" L"\0"
-+  L"\x0001d4e2" L"\0" L"\x0001d4e3" L"\0" L"\x0001d4e4" L"\0" L"\x0001d4e5"
-+  L"\0" L"\x0001d4e6" L"\0" L"\x0001d4e7" L"\0" L"\x0001d4e8" L"\0"
-+  L"\x0001d4e9" L"\0" L"\x0001d4ea" L"\0" L"\x0001d4eb" L"\0" L"\x0001d4ec"
-+  L"\0" L"\x0001d4ed" L"\0" L"\x0001d4ee" L"\0" L"\x0001d4ef" L"\0"
-+  L"\x0001d4f0" L"\0" L"\x0001d4f1" L"\0" L"\x0001d4f2" L"\0" L"\x0001d4f3"
-+  L"\0" L"\x0001d4f4" L"\0" L"\x0001d4f5" L"\0" L"\x0001d4f6" L"\0"
-+  L"\x0001d4f7" L"\0" L"\x0001d4f8" L"\0" L"\x0001d4f9" L"\0" L"\x0001d4fa"
-+  L"\0" L"\x0001d4fb" L"\0" L"\x0001d4fc" L"\0" L"\x0001d4fd" L"\0"
-+  L"\x0001d4fe" L"\0" L"\x0001d4ff" L"\0" L"\x0001d500" L"\0" L"\x0001d501"
-+  L"\0" L"\x0001d502" L"\0" L"\x0001d503" L"\0" L"\x0001d504" L"\0"
-+  L"\x0001d505" L"\0" L"\x0001d507" L"\0" L"\x0001d508" L"\0" L"\x0001d509"
-+  L"\0" L"\x0001d50a" L"\0" L"\x0001d50d" L"\0" L"\x0001d50e" L"\0"
-+  L"\x0001d50f" L"\0" L"\x0001d510" L"\0" L"\x0001d511" L"\0" L"\x0001d512"
-+  L"\0" L"\x0001d513" L"\0" L"\x0001d514" L"\0" L"\x0001d516" L"\0"
-+  L"\x0001d517" L"\0" L"\x0001d518" L"\0" L"\x0001d519" L"\0" L"\x0001d51a"
-+  L"\0" L"\x0001d51b" L"\0" L"\x0001d51c" L"\0" L"\x0001d51e" L"\0"
-+  L"\x0001d51f" L"\0" L"\x0001d520" L"\0" L"\x0001d521" L"\0" L"\x0001d522"
-+  L"\0" L"\x0001d523" L"\0" L"\x0001d524" L"\0" L"\x0001d525" L"\0"
-+  L"\x0001d526" L"\0" L"\x0001d527" L"\0" L"\x0001d528" L"\0" L"\x0001d529"
-+  L"\0" L"\x0001d52a" L"\0" L"\x0001d52b" L"\0" L"\x0001d52c" L"\0"
-+  L"\x0001d52d" L"\0" L"\x0001d52e" L"\0" L"\x0001d52f" L"\0" L"\x0001d530"
-+  L"\0" L"\x0001d531" L"\0" L"\x0001d532" L"\0" L"\x0001d533" L"\0"
-+  L"\x0001d534" L"\0" L"\x0001d535" L"\0" L"\x0001d536" L"\0" L"\x0001d537"
-+  L"\0" L"\x0001d538" L"\0" L"\x0001d539" L"\0" L"\x0001d53b" L"\0"
-+  L"\x0001d53c" L"\0" L"\x0001d53d" L"\0" L"\x0001d53e" L"\0" L"\x0001d540"
-+  L"\0" L"\x0001d541" L"\0" L"\x0001d542" L"\0" L"\x0001d543" L"\0"
-+  L"\x0001d544" L"\0" L"\x0001d546" L"\0" L"\x0001d54a" L"\0" L"\x0001d54b"
-+  L"\0" L"\x0001d54c" L"\0" L"\x0001d54d" L"\0" L"\x0001d54e" L"\0"
-+  L"\x0001d54f" L"\0" L"\x0001d550" L"\0" L"\x0001d552" L"\0" L"\x0001d553"
-+  L"\0" L"\x0001d554" L"\0" L"\x0001d555" L"\0" L"\x0001d556" L"\0"
-+  L"\x0001d557" L"\0" L"\x0001d558" L"\0" L"\x0001d559" L"\0" L"\x0001d55a"
-+  L"\0" L"\x0001d55b" L"\0" L"\x0001d55c" L"\0" L"\x0001d55d" L"\0"
-+  L"\x0001d55e" L"\0" L"\x0001d55f" L"\0" L"\x0001d560" L"\0" L"\x0001d561"
-+  L"\0" L"\x0001d562" L"\0" L"\x0001d563" L"\0" L"\x0001d564" L"\0"
-+  L"\x0001d565" L"\0" L"\x0001d566" L"\0" L"\x0001d567" L"\0" L"\x0001d568"
-+  L"\0" L"\x0001d569" L"\0" L"\x0001d56a" L"\0" L"\x0001d56b" L"\0"
-+  L"\x0001d56c" L"\0" L"\x0001d56d" L"\0" L"\x0001d56e" L"\0" L"\x0001d56f"
-+  L"\0" L"\x0001d570" L"\0" L"\x0001d571" L"\0" L"\x0001d572" L"\0"
-+  L"\x0001d573" L"\0" L"\x0001d574" L"\0" L"\x0001d575" L"\0" L"\x0001d576"
-+  L"\0" L"\x0001d577" L"\0" L"\x0001d578" L"\0" L"\x0001d579" L"\0"
-+  L"\x0001d57a" L"\0" L"\x0001d57b" L"\0" L"\x0001d57c" L"\0" L"\x0001d57d"
-+  L"\0" L"\x0001d57e" L"\0" L"\x0001d57f" L"\0" L"\x0001d580" L"\0"
-+  L"\x0001d581" L"\0" L"\x0001d582" L"\0" L"\x0001d583" L"\0" L"\x0001d584"
-+  L"\0" L"\x0001d585" L"\0" L"\x0001d586" L"\0" L"\x0001d587" L"\0"
-+  L"\x0001d588" L"\0" L"\x0001d589" L"\0" L"\x0001d58a" L"\0" L"\x0001d58b"
-+  L"\0" L"\x0001d58c" L"\0" L"\x0001d58d" L"\0" L"\x0001d58e" L"\0"
-+  L"\x0001d58f" L"\0" L"\x0001d590" L"\0" L"\x0001d591" L"\0" L"\x0001d592"
-+  L"\0" L"\x0001d593" L"\0" L"\x0001d594" L"\0" L"\x0001d595" L"\0"
-+  L"\x0001d596" L"\0" L"\x0001d597" L"\0" L"\x0001d598" L"\0" L"\x0001d599"
-+  L"\0" L"\x0001d59a" L"\0" L"\x0001d59b" L"\0" L"\x0001d59c" L"\0"
-+  L"\x0001d59d" L"\0" L"\x0001d59e" L"\0" L"\x0001d59f" L"\0" L"\x0001d5a0"
-+  L"\0" L"\x0001d5a1" L"\0" L"\x0001d5a2" L"\0" L"\x0001d5a3" L"\0"
-+  L"\x0001d5a4" L"\0" L"\x0001d5a5" L"\0" L"\x0001d5a6" L"\0" L"\x0001d5a7"
-+  L"\0" L"\x0001d5a8" L"\0" L"\x0001d5a9" L"\0" L"\x0001d5aa" L"\0"
-+  L"\x0001d5ab" L"\0" L"\x0001d5ac" L"\0" L"\x0001d5ad" L"\0" L"\x0001d5ae"
-+  L"\0" L"\x0001d5af" L"\0" L"\x0001d5b0" L"\0" L"\x0001d5b1" L"\0"
-+  L"\x0001d5b2" L"\0" L"\x0001d5b3" L"\0" L"\x0001d5b4" L"\0" L"\x0001d5b5"
-+  L"\0" L"\x0001d5b6" L"\0" L"\x0001d5b7" L"\0" L"\x0001d5b8" L"\0"
-+  L"\x0001d5b9" L"\0" L"\x0001d5ba" L"\0" L"\x0001d5bb" L"\0" L"\x0001d5bc"
-+  L"\0" L"\x0001d5bd" L"\0" L"\x0001d5be" L"\0" L"\x0001d5bf" L"\0"
-+  L"\x0001d5c0" L"\0" L"\x0001d5c1" L"\0" L"\x0001d5c2" L"\0" L"\x0001d5c3"
-+  L"\0" L"\x0001d5c4" L"\0" L"\x0001d5c5" L"\0" L"\x0001d5c6" L"\0"
-+  L"\x0001d5c7" L"\0" L"\x0001d5c8" L"\0" L"\x0001d5c9" L"\0" L"\x0001d5ca"
-+  L"\0" L"\x0001d5cb" L"\0" L"\x0001d5cc" L"\0" L"\x0001d5cd" L"\0"
-+  L"\x0001d5ce" L"\0" L"\x0001d5cf" L"\0" L"\x0001d5d0" L"\0" L"\x0001d5d1"
-+  L"\0" L"\x0001d5d2" L"\0" L"\x0001d5d3" L"\0" L"\x0001d5d4" L"\0"
-+  L"\x0001d5d5" L"\0" L"\x0001d5d6" L"\0" L"\x0001d5d7" L"\0" L"\x0001d5d8"
-+  L"\0" L"\x0001d5d9" L"\0" L"\x0001d5da" L"\0" L"\x0001d5db" L"\0"
-+  L"\x0001d5dc" L"\0" L"\x0001d5dd" L"\0" L"\x0001d5de" L"\0" L"\x0001d5df"
-+  L"\0" L"\x0001d5e0" L"\0" L"\x0001d5e1" L"\0" L"\x0001d5e2" L"\0"
-+  L"\x0001d5e3" L"\0" L"\x0001d5e4" L"\0" L"\x0001d5e5" L"\0" L"\x0001d5e6"
-+  L"\0" L"\x0001d5e7" L"\0" L"\x0001d5e8" L"\0" L"\x0001d5e9" L"\0"
-+  L"\x0001d5ea" L"\0" L"\x0001d5eb" L"\0" L"\x0001d5ec" L"\0" L"\x0001d5ed"
-+  L"\0" L"\x0001d5ee" L"\0" L"\x0001d5ef" L"\0" L"\x0001d5f0" L"\0"
-+  L"\x0001d5f1" L"\0" L"\x0001d5f2" L"\0" L"\x0001d5f3" L"\0" L"\x0001d5f4"
-+  L"\0" L"\x0001d5f5" L"\0" L"\x0001d5f6" L"\0" L"\x0001d5f7" L"\0"
-+  L"\x0001d5f8" L"\0" L"\x0001d5f9" L"\0" L"\x0001d5fa" L"\0" L"\x0001d5fb"
-+  L"\0" L"\x0001d5fc" L"\0" L"\x0001d5fd" L"\0" L"\x0001d5fe" L"\0"
-+  L"\x0001d5ff" L"\0" L"\x0001d600" L"\0" L"\x0001d601" L"\0" L"\x0001d602"
-+  L"\0" L"\x0001d603" L"\0" L"\x0001d604" L"\0" L"\x0001d605" L"\0"
-+  L"\x0001d606" L"\0" L"\x0001d607" L"\0" L"\x0001d608" L"\0" L"\x0001d609"
-+  L"\0" L"\x0001d60a" L"\0" L"\x0001d60b" L"\0" L"\x0001d60c" L"\0"
-+  L"\x0001d60d" L"\0" L"\x0001d60e" L"\0" L"\x0001d60f" L"\0" L"\x0001d610"
-+  L"\0" L"\x0001d611" L"\0" L"\x0001d612" L"\0" L"\x0001d613" L"\0"
-+  L"\x0001d614" L"\0" L"\x0001d615" L"\0" L"\x0001d616" L"\0" L"\x0001d617"
-+  L"\0" L"\x0001d618" L"\0" L"\x0001d619" L"\0" L"\x0001d61a" L"\0"
-+  L"\x0001d61b" L"\0" L"\x0001d61c" L"\0" L"\x0001d61d" L"\0" L"\x0001d61e"
-+  L"\0" L"\x0001d61f" L"\0" L"\x0001d620" L"\0" L"\x0001d621" L"\0"
-+  L"\x0001d622" L"\0" L"\x0001d623" L"\0" L"\x0001d624" L"\0" L"\x0001d625"
-+  L"\0" L"\x0001d626" L"\0" L"\x0001d627" L"\0" L"\x0001d628" L"\0"
-+  L"\x0001d629" L"\0" L"\x0001d62a" L"\0" L"\x0001d62b" L"\0" L"\x0001d62c"
-+  L"\0" L"\x0001d62d" L"\0" L"\x0001d62e" L"\0" L"\x0001d62f" L"\0"
-+  L"\x0001d630" L"\0" L"\x0001d631" L"\0" L"\x0001d632" L"\0" L"\x0001d633"
-+  L"\0" L"\x0001d634" L"\0" L"\x0001d635" L"\0" L"\x0001d636" L"\0"
-+  L"\x0001d637" L"\0" L"\x0001d638" L"\0" L"\x0001d639" L"\0" L"\x0001d63a"
-+  L"\0" L"\x0001d63b" L"\0" L"\x0001d63c" L"\0" L"\x0001d63d" L"\0"
-+  L"\x0001d63e" L"\0" L"\x0001d63f" L"\0" L"\x0001d640" L"\0" L"\x0001d641"
-+  L"\0" L"\x0001d642" L"\0" L"\x0001d643" L"\0" L"\x0001d644" L"\0"
-+  L"\x0001d645" L"\0" L"\x0001d646" L"\0" L"\x0001d647" L"\0" L"\x0001d648"
-+  L"\0" L"\x0001d649" L"\0" L"\x0001d64a" L"\0" L"\x0001d64b" L"\0"
-+  L"\x0001d64c" L"\0" L"\x0001d64d" L"\0" L"\x0001d64e" L"\0" L"\x0001d64f"
-+  L"\0" L"\x0001d650" L"\0" L"\x0001d651" L"\0" L"\x0001d652" L"\0"
-+  L"\x0001d653" L"\0" L"\x0001d654" L"\0" L"\x0001d655" L"\0" L"\x0001d656"
-+  L"\0" L"\x0001d657" L"\0" L"\x0001d658" L"\0" L"\x0001d659" L"\0"
-+  L"\x0001d65a" L"\0" L"\x0001d65b" L"\0" L"\x0001d65c" L"\0" L"\x0001d65d"
-+  L"\0" L"\x0001d65e" L"\0" L"\x0001d65f" L"\0" L"\x0001d660" L"\0"
-+  L"\x0001d661" L"\0" L"\x0001d662" L"\0" L"\x0001d663" L"\0" L"\x0001d664"
-+  L"\0" L"\x0001d665" L"\0" L"\x0001d666" L"\0" L"\x0001d667" L"\0"
-+  L"\x0001d668" L"\0" L"\x0001d669" L"\0" L"\x0001d66a" L"\0" L"\x0001d66b"
-+  L"\0" L"\x0001d66c" L"\0" L"\x0001d66d" L"\0" L"\x0001d66e" L"\0"
-+  L"\x0001d66f" L"\0" L"\x0001d670" L"\0" L"\x0001d671" L"\0" L"\x0001d672"
-+  L"\0" L"\x0001d673" L"\0" L"\x0001d674" L"\0" L"\x0001d675" L"\0"
-+  L"\x0001d676" L"\0" L"\x0001d677" L"\0" L"\x0001d678" L"\0" L"\x0001d679"
-+  L"\0" L"\x0001d67a" L"\0" L"\x0001d67b" L"\0" L"\x0001d67c" L"\0"
-+  L"\x0001d67d" L"\0" L"\x0001d67e" L"\0" L"\x0001d67f" L"\0" L"\x0001d680"
-+  L"\0" L"\x0001d681" L"\0" L"\x0001d682" L"\0" L"\x0001d683" L"\0"
-+  L"\x0001d684" L"\0" L"\x0001d685" L"\0" L"\x0001d686" L"\0" L"\x0001d687"
-+  L"\0" L"\x0001d688" L"\0" L"\x0001d689" L"\0" L"\x0001d68a" L"\0"
-+  L"\x0001d68b" L"\0" L"\x0001d68c" L"\0" L"\x0001d68d" L"\0" L"\x0001d68e"
-+  L"\0" L"\x0001d68f" L"\0" L"\x0001d690" L"\0" L"\x0001d691" L"\0"
-+  L"\x0001d692" L"\0" L"\x0001d693" L"\0" L"\x0001d694" L"\0" L"\x0001d695"
-+  L"\0" L"\x0001d696" L"\0" L"\x0001d697" L"\0" L"\x0001d698" L"\0"
-+  L"\x0001d699" L"\0" L"\x0001d69a" L"\0" L"\x0001d69b" L"\0" L"\x0001d69c"
-+  L"\0" L"\x0001d69d" L"\0" L"\x0001d69e" L"\0" L"\x0001d69f" L"\0"
-+  L"\x0001d6a0" L"\0" L"\x0001d6a1" L"\0" L"\x0001d6a2" L"\0" L"\x0001d6a3"
-+  L"\0" L"\x0001d7ce" L"\0" L"\x0001d7cf" L"\0" L"\x0001d7d0" L"\0"
-+  L"\x0001d7d1" L"\0" L"\x0001d7d2" L"\0" L"\x0001d7d3" L"\0" L"\x0001d7d4"
-+  L"\0" L"\x0001d7d5" L"\0" L"\x0001d7d6" L"\0" L"\x0001d7d7" L"\0"
-+  L"\x0001d7d8" L"\0" L"\x0001d7d9" L"\0" L"\x0001d7da" L"\0" L"\x0001d7db"
-+  L"\0" L"\x0001d7dc" L"\0" L"\x0001d7dd" L"\0" L"\x0001d7de" L"\0"
-+  L"\x0001d7df" L"\0" L"\x0001d7e0" L"\0" L"\x0001d7e1" L"\0" L"\x0001d7e2"
-+  L"\0" L"\x0001d7e3" L"\0" L"\x0001d7e4" L"\0" L"\x0001d7e5" L"\0"
-+  L"\x0001d7e6" L"\0" L"\x0001d7e7" L"\0" L"\x0001d7e8" L"\0" L"\x0001d7e9"
-+  L"\0" L"\x0001d7ea" L"\0" L"\x0001d7eb" L"\0" L"\x0001d7ec" L"\0"
-+  L"\x0001d7ed" L"\0" L"\x0001d7ee" L"\0" L"\x0001d7ef" L"\0" L"\x0001d7f0"
-+  L"\0" L"\x0001d7f1" L"\0" L"\x0001d7f2" L"\0" L"\x0001d7f3" L"\0"
-+  L"\x0001d7f4" L"\0" L"\x0001d7f5" L"\0" L"\x0001d7f6" L"\0" L"\x0001d7f7"
-+  L"\0" L"\x0001d7f8" L"\0" L"\x0001d7f9" L"\0" L"\x0001d7fa" L"\0"
-+  L"\x0001d7fb" L"\0" L"\x0001d7fc" L"\0" L"\x0001d7fd" L"\0" L"\x0001d7fe"
-+  L"\0" L"\x0001d7ff";
- static const uint32_t translit_to_idx[] =
- {
-      0,    3,    8,   12,   15,   20,   23,   26,   30,   37,   44,   51,
-@@ -471,22 +471,22 @@ static const uint32_t translit_to_idx[] 
-    180,  183,  186,  189,  192,  196,  199,  202,  205,  208,  211,  214,
-    217,  221,  224,  227,  230,  233,  237,  242,  245,  248,  252,  257,
-    260,  263,  267,  270,  274,  278,  282,  285,  287,  289,  291,  293,
--   297,  302,  307,  312,  315,  320,  325,  328,  331,  334,  337,  340,
--   343,  346,  349,  352,  355,  359,  362,  365,  368,  371,  374,  379,
--   385,  388,  393,  396,  399,  402,  405,  408,  411,  414,  417,  420,
--   423,  426,  429,  432,  435,  438,  445,  452,  459,  466,  473,  480,
--   487,  494,  501,  508,  515,  522,  527,  530,  534,  539,  543,  546,
--   550,  555,  561,  565,  568,  572,  577,  580,  583,  586,  589,  592,
--   596,  601,  605,  608,  612,  617,  623,  627,  630,  634,  639,  642,
--   645,  648,  651,  655,  659,  664,  668,  672,  677,  680,  683,  686,
--   689,  692,  695,  698,  702,  706,  710,  714,  719,  724,  729,  734,
--   739,  744,  749,  754,  759,  764,  768,  772,  776,  780,  784,  788,
--   792,  796,  801,  806,  811,  816,  821,  826,  831,  836,  841,  845,
--   850,  855,  859,  863,  867,  871,  875,  880,  883,  887,  892,  897,
--   902,  907,  912,  917,  922,  927,  932,  938,  944,  950,  956,  962,
--   968,  974,  980,  986,  992,  998, 1003, 1008, 1013, 1018, 1023, 1028,
--  1033, 1038, 1043, 1049, 1055, 1061, 1067, 1073, 1079, 1085, 1091, 1097,
--  1103, 1109, 1113, 1117, 1121, 1125, 1129, 1133, 1137, 1141, 1145, 1150,
-+   297,  302,  307,  312,  317,  320,  325,  330,  333,  336,  339,  342,
-+   345,  348,  351,  354,  357,  360,  364,  367,  370,  373,  376,  379,
-+   384,  390,  393,  398,  401,  404,  407,  410,  413,  416,  419,  422,
-+   425,  428,  431,  434,  437,  440,  443,  450,  457,  464,  471,  478,
-+   485,  492,  499,  506,  513,  520,  527,  532,  535,  539,  544,  548,
-+   551,  555,  560,  566,  570,  573,  577,  582,  585,  588,  591,  594,
-+   597,  601,  606,  610,  613,  617,  622,  628,  632,  635,  639,  644,
-+   647,  650,  653,  656,  660,  664,  669,  673,  677,  682,  685,  688,
-+   691,  694,  697,  700,  703,  707,  711,  715,  719,  724,  729,  734,
-+   739,  744,  749,  754,  759,  764,  769,  773,  777,  781,  785,  789,
-+   793,  797,  801,  806,  811,  816,  821,  826,  831,  836,  841,  846,
-+   850,  855,  860,  864,  868,  872,  876,  880,  885,  888,  892,  897,
-+   902,  907,  912,  917,  922,  927,  932,  937,  943,  949,  955,  961,
-+   967,  973,  979,  985,  991,  997, 1003, 1008, 1013, 1018, 1023, 1028,
-+  1033, 1038, 1043, 1048, 1054, 1060, 1066, 1072, 1078, 1084, 1090, 1096,
-+  1102, 1108, 1114, 1118, 1122, 1126, 1130, 1134, 1138, 1142, 1146, 1150,
-   1155, 1160, 1165, 1170, 1175, 1180, 1185, 1190, 1195, 1200, 1205, 1210,
-   1215, 1220, 1225, 1230, 1235, 1240, 1245, 1250, 1255, 1260, 1265, 1270,
-   1275, 1280, 1285, 1290, 1295, 1300, 1305, 1310, 1315, 1320, 1325, 1330,
-@@ -494,89 +494,89 @@ static const uint32_t translit_to_idx[] 
-   1395, 1400, 1405, 1410, 1415, 1420, 1425, 1430, 1435, 1440, 1445, 1450,
-   1455, 1460, 1465, 1470, 1475, 1480, 1485, 1490, 1495, 1500, 1505, 1510,
-   1515, 1520, 1525, 1530, 1535, 1540, 1545, 1550, 1555, 1560, 1565, 1570,
--  1575, 1580, 1585, 1590, 1595, 1598, 1601, 1604, 1607, 1610, 1613, 1616,
--  1619, 1622, 1625, 1628, 1631, 1636, 1640, 1645, 1648, 1651, 1657, 1663,
--  1669, 1675, 1681, 1687, 1693, 1699, 1705, 1711, 1717, 1723, 1729, 1735,
--  1741, 1747, 1753, 1759, 1765, 1771, 1777, 1783, 1789, 1795, 1801, 1807,
--  1813, 1819, 1825, 1831, 1836, 1840, 1844, 1849, 1853, 1857, 1861, 1865,
--  1869, 1873, 1877, 1881, 1885, 1889, 1894, 1900, 1904, 1908, 1912, 1916,
--  1920, 1924, 1928, 1933, 1938, 1943, 1948, 1952, 1956, 1960, 1964, 1968,
--  1972, 1976, 1980, 1984, 1988, 1994, 2000, 2005, 2011, 2017, 2023, 2028,
--  2034, 2039, 2046, 2050, 2055, 2060, 2065, 2070, 2077, 2086, 2090, 2094,
--  2098, 2102, 2106, 2110, 2114, 2118, 2122, 2126, 2130, 2134, 2138, 2142,
--  2146, 2150, 2156, 2160, 2164, 2168, 2174, 2179, 2183, 2187, 2191, 2195,
--  2199, 2203, 2207, 2211, 2215, 2219, 2224, 2228, 2232, 2237, 2242, 2246,
--  2252, 2257, 2261, 2265, 2269, 2273, 2277, 2281, 2285, 2290, 2295, 2299,
--  2302, 2304, 2306, 2308, 2310, 2312, 2314, 2316, 2318, 2320, 2322, 2324,
--  2326, 2328, 2330, 2332, 2334, 2337, 2340, 2343, 2346, 2349, 2352, 2355,
--  2358, 2361, 2364, 2367, 2370, 2373, 2376, 2379, 2382, 2385, 2388, 2391,
--  2394, 2397, 2400, 2403, 2406, 2409, 2411, 2414, 2417, 2420, 2423, 2426,
--  2429, 2432, 2435, 2438, 2441, 2444, 2447, 2450, 2453, 2456, 2459, 2462,
--  2465, 2468, 2471, 2474, 2477, 2480, 2483, 2486, 2489, 2492, 2495, 2498,
--  2501, 2504, 2507, 2510, 2513, 2516, 2519, 2522, 2525, 2528, 2531, 2534,
--  2537, 2540, 2543, 2546, 2549, 2552, 2555, 2558, 2561, 2564, 2567, 2570,
--  2573, 2576, 2579, 2582, 2585, 2588, 2591, 2594, 2597, 2600, 2603, 2606,
--  2609, 2612, 2615, 2618, 2621, 2624, 2627, 2630, 2633, 2636, 2639, 2642,
--  2645, 2648, 2651, 2654, 2657, 2660, 2663, 2666, 2669, 2672, 2675, 2678,
--  2681, 2684, 2687, 2690, 2693, 2696, 2699, 2702, 2705, 2708, 2711, 2714,
--  2717, 2720, 2723, 2726, 2729, 2732, 2735, 2738, 2741, 2744, 2747, 2750,
--  2753, 2756, 2759, 2762, 2765, 2768, 2771, 2774, 2777, 2780, 2783, 2786,
--  2789, 2792, 2795, 2798, 2801, 2804, 2807, 2810, 2813, 2816, 2819, 2822,
--  2825, 2828, 2831, 2834, 2837, 2840, 2843, 2846, 2849, 2852, 2855, 2858,
--  2861, 2864, 2867, 2870, 2873, 2876, 2879, 2882, 2885, 2888, 2891, 2894,
--  2897, 2900, 2903, 2906, 2909, 2912, 2915, 2918, 2921, 2924, 2927, 2930,
--  2933, 2936, 2939, 2942, 2945, 2948, 2951, 2954, 2957, 2960, 2963, 2966,
--  2969, 2972, 2975, 2978, 2981, 2984, 2987, 2990, 2993, 2996, 2999, 3002,
--  3005, 3008, 3011, 3014, 3017, 3020, 3023, 3026, 3029, 3032, 3035, 3038,
--  3041, 3044, 3047, 3050, 3053, 3056, 3059, 3062, 3065, 3068, 3071, 3074,
--  3077, 3080, 3083, 3086, 3089, 3092, 3095, 3098, 3101, 3104, 3107, 3110,
--  3113, 3116, 3119, 3122, 3125, 3128, 3131, 3134, 3137, 3140, 3143, 3146,
--  3149, 3152, 3155, 3158, 3161, 3164, 3167, 3170, 3173, 3176, 3179, 3182,
--  3185, 3188, 3191, 3194, 3197, 3200, 3203, 3206, 3209, 3212, 3215, 3218,
--  3221, 3224, 3227, 3230, 3233, 3236, 3239, 3242, 3245, 3248, 3251, 3254,
--  3257, 3260, 3263, 3266, 3269, 3272, 3275, 3278, 3281, 3284, 3287, 3290,
--  3293, 3296, 3299, 3302, 3305, 3308, 3311, 3314, 3317, 3320, 3323, 3326,
--  3329, 3332, 3335, 3338, 3341, 3344, 3347, 3350, 3353, 3356, 3359, 3362,
--  3365, 3368, 3371, 3374, 3377, 3380, 3383, 3386, 3389, 3392, 3395, 3398,
--  3401, 3404, 3407, 3410, 3413, 3416, 3419, 3422, 3425, 3428, 3431, 3434,
--  3437, 3440, 3443, 3446, 3449, 3452, 3455, 3458, 3461, 3464, 3467, 3470,
--  3473, 3476, 3479, 3482, 3485, 3488, 3491, 3494, 3497, 3500, 3503, 3506,
--  3509, 3512, 3515, 3518, 3521, 3524, 3527, 3530, 3533, 3536, 3539, 3542,
--  3545, 3548, 3551, 3554, 3557, 3560, 3563, 3566, 3569, 3572, 3575, 3578,
--  3581, 3584, 3587, 3590, 3593, 3596, 3599, 3602, 3605, 3608, 3611, 3614,
--  3617, 3620, 3623, 3626, 3629, 3632, 3635, 3638, 3641, 3644, 3647, 3650,
--  3653, 3656, 3659, 3662, 3665, 3668, 3671, 3674, 3677, 3680, 3683, 3686,
--  3689, 3692, 3695, 3698, 3701, 3704, 3707, 3710, 3713, 3716, 3719, 3722,
--  3725, 3728, 3731, 3734, 3737, 3740, 3743, 3746, 3749, 3752, 3755, 3758,
--  3761, 3764, 3767, 3770, 3773, 3776, 3779, 3782, 3785, 3788, 3791, 3794,
--  3797, 3800, 3803, 3806, 3809, 3812, 3815, 3818, 3821, 3824, 3827, 3830,
--  3833, 3836, 3839, 3842, 3845, 3848, 3851, 3854, 3857, 3860, 3863, 3866,
--  3869, 3872, 3875, 3878, 3881, 3884, 3887, 3890, 3893, 3896, 3899, 3902,
--  3905, 3908, 3911, 3914, 3917, 3920, 3923, 3926, 3929, 3932, 3935, 3938,
--  3941, 3944, 3947, 3950, 3953, 3956, 3959, 3962, 3965, 3968, 3971, 3974,
--  3977, 3980, 3983, 3986, 3989, 3992, 3995, 3998, 4001, 4004, 4007, 4010,
--  4013, 4016, 4019, 4022, 4025, 4028, 4031, 4034, 4037, 4040, 4043, 4046,
--  4049, 4052, 4055, 4058, 4061, 4064, 4067, 4070, 4073, 4076, 4079, 4082,
--  4085, 4088, 4091, 4094, 4097, 4100, 4103, 4106, 4109, 4112, 4115, 4118,
--  4121, 4124, 4127, 4130, 4133, 4136, 4139, 4142, 4145, 4148, 4151, 4154,
--  4157, 4160, 4163, 4166, 4169, 4172, 4175, 4178, 4181, 4184, 4187, 4190,
--  4193, 4196, 4199, 4202, 4205, 4208, 4211, 4214, 4217, 4220, 4223, 4226,
--  4229, 4232, 4235, 4238, 4241, 4244, 4247, 4250, 4253, 4256, 4259, 4262,
--  4265, 4268, 4271, 4274, 4277, 4280, 4283, 4286, 4289, 4292, 4295, 4298,
--  4301, 4304, 4307, 4310, 4313, 4316, 4319, 4322, 4325, 4328, 4331, 4334,
--  4337, 4340, 4343, 4346, 4349, 4352, 4355, 4358, 4361, 4364, 4367, 4370,
--  4373, 4376, 4379, 4382, 4385, 4388, 4391, 4394, 4397, 4400, 4403, 4406,
--  4409, 4412, 4415, 4418, 4421, 4424, 4427, 4430, 4433, 4436, 4439, 4442,
--  4445, 4448, 4451, 4454, 4457, 4460, 4463, 4466, 4469, 4472, 4475, 4478,
--  4481, 4484, 4487, 4490, 4493, 4496, 4499, 4502, 4505, 4508, 4511, 4514,
--  4517, 4520, 4523, 4526, 4529, 4532, 4535, 4538, 4541, 4544, 4547, 4550,
--  4553, 4556, 4559, 4562, 4565, 4568, 4571, 4574, 4577, 4580, 4583, 4586,
--  4589, 4592, 4595, 4598, 4601, 4604, 4607, 4610, 4613, 4616, 4619, 4622,
--  4625, 4628, 4631, 4634, 4637, 4640, 4643, 4646, 4649, 4652, 4655, 4658,
--  4661, 4664, 4667, 4670, 4673, 4676, 4679, 4682, 4685, 4688, 4691, 4694,
--  4697, 4700, 4703, 4706, 4709, 4712, 4715, 4718, 4721, 4724, 4727, 4730,
--  4733, 4736, 4739, 4742, 4745, 4748, 4751, 4754, 4757, 4760, 4763, 4766,
--  4769, 4772, 4775, 4778, 4781, 4784, 4787, 4790, 4793
-+  1575, 1580, 1585, 1590, 1595, 1600, 1603, 1606, 1609, 1612, 1615, 1618,
-+  1621, 1624, 1627, 1630, 1633, 1636, 1641, 1645, 1650, 1653, 1656, 1662,
-+  1668, 1674, 1680, 1686, 1692, 1698, 1704, 1710, 1716, 1722, 1728, 1734,
-+  1740, 1746, 1752, 1758, 1764, 1770, 1776, 1782, 1788, 1794, 1800, 1806,
-+  1812, 1818, 1824, 1830, 1836, 1841, 1845, 1849, 1854, 1858, 1862, 1866,
-+  1870, 1874, 1878, 1882, 1886, 1890, 1894, 1899, 1905, 1909, 1913, 1917,
-+  1921, 1925, 1929, 1933, 1938, 1943, 1948, 1953, 1957, 1961, 1965, 1969,
-+  1973, 1977, 1981, 1985, 1989, 1993, 1999, 2005, 2010, 2016, 2022, 2028,
-+  2033, 2039, 2044, 2051, 2055, 2060, 2065, 2070, 2075, 2082, 2091, 2095,
-+  2099, 2103, 2107, 2111, 2115, 2119, 2123, 2127, 2131, 2135, 2139, 2143,
-+  2147, 2151, 2155, 2161, 2165, 2169, 2173, 2179, 2184, 2188, 2192, 2196,
-+  2200, 2204, 2208, 2212, 2216, 2220, 2224, 2229, 2233, 2237, 2242, 2247,
-+  2251, 2257, 2262, 2266, 2270, 2274, 2278, 2282, 2286, 2290, 2295, 2300,
-+  2304, 2307, 2309, 2311, 2313, 2315, 2317, 2319, 2321, 2323, 2325, 2327,
-+  2329, 2331, 2333, 2335, 2337, 2339, 2342, 2345, 2348, 2351, 2354, 2357,
-+  2360, 2363, 2366, 2369, 2372, 2375, 2378, 2381, 2384, 2387, 2390, 2393,
-+  2396, 2399, 2402, 2405, 2408, 2411, 2414, 2416, 2419, 2422, 2425, 2428,
-+  2431, 2434, 2437, 2440, 2443, 2446, 2449, 2452, 2455, 2458, 2461, 2464,
-+  2467, 2470, 2473, 2476, 2479, 2482, 2485, 2488, 2491, 2494, 2497, 2500,
-+  2503, 2506, 2509, 2512, 2515, 2518, 2521, 2524, 2527, 2530, 2533, 2536,
-+  2539, 2542, 2545, 2548, 2551, 2554, 2557, 2560, 2563, 2566, 2569, 2572,
-+  2575, 2578, 2581, 2584, 2587, 2590, 2593, 2596, 2599, 2602, 2605, 2608,
-+  2611, 2614, 2617, 2620, 2623, 2626, 2629, 2632, 2635, 2638, 2641, 2644,
-+  2647, 2650, 2653, 2656, 2659, 2662, 2665, 2668, 2671, 2674, 2677, 2680,
-+  2683, 2686, 2689, 2692, 2695, 2698, 2701, 2704, 2707, 2710, 2713, 2716,
-+  2719, 2722, 2725, 2728, 2731, 2734, 2737, 2740, 2743, 2746, 2749, 2752,
-+  2755, 2758, 2761, 2764, 2767, 2770, 2773, 2776, 2779, 2782, 2785, 2788,
-+  2791, 2794, 2797, 2800, 2803, 2806, 2809, 2812, 2815, 2818, 2821, 2824,
-+  2827, 2830, 2833, 2836, 2839, 2842, 2845, 2848, 2851, 2854, 2857, 2860,
-+  2863, 2866, 2869, 2872, 2875, 2878, 2881, 2884, 2887, 2890, 2893, 2896,
-+  2899, 2902, 2905, 2908, 2911, 2914, 2917, 2920, 2923, 2926, 2929, 2932,
-+  2935, 2938, 2941, 2944, 2947, 2950, 2953, 2956, 2959, 2962, 2965, 2968,
-+  2971, 2974, 2977, 2980, 2983, 2986, 2989, 2992, 2995, 2998, 3001, 3004,
-+  3007, 3010, 3013, 3016, 3019, 3022, 3025, 3028, 3031, 3034, 3037, 3040,
-+  3043, 3046, 3049, 3052, 3055, 3058, 3061, 3064, 3067, 3070, 3073, 3076,
-+  3079, 3082, 3085, 3088, 3091, 3094, 3097, 3100, 3103, 3106, 3109, 3112,
-+  3115, 3118, 3121, 3124, 3127, 3130, 3133, 3136, 3139, 3142, 3145, 3148,
-+  3151, 3154, 3157, 3160, 3163, 3166, 3169, 3172, 3175, 3178, 3181, 3184,
-+  3187, 3190, 3193, 3196, 3199, 3202, 3205, 3208, 3211, 3214, 3217, 3220,
-+  3223, 3226, 3229, 3232, 3235, 3238, 3241, 3244, 3247, 3250, 3253, 3256,
-+  3259, 3262, 3265, 3268, 3271, 3274, 3277, 3280, 3283, 3286, 3289, 3292,
-+  3295, 3298, 3301, 3304, 3307, 3310, 3313, 3316, 3319, 3322, 3325, 3328,
-+  3331, 3334, 3337, 3340, 3343, 3346, 3349, 3352, 3355, 3358, 3361, 3364,
-+  3367, 3370, 3373, 3376, 3379, 3382, 3385, 3388, 3391, 3394, 3397, 3400,
-+  3403, 3406, 3409, 3412, 3415, 3418, 3421, 3424, 3427, 3430, 3433, 3436,
-+  3439, 3442, 3445, 3448, 3451, 3454, 3457, 3460, 3463, 3466, 3469, 3472,
-+  3475, 3478, 3481, 3484, 3487, 3490, 3493, 3496, 3499, 3502, 3505, 3508,
-+  3511, 3514, 3517, 3520, 3523, 3526, 3529, 3532, 3535, 3538, 3541, 3544,
-+  3547, 3550, 3553, 3556, 3559, 3562, 3565, 3568, 3571, 3574, 3577, 3580,
-+  3583, 3586, 3589, 3592, 3595, 3598, 3601, 3604, 3607, 3610, 3613, 3616,
-+  3619, 3622, 3625, 3628, 3631, 3634, 3637, 3640, 3643, 3646, 3649, 3652,
-+  3655, 3658, 3661, 3664, 3667, 3670, 3673, 3676, 3679, 3682, 3685, 3688,
-+  3691, 3694, 3697, 3700, 3703, 3706, 3709, 3712, 3715, 3718, 3721, 3724,
-+  3727, 3730, 3733, 3736, 3739, 3742, 3745, 3748, 3751, 3754, 3757, 3760,
-+  3763, 3766, 3769, 3772, 3775, 3778, 3781, 3784, 3787, 3790, 3793, 3796,
-+  3799, 3802, 3805, 3808, 3811, 3814, 3817, 3820, 3823, 3826, 3829, 3832,
-+  3835, 3838, 3841, 3844, 3847, 3850, 3853, 3856, 3859, 3862, 3865, 3868,
-+  3871, 3874, 3877, 3880, 3883, 3886, 3889, 3892, 3895, 3898, 3901, 3904,
-+  3907, 3910, 3913, 3916, 3919, 3922, 3925, 3928, 3931, 3934, 3937, 3940,
-+  3943, 3946, 3949, 3952, 3955, 3958, 3961, 3964, 3967, 3970, 3973, 3976,
-+  3979, 3982, 3985, 3988, 3991, 3994, 3997, 4000, 4003, 4006, 4009, 4012,
-+  4015, 4018, 4021, 4024, 4027, 4030, 4033, 4036, 4039, 4042, 4045, 4048,
-+  4051, 4054, 4057, 4060, 4063, 4066, 4069, 4072, 4075, 4078, 4081, 4084,
-+  4087, 4090, 4093, 4096, 4099, 4102, 4105, 4108, 4111, 4114, 4117, 4120,
-+  4123, 4126, 4129, 4132, 4135, 4138, 4141, 4144, 4147, 4150, 4153, 4156,
-+  4159, 4162, 4165, 4168, 4171, 4174, 4177, 4180, 4183, 4186, 4189, 4192,
-+  4195, 4198, 4201, 4204, 4207, 4210, 4213, 4216, 4219, 4222, 4225, 4228,
-+  4231, 4234, 4237, 4240, 4243, 4246, 4249, 4252, 4255, 4258, 4261, 4264,
-+  4267, 4270, 4273, 4276, 4279, 4282, 4285, 4288, 4291, 4294, 4297, 4300,
-+  4303, 4306, 4309, 4312, 4315, 4318, 4321, 4324, 4327, 4330, 4333, 4336,
-+  4339, 4342, 4345, 4348, 4351, 4354, 4357, 4360, 4363, 4366, 4369, 4372,
-+  4375, 4378, 4381, 4384, 4387, 4390, 4393, 4396, 4399, 4402, 4405, 4408,
-+  4411, 4414, 4417, 4420, 4423, 4426, 4429, 4432, 4435, 4438, 4441, 4444,
-+  4447, 4450, 4453, 4456, 4459, 4462, 4465, 4468, 4471, 4474, 4477, 4480,
-+  4483, 4486, 4489, 4492, 4495, 4498, 4501, 4504, 4507, 4510, 4513, 4516,
-+  4519, 4522, 4525, 4528, 4531, 4534, 4537, 4540, 4543, 4546, 4549, 4552,
-+  4555, 4558, 4561, 4564, 4567, 4570, 4573, 4576, 4579, 4582, 4585, 4588,
-+  4591, 4594, 4597, 4600, 4603, 4606, 4609, 4612, 4615, 4618, 4621, 4624,
-+  4627, 4630, 4633, 4636, 4639, 4642, 4645, 4648, 4651, 4654, 4657, 4660,
-+  4663, 4666, 4669, 4672, 4675, 4678, 4681, 4684, 4687, 4690, 4693, 4696,
-+  4699, 4702, 4705, 4708, 4711, 4714, 4717, 4720, 4723, 4726, 4729, 4732,
-+  4735, 4738, 4741, 4744, 4747, 4750, 4753, 4756, 4759, 4762, 4765, 4768,
-+  4771, 4774, 4777, 4780, 4783, 4786, 4789, 4792, 4795, 4798
- };
- static const wchar_t translit_to_tbl[] =
-   L" \0" L"\0" L"(C)\0" L"\0" L"<<\0" L"\0" L"-\0" L"\0" L"(R)\0" L"\0" L"u\0"
-@@ -594,73 +594,73 @@ static const wchar_t translit_to_tbl[] =
-   L"\0" L"..\0" L"\0" L"...\0" L"\0" L" \0" L"\0" L"`\0" L"\0" L"``\0" L"\0"
-   L"```\0" L"\0" L"<\0" L"\0" L">\0" L"\0" L"!!\0" L"\0" L"/\0" L"\0" L"??\0"
-   L"\0" L"?!\0" L"\0" L"!?\0" L"\0" L" \0" L"\0" L"\0" L"\0" L"\0" L"\0" L"\0"
--  L"\0" L"\0" L"\0" L"Rs\0" L"\0" L"EUR\0" L"\0" L"a/c\0" L"\0" L"a/s\0" L"\0"
--  L"C\0" L"\0" L"c/o\0" L"\0" L"c/u\0" L"\0" L"g\0" L"\0" L"H\0" L"\0" L"H\0"
--  L"\0" L"H\0" L"\0" L"h\0" L"\0" L"I\0" L"\0" L"I\0" L"\0" L"L\0" L"\0"
--  L"l\0" L"\0" L"N\0" L"\0" L"No\0" L"\0" L"P\0" L"\0" L"Q\0" L"\0" L"R\0"
--  L"\0" L"R\0" L"\0" L"R\0" L"\0" L"TEL\0" L"\0" L"(TM)\0" L"\0" L"Z\0" L"\0"
--  L"Ohm\0" L"\0" L"Z\0" L"\0" L"B\0" L"\0" L"C\0" L"\0" L"e\0" L"\0" L"e\0"
--  L"\0" L"E\0" L"\0" L"F\0" L"\0" L"M\0" L"\0" L"o\0" L"\0" L"i\0" L"\0"
--  L"D\0" L"\0" L"d\0" L"\0" L"e\0" L"\0" L"i\0" L"\0" L"j\0" L"\0" L" 1/3 \0"
--  L"\0" L" 2/3 \0" L"\0" L" 1/5 \0" L"\0" L" 2/5 \0" L"\0" L" 3/5 \0" L"\0"
--  L" 4/5 \0" L"\0" L" 1/6 \0" L"\0" L" 5/6 \0" L"\0" L" 1/8 \0" L"\0"
--  L" 3/8 \0" L"\0" L" 5/8 \0" L"\0" L" 7/8 \0" L"\0" L" 1/\0" L"\0" L"I\0"
--  L"\0" L"II\0" L"\0" L"III\0" L"\0" L"IV\0" L"\0" L"V\0" L"\0" L"VI\0" L"\0"
--  L"VII\0" L"\0" L"VIII\0" L"\0" L"IX\0" L"\0" L"X\0" L"\0" L"XI\0" L"\0"
--  L"XII\0" L"\0" L"L\0" L"\0" L"C\0" L"\0" L"D\0" L"\0" L"M\0" L"\0" L"i\0"
--  L"\0" L"ii\0" L"\0" L"iii\0" L"\0" L"iv\0" L"\0" L"v\0" L"\0" L"vi\0" L"\0"
--  L"vii\0" L"\0" L"viii\0" L"\0" L"ix\0" L"\0" L"x\0" L"\0" L"xi\0" L"\0"
--  L"xii\0" L"\0" L"l\0" L"\0" L"c\0" L"\0" L"d\0" L"\0" L"m\0" L"\0" L"<-\0"
--  L"\0" L"->\0" L"\0" L"<->\0" L"\0" L"<=\0" L"\0" L"=>\0" L"\0" L"<=>\0"
--  L"\0" L"-\0" L"\0" L"/\0" L"\0" L"\\\0" L"\0" L"*\0" L"\0" L"|\0" L"\0"
--  L":\0" L"\0" L"~\0" L"\0" L"<=\0" L"\0" L">=\0" L"\0" L"<<\0" L"\0" L">>\0"
--  L"\0" L"<<<\0" L"\0" L">>>\0" L"\0" L"NUL\0" L"\0" L"SOH\0" L"\0" L"STX\0"
--  L"\0" L"ETX\0" L"\0" L"EOT\0" L"\0" L"ENQ\0" L"\0" L"ACK\0" L"\0" L"BEL\0"
--  L"\0" L"BS\0" L"\0" L"HT\0" L"\0" L"LF\0" L"\0" L"VT\0" L"\0" L"FF\0" L"\0"
--  L"CR\0" L"\0" L"SO\0" L"\0" L"SI\0" L"\0" L"DLE\0" L"\0" L"DC1\0" L"\0"
--  L"DC2\0" L"\0" L"DC3\0" L"\0" L"DC4\0" L"\0" L"NAK\0" L"\0" L"SYN\0" L"\0"
--  L"ETB\0" L"\0" L"CAN\0" L"\0" L"EM\0" L"\0" L"SUB\0" L"\0" L"ESC\0" L"\0"
--  L"FS\0" L"\0" L"GS\0" L"\0" L"RS\0" L"\0" L"US\0" L"\0" L"SP\0" L"\0"
--  L"DEL\0" L"\0" L"_\0" L"\0" L"NL\0" L"\0" L"(1)\0" L"\0" L"(2)\0" L"\0"
--  L"(3)\0" L"\0" L"(4)\0" L"\0" L"(5)\0" L"\0" L"(6)\0" L"\0" L"(7)\0" L"\0"
--  L"(8)\0" L"\0" L"(9)\0" L"\0" L"(10)\0" L"\0" L"(11)\0" L"\0" L"(12)\0"
--  L"\0" L"(13)\0" L"\0" L"(14)\0" L"\0" L"(15)\0" L"\0" L"(16)\0" L"\0"
--  L"(17)\0" L"\0" L"(18)\0" L"\0" L"(19)\0" L"\0" L"(20)\0" L"\0" L"(1)\0"
--  L"\0" L"(2)\0" L"\0" L"(3)\0" L"\0" L"(4)\0" L"\0" L"(5)\0" L"\0" L"(6)\0"
--  L"\0" L"(7)\0" L"\0" L"(8)\0" L"\0" L"(9)\0" L"\0" L"(10)\0" L"\0" L"(11)\0"
--  L"\0" L"(12)\0" L"\0" L"(13)\0" L"\0" L"(14)\0" L"\0" L"(15)\0" L"\0"
--  L"(16)\0" L"\0" L"(17)\0" L"\0" L"(18)\0" L"\0" L"(19)\0" L"\0" L"(20)\0"
--  L"\0" L"1.\0" L"\0" L"2.\0" L"\0" L"3.\0" L"\0" L"4.\0" L"\0" L"5.\0" L"\0"
--  L"6.\0" L"\0" L"7.\0" L"\0" L"8.\0" L"\0" L"9.\0" L"\0" L"10.\0" L"\0"
--  L"11.\0" L"\0" L"12.\0" L"\0" L"13.\0" L"\0" L"14.\0" L"\0" L"15.\0" L"\0"
--  L"16.\0" L"\0" L"17.\0" L"\0" L"18.\0" L"\0" L"19.\0" L"\0" L"20.\0" L"\0"
--  L"(a)\0" L"\0" L"(b)\0" L"\0" L"(c)\0" L"\0" L"(d)\0" L"\0" L"(e)\0" L"\0"
--  L"(f)\0" L"\0" L"(g)\0" L"\0" L"(h)\0" L"\0" L"(i)\0" L"\0" L"(j)\0" L"\0"
--  L"(k)\0" L"\0" L"(l)\0" L"\0" L"(m)\0" L"\0" L"(n)\0" L"\0" L"(o)\0" L"\0"
--  L"(p)\0" L"\0" L"(q)\0" L"\0" L"(r)\0" L"\0" L"(s)\0" L"\0" L"(t)\0" L"\0"
--  L"(u)\0" L"\0" L"(v)\0" L"\0" L"(w)\0" L"\0" L"(x)\0" L"\0" L"(y)\0" L"\0"
--  L"(z)\0" L"\0" L"(A)\0" L"\0" L"(B)\0" L"\0" L"(C)\0" L"\0" L"(D)\0" L"\0"
--  L"(E)\0" L"\0" L"(F)\0" L"\0" L"(G)\0" L"\0" L"(H)\0" L"\0" L"(I)\0" L"\0"
--  L"(J)\0" L"\0" L"(K)\0" L"\0" L"(L)\0" L"\0" L"(M)\0" L"\0" L"(N)\0" L"\0"
--  L"(O)\0" L"\0" L"(P)\0" L"\0" L"(Q)\0" L"\0" L"(R)\0" L"\0" L"(S)\0" L"\0"
--  L"(T)\0" L"\0" L"(U)\0" L"\0" L"(V)\0" L"\0" L"(W)\0" L"\0" L"(X)\0" L"\0"
--  L"(Y)\0" L"\0" L"(Z)\0" L"\0" L"(a)\0" L"\0" L"(b)\0" L"\0" L"(c)\0" L"\0"
--  L"(d)\0" L"\0" L"(e)\0" L"\0" L"(f)\0" L"\0" L"(g)\0" L"\0" L"(h)\0" L"\0"
--  L"(i)\0" L"\0" L"(j)\0" L"\0" L"(k)\0" L"\0" L"(l)\0" L"\0" L"(m)\0" L"\0"
--  L"(n)\0" L"\0" L"(o)\0" L"\0" L"(p)\0" L"\0" L"(q)\0" L"\0" L"(r)\0" L"\0"
--  L"(s)\0" L"\0" L"(t)\0" L"\0" L"(u)\0" L"\0" L"(v)\0" L"\0" L"(w)\0" L"\0"
--  L"(x)\0" L"\0" L"(y)\0" L"\0" L"(z)\0" L"\0" L"(0)\0" L"\0" L"-\0" L"\0"
--  L"|\0" L"\0" L"+\0" L"\0" L"+\0" L"\0" L"+\0" L"\0" L"+\0" L"\0" L"+\0"
--  L"\0" L"+\0" L"\0" L"+\0" L"\0" L"+\0" L"\0" L"+\0" L"\0" L"o\0" L"\0"
--  L"::=\0" L"\0" L"==\0" L"\0" L"===\0" L"\0" L" \0" L"\0" L"=\0" L"\0"
--  L"(21)\0" L"\0" L"(22)\0" L"\0" L"(23)\0" L"\0" L"(24)\0" L"\0" L"(25)\0"
--  L"\0" L"(26)\0" L"\0" L"(27)\0" L"\0" L"(28)\0" L"\0" L"(29)\0" L"\0"
--  L"(30)\0" L"\0" L"(31)\0" L"\0" L"(32)\0" L"\0" L"(33)\0" L"\0" L"(34)\0"
--  L"\0" L"(35)\0" L"\0" L"(36)\0" L"\0" L"(37)\0" L"\0" L"(38)\0" L"\0"
--  L"(39)\0" L"\0" L"(40)\0" L"\0" L"(41)\0" L"\0" L"(42)\0" L"\0" L"(43)\0"
--  L"\0" L"(44)\0" L"\0" L"(45)\0" L"\0" L"(46)\0" L"\0" L"(47)\0" L"\0"
--  L"(48)\0" L"\0" L"(49)\0" L"\0" L"(50)\0" L"\0" L"hPa\0" L"\0" L"da\0" L"\0"
--  L"AU\0" L"\0" L"bar\0" L"\0" L"oV\0" L"\0" L"pc\0" L"\0" L"pA\0" L"\0"
-+  L"\0" L"\0" L"\0" L"Rs\0" L"\0" L"EUR\0" L"\0" L"INR\0" L"\0" L"a/c\0" L"\0"
-+  L"a/s\0" L"\0" L"C\0" L"\0" L"c/o\0" L"\0" L"c/u\0" L"\0" L"g\0" L"\0"
-+  L"H\0" L"\0" L"H\0" L"\0" L"H\0" L"\0" L"h\0" L"\0" L"I\0" L"\0" L"I\0"
-+  L"\0" L"L\0" L"\0" L"l\0" L"\0" L"N\0" L"\0" L"No\0" L"\0" L"P\0" L"\0"
-+  L"Q\0" L"\0" L"R\0" L"\0" L"R\0" L"\0" L"R\0" L"\0" L"TEL\0" L"\0" L"(TM)\0"
-+  L"\0" L"Z\0" L"\0" L"Ohm\0" L"\0" L"Z\0" L"\0" L"B\0" L"\0" L"C\0" L"\0"
-+  L"e\0" L"\0" L"e\0" L"\0" L"E\0" L"\0" L"F\0" L"\0" L"M\0" L"\0" L"o\0"
-+  L"\0" L"i\0" L"\0" L"D\0" L"\0" L"d\0" L"\0" L"e\0" L"\0" L"i\0" L"\0"
-+  L"j\0" L"\0" L" 1/3 \0" L"\0" L" 2/3 \0" L"\0" L" 1/5 \0" L"\0" L" 2/5 \0"
-+  L"\0" L" 3/5 \0" L"\0" L" 4/5 \0" L"\0" L" 1/6 \0" L"\0" L" 5/6 \0" L"\0"
-+  L" 1/8 \0" L"\0" L" 3/8 \0" L"\0" L" 5/8 \0" L"\0" L" 7/8 \0" L"\0" L" 1/\0"
-+  L"\0" L"I\0" L"\0" L"II\0" L"\0" L"III\0" L"\0" L"IV\0" L"\0" L"V\0" L"\0"
-+  L"VI\0" L"\0" L"VII\0" L"\0" L"VIII\0" L"\0" L"IX\0" L"\0" L"X\0" L"\0"
-+  L"XI\0" L"\0" L"XII\0" L"\0" L"L\0" L"\0" L"C\0" L"\0" L"D\0" L"\0" L"M\0"
-+  L"\0" L"i\0" L"\0" L"ii\0" L"\0" L"iii\0" L"\0" L"iv\0" L"\0" L"v\0" L"\0"
-+  L"vi\0" L"\0" L"vii\0" L"\0" L"viii\0" L"\0" L"ix\0" L"\0" L"x\0" L"\0"
-+  L"xi\0" L"\0" L"xii\0" L"\0" L"l\0" L"\0" L"c\0" L"\0" L"d\0" L"\0" L"m\0"
-+  L"\0" L"<-\0" L"\0" L"->\0" L"\0" L"<->\0" L"\0" L"<=\0" L"\0" L"=>\0" L"\0"
-+  L"<=>\0" L"\0" L"-\0" L"\0" L"/\0" L"\0" L"\\\0" L"\0" L"*\0" L"\0" L"|\0"
-+  L"\0" L":\0" L"\0" L"~\0" L"\0" L"<=\0" L"\0" L">=\0" L"\0" L"<<\0" L"\0"
-+  L">>\0" L"\0" L"<<<\0" L"\0" L">>>\0" L"\0" L"NUL\0" L"\0" L"SOH\0" L"\0"
-+  L"STX\0" L"\0" L"ETX\0" L"\0" L"EOT\0" L"\0" L"ENQ\0" L"\0" L"ACK\0" L"\0"
-+  L"BEL\0" L"\0" L"BS\0" L"\0" L"HT\0" L"\0" L"LF\0" L"\0" L"VT\0" L"\0"
-+  L"FF\0" L"\0" L"CR\0" L"\0" L"SO\0" L"\0" L"SI\0" L"\0" L"DLE\0" L"\0"
-+  L"DC1\0" L"\0" L"DC2\0" L"\0" L"DC3\0" L"\0" L"DC4\0" L"\0" L"NAK\0" L"\0"
-+  L"SYN\0" L"\0" L"ETB\0" L"\0" L"CAN\0" L"\0" L"EM\0" L"\0" L"SUB\0" L"\0"
-+  L"ESC\0" L"\0" L"FS\0" L"\0" L"GS\0" L"\0" L"RS\0" L"\0" L"US\0" L"\0"
-+  L"SP\0" L"\0" L"DEL\0" L"\0" L"_\0" L"\0" L"NL\0" L"\0" L"(1)\0" L"\0"
-+  L"(2)\0" L"\0" L"(3)\0" L"\0" L"(4)\0" L"\0" L"(5)\0" L"\0" L"(6)\0" L"\0"
-+  L"(7)\0" L"\0" L"(8)\0" L"\0" L"(9)\0" L"\0" L"(10)\0" L"\0" L"(11)\0" L"\0"
-+  L"(12)\0" L"\0" L"(13)\0" L"\0" L"(14)\0" L"\0" L"(15)\0" L"\0" L"(16)\0"
-+  L"\0" L"(17)\0" L"\0" L"(18)\0" L"\0" L"(19)\0" L"\0" L"(20)\0" L"\0"
-+  L"(1)\0" L"\0" L"(2)\0" L"\0" L"(3)\0" L"\0" L"(4)\0" L"\0" L"(5)\0" L"\0"
-+  L"(6)\0" L"\0" L"(7)\0" L"\0" L"(8)\0" L"\0" L"(9)\0" L"\0" L"(10)\0" L"\0"
-+  L"(11)\0" L"\0" L"(12)\0" L"\0" L"(13)\0" L"\0" L"(14)\0" L"\0" L"(15)\0"
-+  L"\0" L"(16)\0" L"\0" L"(17)\0" L"\0" L"(18)\0" L"\0" L"(19)\0" L"\0"
-+  L"(20)\0" L"\0" L"1.\0" L"\0" L"2.\0" L"\0" L"3.\0" L"\0" L"4.\0" L"\0"
-+  L"5.\0" L"\0" L"6.\0" L"\0" L"7.\0" L"\0" L"8.\0" L"\0" L"9.\0" L"\0"
-+  L"10.\0" L"\0" L"11.\0" L"\0" L"12.\0" L"\0" L"13.\0" L"\0" L"14.\0" L"\0"
-+  L"15.\0" L"\0" L"16.\0" L"\0" L"17.\0" L"\0" L"18.\0" L"\0" L"19.\0" L"\0"
-+  L"20.\0" L"\0" L"(a)\0" L"\0" L"(b)\0" L"\0" L"(c)\0" L"\0" L"(d)\0" L"\0"
-+  L"(e)\0" L"\0" L"(f)\0" L"\0" L"(g)\0" L"\0" L"(h)\0" L"\0" L"(i)\0" L"\0"
-+  L"(j)\0" L"\0" L"(k)\0" L"\0" L"(l)\0" L"\0" L"(m)\0" L"\0" L"(n)\0" L"\0"
-+  L"(o)\0" L"\0" L"(p)\0" L"\0" L"(q)\0" L"\0" L"(r)\0" L"\0" L"(s)\0" L"\0"
-+  L"(t)\0" L"\0" L"(u)\0" L"\0" L"(v)\0" L"\0" L"(w)\0" L"\0" L"(x)\0" L"\0"
-+  L"(y)\0" L"\0" L"(z)\0" L"\0" L"(A)\0" L"\0" L"(B)\0" L"\0" L"(C)\0" L"\0"
-+  L"(D)\0" L"\0" L"(E)\0" L"\0" L"(F)\0" L"\0" L"(G)\0" L"\0" L"(H)\0" L"\0"
-+  L"(I)\0" L"\0" L"(J)\0" L"\0" L"(K)\0" L"\0" L"(L)\0" L"\0" L"(M)\0" L"\0"
-+  L"(N)\0" L"\0" L"(O)\0" L"\0" L"(P)\0" L"\0" L"(Q)\0" L"\0" L"(R)\0" L"\0"
-+  L"(S)\0" L"\0" L"(T)\0" L"\0" L"(U)\0" L"\0" L"(V)\0" L"\0" L"(W)\0" L"\0"
-+  L"(X)\0" L"\0" L"(Y)\0" L"\0" L"(Z)\0" L"\0" L"(a)\0" L"\0" L"(b)\0" L"\0"
-+  L"(c)\0" L"\0" L"(d)\0" L"\0" L"(e)\0" L"\0" L"(f)\0" L"\0" L"(g)\0" L"\0"
-+  L"(h)\0" L"\0" L"(i)\0" L"\0" L"(j)\0" L"\0" L"(k)\0" L"\0" L"(l)\0" L"\0"
-+  L"(m)\0" L"\0" L"(n)\0" L"\0" L"(o)\0" L"\0" L"(p)\0" L"\0" L"(q)\0" L"\0"
-+  L"(r)\0" L"\0" L"(s)\0" L"\0" L"(t)\0" L"\0" L"(u)\0" L"\0" L"(v)\0" L"\0"
-+  L"(w)\0" L"\0" L"(x)\0" L"\0" L"(y)\0" L"\0" L"(z)\0" L"\0" L"(0)\0" L"\0"
-+  L"-\0" L"\0" L"|\0" L"\0" L"+\0" L"\0" L"+\0" L"\0" L"+\0" L"\0" L"+\0"
-+  L"\0" L"+\0" L"\0" L"+\0" L"\0" L"+\0" L"\0" L"+\0" L"\0" L"+\0" L"\0"
-+  L"o\0" L"\0" L"::=\0" L"\0" L"==\0" L"\0" L"===\0" L"\0" L" \0" L"\0" L"=\0"
-+  L"\0" L"(21)\0" L"\0" L"(22)\0" L"\0" L"(23)\0" L"\0" L"(24)\0" L"\0"
-+  L"(25)\0" L"\0" L"(26)\0" L"\0" L"(27)\0" L"\0" L"(28)\0" L"\0" L"(29)\0"
-+  L"\0" L"(30)\0" L"\0" L"(31)\0" L"\0" L"(32)\0" L"\0" L"(33)\0" L"\0"
-+  L"(34)\0" L"\0" L"(35)\0" L"\0" L"(36)\0" L"\0" L"(37)\0" L"\0" L"(38)\0"
-+  L"\0" L"(39)\0" L"\0" L"(40)\0" L"\0" L"(41)\0" L"\0" L"(42)\0" L"\0"
-+  L"(43)\0" L"\0" L"(44)\0" L"\0" L"(45)\0" L"\0" L"(46)\0" L"\0" L"(47)\0"
-+  L"\0" L"(48)\0" L"\0" L"(49)\0" L"\0" L"(50)\0" L"\0" L"hPa\0" L"\0" L"da\0"
-+  L"\0" L"AU\0" L"\0" L"bar\0" L"\0" L"oV\0" L"\0" L"pc\0" L"\0" L"pA\0" L"\0"
-   L"nA\0" L"\0" L"uA\0" L"\0" L"mA\0" L"\0" L"kA\0" L"\0" L"KB\0" L"\0"
-   L"MB\0" L"\0" L"GB\0" L"\0" L"cal\0" L"\0" L"kcal\0" L"\0" L"pF\0" L"\0"
-   L"nF\0" L"\0" L"uF\0" L"\0" L"ug\0" L"\0" L"mg\0" L"\0" L"kg\0" L"\0"
-Index: glibc-2.12-2-gc4ccff1/locale/C-translit.h.in
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/locale/C-translit.h.in
-+++ glibc-2.12-2-gc4ccff1/locale/C-translit.h.in
-@@ -105,6 +105,7 @@
- "\x2063"      ""      /* <U2063> INVISIBLE SEPARATOR */
- "\x20a8"      "Rs"    /* <U20A8> RUPEE SIGN */
- "\x20ac"      "EUR"   /* <U20AC> EURO SIGN */
-+"\x20b9"      "INR"   /* <U20B9> INDIAN RUPEE SIGN */
- "\x2100"      "a/c"   /* <U2100> ACCOUNT OF */
- "\x2101"      "a/s"   /* <U2101> ADDRESSED TO THE SUBJECT */
- "\x2102"      "C"     /* <U2102> DOUBLE-STRUCK CAPITAL C */
-Index: glibc-2.12-2-gc4ccff1/localedata/charmaps/UTF-8
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/charmaps/UTF-8
-+++ glibc-2.12-2-gc4ccff1/localedata/charmaps/UTF-8
-@@ -1312,6 +1312,10 @@ CHARMAP
- <U0521>     /xd4/xa1     CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK
- <U0522>     /xd4/xa2     CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK
- <U0523>     /xd4/xa3     CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK
-+<U0524>     /xd4/xa4     CYRILLIC CAPITAL LETTER PE WITH DESCENDER
-+<U0525>     /xd4/xa5     CYRILLIC SMALL LETTER PE WITH DESCENDER
-+<U0526>     /xd4/xa6     CYRILLIC CAPITAL LETTER SHHA WITH DESCENDER
-+<U0527>     /xd4/xa7     CYRILLIC SMALL LETTER SHHA WITH DESCENDER
- <U0531>     /xd4/xb1     ARMENIAN CAPITAL LETTER AYB
- <U0532>     /xd4/xb2     ARMENIAN CAPITAL LETTER BEN
- <U0533>     /xd4/xb3     ARMENIAN CAPITAL LETTER GIM
-@@ -1513,6 +1517,7 @@ CHARMAP
- <U061B>     /xd8/x9b     ARABIC SEMICOLON
- <U061E>     /xd8/x9e     ARABIC TRIPLE DOT PUNCTUATION MARK
- <U061F>     /xd8/x9f     ARABIC QUESTION MARK
-+<U0620>     /xd8/xa0     ARABIC LETTER KASHMIRI YEH
- <U0621>     /xd8/xa1     ARABIC LETTER HAMZA
- <U0622>     /xd8/xa2     ARABIC LETTER ALEF WITH MADDA ABOVE
- <U0623>     /xd8/xa3     ARABIC LETTER ALEF WITH HAMZA ABOVE
-@@ -1575,6 +1580,7 @@ CHARMAP
- <U065C>     /xd9/x9c     ARABIC VOWEL SIGN DOT BELOW
- <U065D>     /xd9/x9d     ARABIC REVERSED DAMMA
- <U065E>     /xd9/x9e     ARABIC FATHA WITH TWO DOTS
-+<U065F>     /xd9/x9f     ARABIC WAVY HAMZA BELOW
- <U0660>     /xd9/xa0     ARABIC-INDIC DIGIT ZERO
- <U0661>     /xd9/xa1     ARABIC-INDIC DIGIT ONE
- <U0662>     /xd9/xa2     ARABIC-INDIC DIGIT TWO
-@@ -1969,6 +1975,97 @@ CHARMAP
- <U07F8>     /xdf/xb8     NKO COMMA
- <U07F9>     /xdf/xb9     NKO EXCLAMATION MARK
- <U07FA>     /xdf/xba     NKO LAJANYALAN
-+<U0800>     /xe0/xa0/x80 SAMARITAN LETTER ALAF
-+<U0801>     /xe0/xa0/x81 SAMARITAN LETTER BIT
-+<U0802>     /xe0/xa0/x82 SAMARITAN LETTER GAMAN
-+<U0803>     /xe0/xa0/x83 SAMARITAN LETTER DALAT
-+<U0804>     /xe0/xa0/x84 SAMARITAN LETTER IY
-+<U0805>     /xe0/xa0/x85 SAMARITAN LETTER BAA
-+<U0806>     /xe0/xa0/x86 SAMARITAN LETTER ZEN
-+<U0807>     /xe0/xa0/x87 SAMARITAN LETTER IT
-+<U0808>     /xe0/xa0/x88 SAMARITAN LETTER TIT
-+<U0809>     /xe0/xa0/x89 SAMARITAN LETTER YUT
-+<U080A>     /xe0/xa0/x8a SAMARITAN LETTER KAAF
-+<U080B>     /xe0/xa0/x8b SAMARITAN LETTER LABAT
-+<U080C>     /xe0/xa0/x8c SAMARITAN LETTER MIM
-+<U080D>     /xe0/xa0/x8d SAMARITAN LETTER NUN
-+<U080E>     /xe0/xa0/x8e SAMARITAN LETTER SINGAAT
-+<U080F>     /xe0/xa0/x8f SAMARITAN LETTER IN
-+<U0810>     /xe0/xa0/x90 SAMARITAN LETTER FI
-+<U0811>     /xe0/xa0/x91 SAMARITAN LETTER TSAADIY
-+<U0812>     /xe0/xa0/x92 SAMARITAN LETTER QUF
-+<U0813>     /xe0/xa0/x93 SAMARITAN LETTER RISH
-+<U0814>     /xe0/xa0/x94 SAMARITAN LETTER SHAN
-+<U0815>     /xe0/xa0/x95 SAMARITAN LETTER TAAF
-+<U0816>     /xe0/xa0/x96 SAMARITAN MARK IN
-+<U0817>     /xe0/xa0/x97 SAMARITAN MARK IN-ALAF
-+<U0818>     /xe0/xa0/x98 SAMARITAN MARK OCCLUSION
-+<U0819>     /xe0/xa0/x99 SAMARITAN MARK DAGESH
-+<U081A>     /xe0/xa0/x9a SAMARITAN MODIFIER LETTER EPENTHETIC YUT
-+<U081B>     /xe0/xa0/x9b SAMARITAN MARK EPENTHETIC YUT
-+<U081C>     /xe0/xa0/x9c SAMARITAN VOWEL SIGN LONG E
-+<U081D>     /xe0/xa0/x9d SAMARITAN VOWEL SIGN E
-+<U081E>     /xe0/xa0/x9e SAMARITAN VOWEL SIGN OVERLONG AA
-+<U081F>     /xe0/xa0/x9f SAMARITAN VOWEL SIGN LONG AA
-+<U0820>     /xe0/xa0/xa0 SAMARITAN VOWEL SIGN AA
-+<U0821>     /xe0/xa0/xa1 SAMARITAN VOWEL SIGN OVERLONG A
-+<U0822>     /xe0/xa0/xa2 SAMARITAN VOWEL SIGN LONG A
-+<U0823>     /xe0/xa0/xa3 SAMARITAN VOWEL SIGN A
-+<U0824>     /xe0/xa0/xa4 SAMARITAN MODIFIER LETTER SHORT A
-+<U0825>     /xe0/xa0/xa5 SAMARITAN VOWEL SIGN SHORT A
-+<U0826>     /xe0/xa0/xa6 SAMARITAN VOWEL SIGN LONG U
-+<U0827>     /xe0/xa0/xa7 SAMARITAN VOWEL SIGN U
-+<U0828>     /xe0/xa0/xa8 SAMARITAN MODIFIER LETTER I
-+<U0829>     /xe0/xa0/xa9 SAMARITAN VOWEL SIGN LONG I
-+<U082A>     /xe0/xa0/xaa SAMARITAN VOWEL SIGN I
-+<U082B>     /xe0/xa0/xab SAMARITAN VOWEL SIGN O
-+<U082C>     /xe0/xa0/xac SAMARITAN VOWEL SIGN SUKUN
-+<U082D>     /xe0/xa0/xad SAMARITAN MARK NEQUDAA
-+<U0830>     /xe0/xa0/xb0 SAMARITAN PUNCTUATION NEQUDAA
-+<U0831>     /xe0/xa0/xb1 SAMARITAN PUNCTUATION AFSAAQ
-+<U0832>     /xe0/xa0/xb2 SAMARITAN PUNCTUATION ANGED
-+<U0833>     /xe0/xa0/xb3 SAMARITAN PUNCTUATION BAU
-+<U0834>     /xe0/xa0/xb4 SAMARITAN PUNCTUATION ATMAAU
-+<U0835>     /xe0/xa0/xb5 SAMARITAN PUNCTUATION SHIYYAALAA
-+<U0836>     /xe0/xa0/xb6 SAMARITAN ABBREVIATION MARK
-+<U0837>     /xe0/xa0/xb7 SAMARITAN PUNCTUATION MELODIC QITSA
-+<U0838>     /xe0/xa0/xb8 SAMARITAN PUNCTUATION ZIQAA
-+<U0839>     /xe0/xa0/xb9 SAMARITAN PUNCTUATION QITSA
-+<U083A>     /xe0/xa0/xba SAMARITAN PUNCTUATION ZAEF
-+<U083B>     /xe0/xa0/xbb SAMARITAN PUNCTUATION TURU
-+<U083C>     /xe0/xa0/xbc SAMARITAN PUNCTUATION ARKAANU
-+<U083D>     /xe0/xa0/xbd SAMARITAN PUNCTUATION SOF MASHFAAT
-+<U083E>     /xe0/xa0/xbe SAMARITAN PUNCTUATION ANNAAU
-+<U0840>     /xe0/xa1/x80 MANDAIC LETTER HALQA
-+<U0841>     /xe0/xa1/x81 MANDAIC LETTER AB
-+<U0842>     /xe0/xa1/x82 MANDAIC LETTER AG
-+<U0843>     /xe0/xa1/x83 MANDAIC LETTER AD
-+<U0844>     /xe0/xa1/x84 MANDAIC LETTER AH
-+<U0845>     /xe0/xa1/x85 MANDAIC LETTER USHENNA
-+<U0846>     /xe0/xa1/x86 MANDAIC LETTER AZ
-+<U0847>     /xe0/xa1/x87 MANDAIC LETTER IT
-+<U0848>     /xe0/xa1/x88 MANDAIC LETTER ATT
-+<U0849>     /xe0/xa1/x89 MANDAIC LETTER AKSA
-+<U084A>     /xe0/xa1/x8a MANDAIC LETTER AK
-+<U084B>     /xe0/xa1/x8b MANDAIC LETTER AL
-+<U084C>     /xe0/xa1/x8c MANDAIC LETTER AM
-+<U084D>     /xe0/xa1/x8d MANDAIC LETTER AN
-+<U084E>     /xe0/xa1/x8e MANDAIC LETTER AS
-+<U084F>     /xe0/xa1/x8f MANDAIC LETTER IN
-+<U0850>     /xe0/xa1/x90 MANDAIC LETTER AP
-+<U0851>     /xe0/xa1/x91 MANDAIC LETTER ASZ
-+<U0852>     /xe0/xa1/x92 MANDAIC LETTER AQ
-+<U0853>     /xe0/xa1/x93 MANDAIC LETTER AR
-+<U0854>     /xe0/xa1/x94 MANDAIC LETTER ASH
-+<U0855>     /xe0/xa1/x95 MANDAIC LETTER AT
-+<U0856>     /xe0/xa1/x96 MANDAIC LETTER DUSHENNA
-+<U0857>     /xe0/xa1/x97 MANDAIC LETTER KAD
-+<U0858>     /xe0/xa1/x98 MANDAIC LETTER AIN
-+<U0859>     /xe0/xa1/x99 MANDAIC AFFRICATION MARK
-+<U085A>     /xe0/xa1/x9a MANDAIC VOCALIZATION MARK
-+<U085B>     /xe0/xa1/x9b MANDAIC GEMINATION MARK
-+<U085E>     /xe0/xa1/x9e MANDAIC PUNCTUATION
-+<U0900>     /xe0/xa4/x80 DEVANAGARI SIGN INVERTED CANDRABINDU
- <U0901>     /xe0/xa4/x81 DEVANAGARI SIGN CANDRABINDU
- <U0902>     /xe0/xa4/x82 DEVANAGARI SIGN ANUSVARA
- <U0903>     /xe0/xa4/x83 DEVANAGARI SIGN VISARGA
-@@ -2026,6 +2123,8 @@ CHARMAP
- <U0937>     /xe0/xa4/xb7 DEVANAGARI LETTER SSA
- <U0938>     /xe0/xa4/xb8 DEVANAGARI LETTER SA
- <U0939>     /xe0/xa4/xb9 DEVANAGARI LETTER HA
-+<U093A>     /xe0/xa4/xba DEVANAGARI VOWEL SIGN OE
-+<U093B>     /xe0/xa4/xbb DEVANAGARI VOWEL SIGN OOE
- <U093C>     /xe0/xa4/xbc DEVANAGARI SIGN NUKTA
- <U093D>     /xe0/xa4/xbd DEVANAGARI SIGN AVAGRAHA
- <U093E>     /xe0/xa4/xbe DEVANAGARI VOWEL SIGN AA
-@@ -2044,11 +2143,16 @@ CHARMAP
- <U094B>     /xe0/xa5/x8b DEVANAGARI VOWEL SIGN O
- <U094C>     /xe0/xa5/x8c DEVANAGARI VOWEL SIGN AU
- <U094D>     /xe0/xa5/x8d DEVANAGARI SIGN VIRAMA
-+<U094E>     /xe0/xa5/x8e DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
-+<U094F>     /xe0/xa5/x8f DEVANAGARI VOWEL SIGN AW
- <U0950>     /xe0/xa5/x90 DEVANAGARI OM
- <U0951>     /xe0/xa5/x91 DEVANAGARI STRESS SIGN UDATTA
- <U0952>     /xe0/xa5/x92 DEVANAGARI STRESS SIGN ANUDATTA
- <U0953>     /xe0/xa5/x93 DEVANAGARI GRAVE ACCENT
- <U0954>     /xe0/xa5/x94 DEVANAGARI ACUTE ACCENT
-+<U0955>     /xe0/xa5/x95 DEVANAGARI VOWEL SIGN CANDRA LONG E
-+<U0956>     /xe0/xa5/x96 DEVANAGARI VOWEL SIGN UE
-+<U0957>     /xe0/xa5/x97 DEVANAGARI VOWEL SIGN UUE
- <U0958>     /xe0/xa5/x98 DEVANAGARI LETTER QA
- <U0959>     /xe0/xa5/x99 DEVANAGARI LETTER KHHA
- <U095A>     /xe0/xa5/x9a DEVANAGARI LETTER GHHA
-@@ -2076,6 +2180,13 @@ CHARMAP
- <U0970>     /xe0/xa5/xb0 DEVANAGARI ABBREVIATION SIGN
- <U0971>     /xe0/xa5/xb1 DEVANAGARI SIGN HIGH SPACING DOT
- <U0972>     /xe0/xa5/xb2 DEVANAGARI LETTER CANDRA A
-+<U0973>     /xe0/xa5/xb3 DEVANAGARI LETTER OE
-+<U0974>     /xe0/xa5/xb4 DEVANAGARI LETTER OOE
-+<U0975>     /xe0/xa5/xb5 DEVANAGARI LETTER AW
-+<U0976>     /xe0/xa5/xb6 DEVANAGARI LETTER UE
-+<U0977>     /xe0/xa5/xb7 DEVANAGARI LETTER UUE
-+<U0979>     /xe0/xa5/xb9 DEVANAGARI LETTER ZHA
-+<U097A>     /xe0/xa5/xba DEVANAGARI LETTER HEAVY YA
- <U097B>     /xe0/xa5/xbb DEVANAGARI LETTER GGA
- <U097C>     /xe0/xa5/xbc DEVANAGARI LETTER JJA
- <U097D>     /xe0/xa5/xbd DEVANAGARI LETTER GLOTTAL STOP
-@@ -2172,6 +2283,7 @@ CHARMAP
- <U09F8>     /xe0/xa7/xb8 BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
- <U09F9>     /xe0/xa7/xb9 BENGALI CURRENCY DENOMINATOR SIXTEEN
- <U09FA>     /xe0/xa7/xba BENGALI ISSHAR
-+<U09FB>     /xe0/xa7/xbb BENGALI GANDA MARK
- <U0A01>     /xe0/xa8/x81 GURMUKHI SIGN ADAK BINDI
- <U0A02>     /xe0/xa8/x82 GURMUKHI SIGN BINDI
- <U0A03>     /xe0/xa8/x83 GURMUKHI SIGN VISARGA
-@@ -2418,6 +2530,12 @@ CHARMAP
- <U0B6F>     /xe0/xad/xaf ORIYA DIGIT NINE
- <U0B70>     /xe0/xad/xb0 ORIYA ISSHAR
- <U0B71>     /xe0/xad/xb1 ORIYA LETTER WA
-+<U0B72>     /xe0/xad/xb2 ORIYA FRACTION ONE QUARTER
-+<U0B73>     /xe0/xad/xb3 ORIYA FRACTION ONE HALF
-+<U0B74>     /xe0/xad/xb4 ORIYA FRACTION THREE QUARTERS
-+<U0B75>     /xe0/xad/xb5 ORIYA FRACTION ONE SIXTEENTH
-+<U0B76>     /xe0/xad/xb6 ORIYA FRACTION ONE EIGHTH
-+<U0B77>     /xe0/xad/xb7 ORIYA FRACTION THREE SIXTEENTHS
- <U0B82>     /xe0/xae/x82 TAMIL SIGN ANUSVARA
- <U0B83>     /xe0/xae/x83 TAMIL SIGN VISARGA
- <U0B85>     /xe0/xae/x85 TAMIL LETTER A
-@@ -2705,6 +2823,7 @@ CHARMAP
- <U0D26>     /xe0/xb4/xa6 MALAYALAM LETTER DA
- <U0D27>     /xe0/xb4/xa7 MALAYALAM LETTER DHA
- <U0D28>     /xe0/xb4/xa8 MALAYALAM LETTER NA
-+<U0D29>     /xe0/xb4/xa9 MALAYALAM LETTER NNNA
- <U0D2A>     /xe0/xb4/xaa MALAYALAM LETTER PA
- <U0D2B>     /xe0/xb4/xab MALAYALAM LETTER PHA
- <U0D2C>     /xe0/xb4/xac MALAYALAM LETTER BA
-@@ -2721,6 +2840,7 @@ CHARMAP
- <U0D37>     /xe0/xb4/xb7 MALAYALAM LETTER SSA
- <U0D38>     /xe0/xb4/xb8 MALAYALAM LETTER SA
- <U0D39>     /xe0/xb4/xb9 MALAYALAM LETTER HA
-+<U0D3A>     /xe0/xb4/xba MALAYALAM LETTER TTTA
- <U0D3D>     /xe0/xb4/xbd MALAYALAM SIGN AVAGRAHA
- <U0D3E>     /xe0/xb4/xbe MALAYALAM VOWEL SIGN AA
- <U0D3F>     /xe0/xb4/xbf MALAYALAM VOWEL SIGN I
-@@ -2736,6 +2856,7 @@ CHARMAP
- <U0D4B>     /xe0/xb5/x8b MALAYALAM VOWEL SIGN OO
- <U0D4C>     /xe0/xb5/x8c MALAYALAM VOWEL SIGN AU
- <U0D4D>     /xe0/xb5/x8d MALAYALAM SIGN VIRAMA
-+<U0D4E>     /xe0/xb5/x8e MALAYALAM LETTER DOT REPH
- <U0D57>     /xe0/xb5/x97 MALAYALAM AU LENGTH MARK
- <U0D60>     /xe0/xb5/xa0 MALAYALAM LETTER VOCALIC RR
- <U0D61>     /xe0/xb5/xa1 MALAYALAM LETTER VOCALIC LL
-@@ -3131,6 +3252,10 @@ CHARMAP
- <U0F89>     /xe0/xbe/x89 TIBETAN SIGN MCHU CAN
- <U0F8A>     /xe0/xbe/x8a TIBETAN SIGN GRU CAN RGYINGS
- <U0F8B>     /xe0/xbe/x8b TIBETAN SIGN GRU MED RGYINGS
-+<U0F8C>     /xe0/xbe/x8c TIBETAN SIGN INVERTED MCHU CAN
-+<U0F8D>     /xe0/xbe/x8d TIBETAN SUBJOINED SIGN LCE TSA CAN
-+<U0F8E>     /xe0/xbe/x8e TIBETAN SUBJOINED SIGN MCHU CAN
-+<U0F8F>     /xe0/xbe/x8f TIBETAN SUBJOINED SIGN INVERTED MCHU CAN
- <U0F90>     /xe0/xbe/x90 TIBETAN SUBJOINED LETTER KA
- <U0F91>     /xe0/xbe/x91 TIBETAN SUBJOINED LETTER KHA
- <U0F92>     /xe0/xbe/x92 TIBETAN SUBJOINED LETTER GA
-@@ -3197,6 +3322,12 @@ CHARMAP
- <U0FD2>     /xe0/xbf/x92 TIBETAN MARK NYIS TSHEG
- <U0FD3>     /xe0/xbf/x93 TIBETAN MARK INITIAL BRDA RNYING YIG MGO MDUN MA
- <U0FD4>     /xe0/xbf/x94 TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA
-+<U0FD5>     /xe0/xbf/x95 RIGHT-FACING SVASTI SIGN
-+<U0FD6>     /xe0/xbf/x96 LEFT-FACING SVASTI SIGN
-+<U0FD7>     /xe0/xbf/x97 RIGHT-FACING SVASTI SIGN WITH DOTS
-+<U0FD8>     /xe0/xbf/x98 LEFT-FACING SVASTI SIGN WITH DOTS
-+<U0FD9>     /xe0/xbf/x99 TIBETAN MARK LEADING MCHAN RTAGS
-+<U0FDA>     /xe0/xbf/x9a TIBETAN MARK TRAILING MCHAN RTAGS
- <U1000>     /xe1/x80/x80 MYANMAR LETTER KA
- <U1001>     /xe1/x80/x81 MYANMAR LETTER KHA
- <U1002>     /xe1/x80/x82 MYANMAR LETTER GA
-@@ -3351,6 +3482,10 @@ CHARMAP
- <U1097>     /xe1/x82/x97 MYANMAR SHAN DIGIT SEVEN
- <U1098>     /xe1/x82/x98 MYANMAR SHAN DIGIT EIGHT
- <U1099>     /xe1/x82/x99 MYANMAR SHAN DIGIT NINE
-+<U109A>     /xe1/x82/x9a MYANMAR SIGN KHAMTI TONE-1
-+<U109B>     /xe1/x82/x9b MYANMAR SIGN KHAMTI TONE-3
-+<U109C>     /xe1/x82/x9c MYANMAR VOWEL SIGN AITON A
-+<U109D>     /xe1/x82/x9d MYANMAR VOWEL SIGN AITON AI
- <U109E>     /xe1/x82/x9e MYANMAR SYMBOL SHAN ONE
- <U109F>     /xe1/x82/x9f MYANMAR SYMBOL SHAN EXCLAMATION
- <U10A0>     /xe1/x82/xa0 GEORGIAN CAPITAL LETTER AN
-@@ -3526,6 +3661,11 @@ CHARMAP
- <U1157>     /xe1/x85/x97 HANGUL CHOSEONG KAPYEOUNPHIEUPH
- <U1158>     /xe1/x85/x98 HANGUL CHOSEONG SSANGHIEUH
- <U1159>     /xe1/x85/x99 HANGUL CHOSEONG YEORINHIEUH
-+<U115A>     /xe1/x85/x9a HANGUL CHOSEONG KIYEOK-TIKEUT
-+<U115B>     /xe1/x85/x9b HANGUL CHOSEONG NIEUN-SIOS
-+<U115C>     /xe1/x85/x9c HANGUL CHOSEONG NIEUN-CIEUC
-+<U115D>     /xe1/x85/x9d HANGUL CHOSEONG NIEUN-HIEUH
-+<U115E>     /xe1/x85/x9e HANGUL CHOSEONG TIKEUT-RIEUL
- <U115F>     /xe1/x85/x9f HANGUL CHOSEONG FILLER
- <U1160>     /xe1/x85/xa0 HANGUL JUNGSEONG FILLER
- <U1161>     /xe1/x85/xa1 HANGUL JUNGSEONG A
-@@ -3594,6 +3734,11 @@ CHARMAP
- <U11A0>     /xe1/x86/xa0 HANGUL JUNGSEONG ARAEA-U
- <U11A1>     /xe1/x86/xa1 HANGUL JUNGSEONG ARAEA-I
- <U11A2>     /xe1/x86/xa2 HANGUL JUNGSEONG SSANGARAEA
-+<U11A3>     /xe1/x86/xa3 HANGUL JUNGSEONG A-EU
-+<U11A4>     /xe1/x86/xa4 HANGUL JUNGSEONG YA-U
-+<U11A5>     /xe1/x86/xa5 HANGUL JUNGSEONG YEO-YA
-+<U11A6>     /xe1/x86/xa6 HANGUL JUNGSEONG O-YA
-+<U11A7>     /xe1/x86/xa7 HANGUL JUNGSEONG O-YAE
- <U11A8>     /xe1/x86/xa8 HANGUL JONGSEONG KIYEOK
- <U11A9>     /xe1/x86/xa9 HANGUL JONGSEONG SSANGKIYEOK
- <U11AA>     /xe1/x86/xaa HANGUL JONGSEONG KIYEOK-SIOS
-@@ -3676,6 +3821,12 @@ CHARMAP
- <U11F7>     /xe1/x87/xb7 HANGUL JONGSEONG HIEUH-MIEUM
- <U11F8>     /xe1/x87/xb8 HANGUL JONGSEONG HIEUH-PIEUP
- <U11F9>     /xe1/x87/xb9 HANGUL JONGSEONG YEORINHIEUH
-+<U11FA>     /xe1/x87/xba HANGUL JONGSEONG KIYEOK-NIEUN
-+<U11FB>     /xe1/x87/xbb HANGUL JONGSEONG KIYEOK-PIEUP
-+<U11FC>     /xe1/x87/xbc HANGUL JONGSEONG KIYEOK-CHIEUCH
-+<U11FD>     /xe1/x87/xbd HANGUL JONGSEONG KIYEOK-KHIEUKH
-+<U11FE>     /xe1/x87/xbe HANGUL JONGSEONG KIYEOK-HIEUH
-+<U11FF>     /xe1/x87/xbf HANGUL JONGSEONG SSANGNIEUN
- <U1200>     /xe1/x88/x80 ETHIOPIC SYLLABLE HA
- <U1201>     /xe1/x88/x81 ETHIOPIC SYLLABLE HU
- <U1202>     /xe1/x88/x82 ETHIOPIC SYLLABLE HI
-@@ -4002,6 +4153,8 @@ CHARMAP
- <U1358>     /xe1/x8d/x98 ETHIOPIC SYLLABLE RYA
- <U1359>     /xe1/x8d/x99 ETHIOPIC SYLLABLE MYA
- <U135A>     /xe1/x8d/x9a ETHIOPIC SYLLABLE FYA
-+<U135D>     /xe1/x8d/x9d ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK
-+<U135E>     /xe1/x8d/x9e ETHIOPIC COMBINING VOWEL LENGTH MARK
- <U135F>     /xe1/x8d/x9f ETHIOPIC COMBINING GEMINATION MARK
- <U1360>     /xe1/x8d/xa0 ETHIOPIC SECTION MARK
- <U1361>     /xe1/x8d/xa1 ETHIOPIC WORDSPACE
-@@ -4143,6 +4296,7 @@ CHARMAP
- <U13F2>     /xe1/x8f/xb2 CHEROKEE LETTER YO
- <U13F3>     /xe1/x8f/xb3 CHEROKEE LETTER YU
- <U13F4>     /xe1/x8f/xb4 CHEROKEE LETTER YV
-+<U1400>     /xe1/x90/x80 CANADIAN SYLLABICS HYPHEN
- <U1401>     /xe1/x90/x81 CANADIAN SYLLABICS E
- <U1402>     /xe1/x90/x82 CANADIAN SYLLABICS AAI
- <U1403>     /xe1/x90/x83 CANADIAN SYLLABICS I
-@@ -4773,6 +4927,15 @@ CHARMAP
- <U1674>     /xe1/x99/xb4 CANADIAN SYLLABICS NNGOO
- <U1675>     /xe1/x99/xb5 CANADIAN SYLLABICS NNGA
- <U1676>     /xe1/x99/xb6 CANADIAN SYLLABICS NNGAA
-+<U1677>     /xe1/x99/xb7 CANADIAN SYLLABICS WOODS-CREE THWEE
-+<U1678>     /xe1/x99/xb8 CANADIAN SYLLABICS WOODS-CREE THWI
-+<U1679>     /xe1/x99/xb9 CANADIAN SYLLABICS WOODS-CREE THWII
-+<U167A>     /xe1/x99/xba CANADIAN SYLLABICS WOODS-CREE THWO
-+<U167B>     /xe1/x99/xbb CANADIAN SYLLABICS WOODS-CREE THWOO
-+<U167C>     /xe1/x99/xbc CANADIAN SYLLABICS WOODS-CREE THWA
-+<U167D>     /xe1/x99/xbd CANADIAN SYLLABICS WOODS-CREE THWAA
-+<U167E>     /xe1/x99/xbe CANADIAN SYLLABICS WOODS-CREE FINAL TH
-+<U167F>     /xe1/x99/xbf CANADIAN SYLLABICS BLACKFOOT W
- <U1680>     /xe1/x9a/x80 OGHAM SPACE MARK
- <U1681>     /xe1/x9a/x81 OGHAM LETTER BEITH
- <U1682>     /xe1/x9a/x82 OGHAM LETTER LUIS
-@@ -5234,6 +5397,76 @@ CHARMAP
- <U18A8>     /xe1/xa2/xa8 MONGOLIAN LETTER MANCHU ALI GALI BHA
- <U18A9>     /xe1/xa2/xa9 MONGOLIAN LETTER ALI GALI DAGALGA
- <U18AA>     /xe1/xa2/xaa MONGOLIAN LETTER MANCHU ALI GALI LHA
-+<U18B0>     /xe1/xa2/xb0 CANADIAN SYLLABICS OY
-+<U18B1>     /xe1/xa2/xb1 CANADIAN SYLLABICS AY
-+<U18B2>     /xe1/xa2/xb2 CANADIAN SYLLABICS AAY
-+<U18B3>     /xe1/xa2/xb3 CANADIAN SYLLABICS WAY
-+<U18B4>     /xe1/xa2/xb4 CANADIAN SYLLABICS POY
-+<U18B5>     /xe1/xa2/xb5 CANADIAN SYLLABICS PAY
-+<U18B6>     /xe1/xa2/xb6 CANADIAN SYLLABICS PWOY
-+<U18B7>     /xe1/xa2/xb7 CANADIAN SYLLABICS TAY
-+<U18B8>     /xe1/xa2/xb8 CANADIAN SYLLABICS KAY
-+<U18B9>     /xe1/xa2/xb9 CANADIAN SYLLABICS KWAY
-+<U18BA>     /xe1/xa2/xba CANADIAN SYLLABICS MAY
-+<U18BB>     /xe1/xa2/xbb CANADIAN SYLLABICS NOY
-+<U18BC>     /xe1/xa2/xbc CANADIAN SYLLABICS NAY
-+<U18BD>     /xe1/xa2/xbd CANADIAN SYLLABICS LAY
-+<U18BE>     /xe1/xa2/xbe CANADIAN SYLLABICS SOY
-+<U18BF>     /xe1/xa2/xbf CANADIAN SYLLABICS SAY
-+<U18C0>     /xe1/xa3/x80 CANADIAN SYLLABICS SHOY
-+<U18C1>     /xe1/xa3/x81 CANADIAN SYLLABICS SHAY
-+<U18C2>     /xe1/xa3/x82 CANADIAN SYLLABICS SHWOY
-+<U18C3>     /xe1/xa3/x83 CANADIAN SYLLABICS YOY
-+<U18C4>     /xe1/xa3/x84 CANADIAN SYLLABICS YAY
-+<U18C5>     /xe1/xa3/x85 CANADIAN SYLLABICS RAY
-+<U18C6>     /xe1/xa3/x86 CANADIAN SYLLABICS NWI
-+<U18C7>     /xe1/xa3/x87 CANADIAN SYLLABICS OJIBWAY NWI
-+<U18C8>     /xe1/xa3/x88 CANADIAN SYLLABICS NWII
-+<U18C9>     /xe1/xa3/x89 CANADIAN SYLLABICS OJIBWAY NWII
-+<U18CA>     /xe1/xa3/x8a CANADIAN SYLLABICS NWO
-+<U18CB>     /xe1/xa3/x8b CANADIAN SYLLABICS OJIBWAY NWO
-+<U18CC>     /xe1/xa3/x8c CANADIAN SYLLABICS NWOO
-+<U18CD>     /xe1/xa3/x8d CANADIAN SYLLABICS OJIBWAY NWOO
-+<U18CE>     /xe1/xa3/x8e CANADIAN SYLLABICS RWEE
-+<U18CF>     /xe1/xa3/x8f CANADIAN SYLLABICS RWI
-+<U18D0>     /xe1/xa3/x90 CANADIAN SYLLABICS RWII
-+<U18D1>     /xe1/xa3/x91 CANADIAN SYLLABICS RWO
-+<U18D2>     /xe1/xa3/x92 CANADIAN SYLLABICS RWOO
-+<U18D3>     /xe1/xa3/x93 CANADIAN SYLLABICS RWA
-+<U18D4>     /xe1/xa3/x94 CANADIAN SYLLABICS OJIBWAY P
-+<U18D5>     /xe1/xa3/x95 CANADIAN SYLLABICS OJIBWAY T
-+<U18D6>     /xe1/xa3/x96 CANADIAN SYLLABICS OJIBWAY K
-+<U18D7>     /xe1/xa3/x97 CANADIAN SYLLABICS OJIBWAY C
-+<U18D8>     /xe1/xa3/x98 CANADIAN SYLLABICS OJIBWAY M
-+<U18D9>     /xe1/xa3/x99 CANADIAN SYLLABICS OJIBWAY N
-+<U18DA>     /xe1/xa3/x9a CANADIAN SYLLABICS OJIBWAY S
-+<U18DB>     /xe1/xa3/x9b CANADIAN SYLLABICS OJIBWAY SH
-+<U18DC>     /xe1/xa3/x9c CANADIAN SYLLABICS EASTERN W
-+<U18DD>     /xe1/xa3/x9d CANADIAN SYLLABICS WESTERN W
-+<U18DE>     /xe1/xa3/x9e CANADIAN SYLLABICS FINAL SMALL RING
-+<U18DF>     /xe1/xa3/x9f CANADIAN SYLLABICS FINAL RAISED DOT
-+<U18E0>     /xe1/xa3/xa0 CANADIAN SYLLABICS R-CREE RWE
-+<U18E1>     /xe1/xa3/xa1 CANADIAN SYLLABICS WEST-CREE LOO
-+<U18E2>     /xe1/xa3/xa2 CANADIAN SYLLABICS WEST-CREE LAA
-+<U18E3>     /xe1/xa3/xa3 CANADIAN SYLLABICS THWE
-+<U18E4>     /xe1/xa3/xa4 CANADIAN SYLLABICS THWA
-+<U18E5>     /xe1/xa3/xa5 CANADIAN SYLLABICS TTHWE
-+<U18E6>     /xe1/xa3/xa6 CANADIAN SYLLABICS TTHOO
-+<U18E7>     /xe1/xa3/xa7 CANADIAN SYLLABICS TTHAA
-+<U18E8>     /xe1/xa3/xa8 CANADIAN SYLLABICS TLHWE
-+<U18E9>     /xe1/xa3/xa9 CANADIAN SYLLABICS TLHOO
-+<U18EA>     /xe1/xa3/xaa CANADIAN SYLLABICS SAYISI SHWE
-+<U18EB>     /xe1/xa3/xab CANADIAN SYLLABICS SAYISI SHOO
-+<U18EC>     /xe1/xa3/xac CANADIAN SYLLABICS SAYISI HOO
-+<U18ED>     /xe1/xa3/xad CANADIAN SYLLABICS CARRIER GWU
-+<U18EE>     /xe1/xa3/xae CANADIAN SYLLABICS CARRIER DENE GEE
-+<U18EF>     /xe1/xa3/xaf CANADIAN SYLLABICS CARRIER GAA
-+<U18F0>     /xe1/xa3/xb0 CANADIAN SYLLABICS CARRIER GWA
-+<U18F1>     /xe1/xa3/xb1 CANADIAN SYLLABICS SAYISI JUU
-+<U18F2>     /xe1/xa3/xb2 CANADIAN SYLLABICS CARRIER JWA
-+<U18F3>     /xe1/xa3/xb3 CANADIAN SYLLABICS BEAVER DENE L
-+<U18F4>     /xe1/xa3/xb4 CANADIAN SYLLABICS BEAVER DENE R
-+<U18F5>     /xe1/xa3/xb5 CANADIAN SYLLABICS CARRIER DENTAL S
- <U1900>     /xe1/xa4/x80 LIMBU VOWEL-CARRIER LETTER
- <U1901>     /xe1/xa4/x81 LIMBU LETTER KA
- <U1902>     /xe1/xa4/x82 LIMBU LETTER KHA
-@@ -5377,6 +5610,8 @@ CHARMAP
- <U19A7>     /xe1/xa6/xa7 NEW TAI LUE LETTER HIGH XVA
- <U19A8>     /xe1/xa6/xa8 NEW TAI LUE LETTER LOW KVA
- <U19A9>     /xe1/xa6/xa9 NEW TAI LUE LETTER LOW XVA
-+<U19AA>     /xe1/xa6/xaa NEW TAI LUE LETTER HIGH SUA
-+<U19AB>     /xe1/xa6/xab NEW TAI LUE LETTER LOW SUA
- <U19B0>     /xe1/xa6/xb0 NEW TAI LUE VOWEL SIGN VOWEL SHORTENER
- <U19B1>     /xe1/xa6/xb1 NEW TAI LUE VOWEL SIGN AA
- <U19B2>     /xe1/xa6/xb2 NEW TAI LUE VOWEL SIGN II
-@@ -5413,6 +5648,7 @@ CHARMAP
- <U19D7>     /xe1/xa7/x97 NEW TAI LUE DIGIT SEVEN
- <U19D8>     /xe1/xa7/x98 NEW TAI LUE DIGIT EIGHT
- <U19D9>     /xe1/xa7/x99 NEW TAI LUE DIGIT NINE
-+<U19DA>     /xe1/xa7/x9a NEW TAI LUE THAM DIGIT ONE
- <U19DE>     /xe1/xa7/x9e NEW TAI LUE SIGN LAE
- <U19DF>     /xe1/xa7/x9f NEW TAI LUE SIGN LAEV
- <U19E0>     /xe1/xa7/xa0 KHMER SYMBOL PATHAMASAT
-@@ -5477,6 +5713,133 @@ CHARMAP
- <U1A1B>     /xe1/xa8/x9b BUGINESE VOWEL SIGN AE
- <U1A1E>     /xe1/xa8/x9e BUGINESE PALLAWA
- <U1A1F>     /xe1/xa8/x9f BUGINESE END OF SECTION
-+<U1A20>     /xe1/xa8/xa0 TAI THAM LETTER HIGH KA
-+<U1A21>     /xe1/xa8/xa1 TAI THAM LETTER HIGH KHA
-+<U1A22>     /xe1/xa8/xa2 TAI THAM LETTER HIGH KXA
-+<U1A23>     /xe1/xa8/xa3 TAI THAM LETTER LOW KA
-+<U1A24>     /xe1/xa8/xa4 TAI THAM LETTER LOW KXA
-+<U1A25>     /xe1/xa8/xa5 TAI THAM LETTER LOW KHA
-+<U1A26>     /xe1/xa8/xa6 TAI THAM LETTER NGA
-+<U1A27>     /xe1/xa8/xa7 TAI THAM LETTER HIGH CA
-+<U1A28>     /xe1/xa8/xa8 TAI THAM LETTER HIGH CHA
-+<U1A29>     /xe1/xa8/xa9 TAI THAM LETTER LOW CA
-+<U1A2A>     /xe1/xa8/xaa TAI THAM LETTER LOW SA
-+<U1A2B>     /xe1/xa8/xab TAI THAM LETTER LOW CHA
-+<U1A2C>     /xe1/xa8/xac TAI THAM LETTER NYA
-+<U1A2D>     /xe1/xa8/xad TAI THAM LETTER RATA
-+<U1A2E>     /xe1/xa8/xae TAI THAM LETTER HIGH RATHA
-+<U1A2F>     /xe1/xa8/xaf TAI THAM LETTER DA
-+<U1A30>     /xe1/xa8/xb0 TAI THAM LETTER LOW RATHA
-+<U1A31>     /xe1/xa8/xb1 TAI THAM LETTER RANA
-+<U1A32>     /xe1/xa8/xb2 TAI THAM LETTER HIGH TA
-+<U1A33>     /xe1/xa8/xb3 TAI THAM LETTER HIGH THA
-+<U1A34>     /xe1/xa8/xb4 TAI THAM LETTER LOW TA
-+<U1A35>     /xe1/xa8/xb5 TAI THAM LETTER LOW THA
-+<U1A36>     /xe1/xa8/xb6 TAI THAM LETTER NA
-+<U1A37>     /xe1/xa8/xb7 TAI THAM LETTER BA
-+<U1A38>     /xe1/xa8/xb8 TAI THAM LETTER HIGH PA
-+<U1A39>     /xe1/xa8/xb9 TAI THAM LETTER HIGH PHA
-+<U1A3A>     /xe1/xa8/xba TAI THAM LETTER HIGH FA
-+<U1A3B>     /xe1/xa8/xbb TAI THAM LETTER LOW PA
-+<U1A3C>     /xe1/xa8/xbc TAI THAM LETTER LOW FA
-+<U1A3D>     /xe1/xa8/xbd TAI THAM LETTER LOW PHA
-+<U1A3E>     /xe1/xa8/xbe TAI THAM LETTER MA
-+<U1A3F>     /xe1/xa8/xbf TAI THAM LETTER LOW YA
-+<U1A40>     /xe1/xa9/x80 TAI THAM LETTER HIGH YA
-+<U1A41>     /xe1/xa9/x81 TAI THAM LETTER RA
-+<U1A42>     /xe1/xa9/x82 TAI THAM LETTER RUE
-+<U1A43>     /xe1/xa9/x83 TAI THAM LETTER LA
-+<U1A44>     /xe1/xa9/x84 TAI THAM LETTER LUE
-+<U1A45>     /xe1/xa9/x85 TAI THAM LETTER WA
-+<U1A46>     /xe1/xa9/x86 TAI THAM LETTER HIGH SHA
-+<U1A47>     /xe1/xa9/x87 TAI THAM LETTER HIGH SSA
-+<U1A48>     /xe1/xa9/x88 TAI THAM LETTER HIGH SA
-+<U1A49>     /xe1/xa9/x89 TAI THAM LETTER HIGH HA
-+<U1A4A>     /xe1/xa9/x8a TAI THAM LETTER LLA
-+<U1A4B>     /xe1/xa9/x8b TAI THAM LETTER A
-+<U1A4C>     /xe1/xa9/x8c TAI THAM LETTER LOW HA
-+<U1A4D>     /xe1/xa9/x8d TAI THAM LETTER I
-+<U1A4E>     /xe1/xa9/x8e TAI THAM LETTER II
-+<U1A4F>     /xe1/xa9/x8f TAI THAM LETTER U
-+<U1A50>     /xe1/xa9/x90 TAI THAM LETTER UU
-+<U1A51>     /xe1/xa9/x91 TAI THAM LETTER EE
-+<U1A52>     /xe1/xa9/x92 TAI THAM LETTER OO
-+<U1A53>     /xe1/xa9/x93 TAI THAM LETTER LAE
-+<U1A54>     /xe1/xa9/x94 TAI THAM LETTER GREAT SA
-+<U1A55>     /xe1/xa9/x95 TAI THAM CONSONANT SIGN MEDIAL RA
-+<U1A56>     /xe1/xa9/x96 TAI THAM CONSONANT SIGN MEDIAL LA
-+<U1A57>     /xe1/xa9/x97 TAI THAM CONSONANT SIGN LA TANG LAI
-+<U1A58>     /xe1/xa9/x98 TAI THAM SIGN MAI KANG LAI
-+<U1A59>     /xe1/xa9/x99 TAI THAM CONSONANT SIGN FINAL NGA
-+<U1A5A>     /xe1/xa9/x9a TAI THAM CONSONANT SIGN LOW PA
-+<U1A5B>     /xe1/xa9/x9b TAI THAM CONSONANT SIGN HIGH RATHA OR LOW PA
-+<U1A5C>     /xe1/xa9/x9c TAI THAM CONSONANT SIGN MA
-+<U1A5D>     /xe1/xa9/x9d TAI THAM CONSONANT SIGN BA
-+<U1A5E>     /xe1/xa9/x9e TAI THAM CONSONANT SIGN SA
-+<U1A60>     /xe1/xa9/xa0 TAI THAM SIGN SAKOT
-+<U1A61>     /xe1/xa9/xa1 TAI THAM VOWEL SIGN A
-+<U1A62>     /xe1/xa9/xa2 TAI THAM VOWEL SIGN MAI SAT
-+<U1A63>     /xe1/xa9/xa3 TAI THAM VOWEL SIGN AA
-+<U1A64>     /xe1/xa9/xa4 TAI THAM VOWEL SIGN TALL AA
-+<U1A65>     /xe1/xa9/xa5 TAI THAM VOWEL SIGN I
-+<U1A66>     /xe1/xa9/xa6 TAI THAM VOWEL SIGN II
-+<U1A67>     /xe1/xa9/xa7 TAI THAM VOWEL SIGN UE
-+<U1A68>     /xe1/xa9/xa8 TAI THAM VOWEL SIGN UUE
-+<U1A69>     /xe1/xa9/xa9 TAI THAM VOWEL SIGN U
-+<U1A6A>     /xe1/xa9/xaa TAI THAM VOWEL SIGN UU
-+<U1A6B>     /xe1/xa9/xab TAI THAM VOWEL SIGN O
-+<U1A6C>     /xe1/xa9/xac TAI THAM VOWEL SIGN OA BELOW
-+<U1A6D>     /xe1/xa9/xad TAI THAM VOWEL SIGN OY
-+<U1A6E>     /xe1/xa9/xae TAI THAM VOWEL SIGN E
-+<U1A6F>     /xe1/xa9/xaf TAI THAM VOWEL SIGN AE
-+<U1A70>     /xe1/xa9/xb0 TAI THAM VOWEL SIGN OO
-+<U1A71>     /xe1/xa9/xb1 TAI THAM VOWEL SIGN AI
-+<U1A72>     /xe1/xa9/xb2 TAI THAM VOWEL SIGN THAM AI
-+<U1A73>     /xe1/xa9/xb3 TAI THAM VOWEL SIGN OA ABOVE
-+<U1A74>     /xe1/xa9/xb4 TAI THAM SIGN MAI KANG
-+<U1A75>     /xe1/xa9/xb5 TAI THAM SIGN TONE-1
-+<U1A76>     /xe1/xa9/xb6 TAI THAM SIGN TONE-2
-+<U1A77>     /xe1/xa9/xb7 TAI THAM SIGN KHUEN TONE-3
-+<U1A78>     /xe1/xa9/xb8 TAI THAM SIGN KHUEN TONE-4
-+<U1A79>     /xe1/xa9/xb9 TAI THAM SIGN KHUEN TONE-5
-+<U1A7A>     /xe1/xa9/xba TAI THAM SIGN RA HAAM
-+<U1A7B>     /xe1/xa9/xbb TAI THAM SIGN MAI SAM
-+<U1A7C>     /xe1/xa9/xbc TAI THAM SIGN KHUEN-LUE KARAN
-+<U1A7F>     /xe1/xa9/xbf TAI THAM COMBINING CRYPTOGRAMMIC DOT
-+<U1A80>     /xe1/xaa/x80 TAI THAM HORA DIGIT ZERO
-+<U1A81>     /xe1/xaa/x81 TAI THAM HORA DIGIT ONE
-+<U1A82>     /xe1/xaa/x82 TAI THAM HORA DIGIT TWO
-+<U1A83>     /xe1/xaa/x83 TAI THAM HORA DIGIT THREE
-+<U1A84>     /xe1/xaa/x84 TAI THAM HORA DIGIT FOUR
-+<U1A85>     /xe1/xaa/x85 TAI THAM HORA DIGIT FIVE
-+<U1A86>     /xe1/xaa/x86 TAI THAM HORA DIGIT SIX
-+<U1A87>     /xe1/xaa/x87 TAI THAM HORA DIGIT SEVEN
-+<U1A88>     /xe1/xaa/x88 TAI THAM HORA DIGIT EIGHT
-+<U1A89>     /xe1/xaa/x89 TAI THAM HORA DIGIT NINE
-+<U1A90>     /xe1/xaa/x90 TAI THAM THAM DIGIT ZERO
-+<U1A91>     /xe1/xaa/x91 TAI THAM THAM DIGIT ONE
-+<U1A92>     /xe1/xaa/x92 TAI THAM THAM DIGIT TWO
-+<U1A93>     /xe1/xaa/x93 TAI THAM THAM DIGIT THREE
-+<U1A94>     /xe1/xaa/x94 TAI THAM THAM DIGIT FOUR
-+<U1A95>     /xe1/xaa/x95 TAI THAM THAM DIGIT FIVE
-+<U1A96>     /xe1/xaa/x96 TAI THAM THAM DIGIT SIX
-+<U1A97>     /xe1/xaa/x97 TAI THAM THAM DIGIT SEVEN
-+<U1A98>     /xe1/xaa/x98 TAI THAM THAM DIGIT EIGHT
-+<U1A99>     /xe1/xaa/x99 TAI THAM THAM DIGIT NINE
-+<U1AA0>     /xe1/xaa/xa0 TAI THAM SIGN WIANG
-+<U1AA1>     /xe1/xaa/xa1 TAI THAM SIGN WIANGWAAK
-+<U1AA2>     /xe1/xaa/xa2 TAI THAM SIGN SAWAN
-+<U1AA3>     /xe1/xaa/xa3 TAI THAM SIGN KEOW
-+<U1AA4>     /xe1/xaa/xa4 TAI THAM SIGN HOY
-+<U1AA5>     /xe1/xaa/xa5 TAI THAM SIGN DOKMAI
-+<U1AA6>     /xe1/xaa/xa6 TAI THAM SIGN REVERSED ROTATED RANA
-+<U1AA7>     /xe1/xaa/xa7 TAI THAM SIGN MAI YAMOK
-+<U1AA8>     /xe1/xaa/xa8 TAI THAM SIGN KAAN
-+<U1AA9>     /xe1/xaa/xa9 TAI THAM SIGN KAANKUU
-+<U1AAA>     /xe1/xaa/xaa TAI THAM SIGN SATKAAN
-+<U1AAB>     /xe1/xaa/xab TAI THAM SIGN SATKAANKUU
-+<U1AAC>     /xe1/xaa/xac TAI THAM SIGN HANG
-+<U1AAD>     /xe1/xaa/xad TAI THAM SIGN CAANG
- <U1B00>     /xe1/xac/x80 BALINESE SIGN ULU RICEM
- <U1B01>     /xe1/xac/x81 BALINESE SIGN ULU CANDRA
- <U1B02>     /xe1/xac/x82 BALINESE SIGN CECEK
-@@ -5653,6 +6016,62 @@ CHARMAP
- <U1BB7>     /xe1/xae/xb7 SUNDANESE DIGIT SEVEN
- <U1BB8>     /xe1/xae/xb8 SUNDANESE DIGIT EIGHT
- <U1BB9>     /xe1/xae/xb9 SUNDANESE DIGIT NINE
-+<U1BC0>     /xe1/xaf/x80 BATAK LETTER A
-+<U1BC1>     /xe1/xaf/x81 BATAK LETTER SIMALUNGUN A
-+<U1BC2>     /xe1/xaf/x82 BATAK LETTER HA
-+<U1BC3>     /xe1/xaf/x83 BATAK LETTER SIMALUNGUN HA
-+<U1BC4>     /xe1/xaf/x84 BATAK LETTER MANDAILING HA
-+<U1BC5>     /xe1/xaf/x85 BATAK LETTER BA
-+<U1BC6>     /xe1/xaf/x86 BATAK LETTER KARO BA
-+<U1BC7>     /xe1/xaf/x87 BATAK LETTER PA
-+<U1BC8>     /xe1/xaf/x88 BATAK LETTER SIMALUNGUN PA
-+<U1BC9>     /xe1/xaf/x89 BATAK LETTER NA
-+<U1BCA>     /xe1/xaf/x8a BATAK LETTER MANDAILING NA
-+<U1BCB>     /xe1/xaf/x8b BATAK LETTER WA
-+<U1BCC>     /xe1/xaf/x8c BATAK LETTER SIMALUNGUN WA
-+<U1BCD>     /xe1/xaf/x8d BATAK LETTER PAKPAK WA
-+<U1BCE>     /xe1/xaf/x8e BATAK LETTER GA
-+<U1BCF>     /xe1/xaf/x8f BATAK LETTER SIMALUNGUN GA
-+<U1BD0>     /xe1/xaf/x90 BATAK LETTER JA
-+<U1BD1>     /xe1/xaf/x91 BATAK LETTER DA
-+<U1BD2>     /xe1/xaf/x92 BATAK LETTER RA
-+<U1BD3>     /xe1/xaf/x93 BATAK LETTER SIMALUNGUN RA
-+<U1BD4>     /xe1/xaf/x94 BATAK LETTER MA
-+<U1BD5>     /xe1/xaf/x95 BATAK LETTER SIMALUNGUN MA
-+<U1BD6>     /xe1/xaf/x96 BATAK LETTER SOUTHERN TA
-+<U1BD7>     /xe1/xaf/x97 BATAK LETTER NORTHERN TA
-+<U1BD8>     /xe1/xaf/x98 BATAK LETTER SA
-+<U1BD9>     /xe1/xaf/x99 BATAK LETTER SIMALUNGUN SA
-+<U1BDA>     /xe1/xaf/x9a BATAK LETTER MANDAILING SA
-+<U1BDB>     /xe1/xaf/x9b BATAK LETTER YA
-+<U1BDC>     /xe1/xaf/x9c BATAK LETTER SIMALUNGUN YA
-+<U1BDD>     /xe1/xaf/x9d BATAK LETTER NGA
-+<U1BDE>     /xe1/xaf/x9e BATAK LETTER LA
-+<U1BDF>     /xe1/xaf/x9f BATAK LETTER SIMALUNGUN LA
-+<U1BE0>     /xe1/xaf/xa0 BATAK LETTER NYA
-+<U1BE1>     /xe1/xaf/xa1 BATAK LETTER CA
-+<U1BE2>     /xe1/xaf/xa2 BATAK LETTER NDA
-+<U1BE3>     /xe1/xaf/xa3 BATAK LETTER MBA
-+<U1BE4>     /xe1/xaf/xa4 BATAK LETTER I
-+<U1BE5>     /xe1/xaf/xa5 BATAK LETTER U
-+<U1BE6>     /xe1/xaf/xa6 BATAK SIGN TOMPI
-+<U1BE7>     /xe1/xaf/xa7 BATAK VOWEL SIGN E
-+<U1BE8>     /xe1/xaf/xa8 BATAK VOWEL SIGN PAKPAK E
-+<U1BE9>     /xe1/xaf/xa9 BATAK VOWEL SIGN EE
-+<U1BEA>     /xe1/xaf/xaa BATAK VOWEL SIGN I
-+<U1BEB>     /xe1/xaf/xab BATAK VOWEL SIGN KARO I
-+<U1BEC>     /xe1/xaf/xac BATAK VOWEL SIGN O
-+<U1BED>     /xe1/xaf/xad BATAK VOWEL SIGN KARO O
-+<U1BEE>     /xe1/xaf/xae BATAK VOWEL SIGN U
-+<U1BEF>     /xe1/xaf/xaf BATAK VOWEL SIGN U FOR SIMALUNGUN SA
-+<U1BF0>     /xe1/xaf/xb0 BATAK CONSONANT SIGN NG
-+<U1BF1>     /xe1/xaf/xb1 BATAK CONSONANT SIGN H
-+<U1BF2>     /xe1/xaf/xb2 BATAK PANGOLAT
-+<U1BF3>     /xe1/xaf/xb3 BATAK PANONGONAN
-+<U1BFC>     /xe1/xaf/xbc BATAK SYMBOL BINDU NA METEK
-+<U1BFD>     /xe1/xaf/xbd BATAK SYMBOL BINDU PINARBORAS
-+<U1BFE>     /xe1/xaf/xbe BATAK SYMBOL BINDU JUDUL
-+<U1BFF>     /xe1/xaf/xbf BATAK SYMBOL BINDU PANGOLAT
- <U1C00>     /xe1/xb0/x80 LEPCHA LETTER KA
- <U1C01>     /xe1/xb0/x81 LEPCHA LETTER KLA
- <U1C02>     /xe1/xb0/x82 LEPCHA LETTER KHA
-@@ -5775,6 +6194,41 @@ CHARMAP
- <U1C7D>     /xe1/xb1/xbd OL CHIKI AHAD
- <U1C7E>     /xe1/xb1/xbe OL CHIKI PUNCTUATION MUCAAD
- <U1C7F>     /xe1/xb1/xbf OL CHIKI PUNCTUATION DOUBLE MUCAAD
-+<U1CD0>     /xe1/xb3/x90 VEDIC TONE KARSHANA
-+<U1CD1>     /xe1/xb3/x91 VEDIC TONE SHARA
-+<U1CD2>     /xe1/xb3/x92 VEDIC TONE PRENKHA
-+<U1CD3>     /xe1/xb3/x93 VEDIC SIGN NIHSHVASA
-+<U1CD4>     /xe1/xb3/x94 VEDIC SIGN YAJURVEDIC MIDLINE SVARITA
-+<U1CD5>     /xe1/xb3/x95 VEDIC TONE YAJURVEDIC AGGRAVATED INDEPENDENT SVARITA
-+<U1CD6>     /xe1/xb3/x96 VEDIC TONE YAJURVEDIC INDEPENDENT SVARITA
-+<U1CD7>     /xe1/xb3/x97 VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA
-+<U1CD8>     /xe1/xb3/x98 VEDIC TONE CANDRA BELOW
-+<U1CD9>     /xe1/xb3/x99 VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA SCHROEDER
-+<U1CDA>     /xe1/xb3/x9a VEDIC TONE DOUBLE SVARITA
-+<U1CDB>     /xe1/xb3/x9b VEDIC TONE TRIPLE SVARITA
-+<U1CDC>     /xe1/xb3/x9c VEDIC TONE KATHAKA ANUDATTA
-+<U1CDD>     /xe1/xb3/x9d VEDIC TONE DOT BELOW
-+<U1CDE>     /xe1/xb3/x9e VEDIC TONE TWO DOTS BELOW
-+<U1CDF>     /xe1/xb3/x9f VEDIC TONE THREE DOTS BELOW
-+<U1CE0>     /xe1/xb3/xa0 VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
-+<U1CE1>     /xe1/xb3/xa1 VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
-+<U1CE2>     /xe1/xb3/xa2 VEDIC SIGN VISARGA SVARITA
-+<U1CE3>     /xe1/xb3/xa3 VEDIC SIGN VISARGA UDATTA
-+<U1CE4>     /xe1/xb3/xa4 VEDIC SIGN REVERSED VISARGA UDATTA
-+<U1CE5>     /xe1/xb3/xa5 VEDIC SIGN VISARGA ANUDATTA
-+<U1CE6>     /xe1/xb3/xa6 VEDIC SIGN REVERSED VISARGA ANUDATTA
-+<U1CE7>     /xe1/xb3/xa7 VEDIC SIGN VISARGA UDATTA WITH TAIL
-+<U1CE8>     /xe1/xb3/xa8 VEDIC SIGN VISARGA ANUDATTA WITH TAIL
-+<U1CE9>     /xe1/xb3/xa9 VEDIC SIGN ANUSVARA ANTARGOMUKHA
-+<U1CEA>     /xe1/xb3/xaa VEDIC SIGN ANUSVARA BAHIRGOMUKHA
-+<U1CEB>     /xe1/xb3/xab VEDIC SIGN ANUSVARA VAMAGOMUKHA
-+<U1CEC>     /xe1/xb3/xac VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
-+<U1CED>     /xe1/xb3/xad VEDIC SIGN TIRYAK
-+<U1CEE>     /xe1/xb3/xae VEDIC SIGN HEXIFORM LONG ANUSVARA
-+<U1CEF>     /xe1/xb3/xaf VEDIC SIGN LONG ANUSVARA
-+<U1CF0>     /xe1/xb3/xb0 VEDIC SIGN RTHANG LONG ANUSVARA
-+<U1CF1>     /xe1/xb3/xb1 VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-+<U1CF2>     /xe1/xb3/xb2 VEDIC SIGN ARDHAVISARGA
- <U1D00>     /xe1/xb4/x80 LATIN LETTER SMALL CAPITAL A
- <U1D01>     /xe1/xb4/x81 LATIN LETTER SMALL CAPITAL AE
- <U1D02>     /xe1/xb4/x82 LATIN SMALL LETTER TURNED AE
-@@ -6006,6 +6460,8 @@ CHARMAP
- <U1DE4>     /xe1/xb7/xa4 COMBINING LATIN SMALL LETTER S
- <U1DE5>     /xe1/xb7/xa5 COMBINING LATIN SMALL LETTER LONG S
- <U1DE6>     /xe1/xb7/xa6 COMBINING LATIN SMALL LETTER Z
-+<U1DFC>     /xe1/xb7/xbc COMBINING DOUBLE INVERTED BREVE BELOW
-+<U1DFD>     /xe1/xb7/xbd COMBINING ALMOST EQUAL TO BELOW
- <U1DFE>     /xe1/xb7/xbe COMBINING LEFT ARROWHEAD ABOVE
- <U1DFF>     /xe1/xb7/xbf COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
- <U1E00>     /xe1/xb8/x80 LATIN CAPITAL LETTER A WITH RING BELOW
-@@ -6638,6 +7094,14 @@ CHARMAP
- <U2092>     /xe2/x82/x92 LATIN SUBSCRIPT SMALL LETTER O
- <U2093>     /xe2/x82/x93 LATIN SUBSCRIPT SMALL LETTER X
- <U2094>     /xe2/x82/x94 LATIN SUBSCRIPT SMALL LETTER SCHWA
-+<U2095>     /xe2/x82/x95 LATIN SUBSCRIPT SMALL LETTER H
-+<U2096>     /xe2/x82/x96 LATIN SUBSCRIPT SMALL LETTER K
-+<U2097>     /xe2/x82/x97 LATIN SUBSCRIPT SMALL LETTER L
-+<U2098>     /xe2/x82/x98 LATIN SUBSCRIPT SMALL LETTER M
-+<U2099>     /xe2/x82/x99 LATIN SUBSCRIPT SMALL LETTER N
-+<U209A>     /xe2/x82/x9a LATIN SUBSCRIPT SMALL LETTER P
-+<U209B>     /xe2/x82/x9b LATIN SUBSCRIPT SMALL LETTER S
-+<U209C>     /xe2/x82/x9c LATIN SUBSCRIPT SMALL LETTER T
- <U20A0>     /xe2/x82/xa0 EURO-CURRENCY SIGN
- <U20A1>     /xe2/x82/xa1 COLON SIGN
- <U20A2>     /xe2/x82/xa2 CRUZEIRO SIGN
-@@ -6660,6 +7124,10 @@ CHARMAP
- <U20B3>     /xe2/x82/xb3 AUSTRAL SIGN
- <U20B4>     /xe2/x82/xb4 HRYVNIA SIGN
- <U20B5>     /xe2/x82/xb5 CEDI SIGN
-+<U20B6>     /xe2/x82/xb6 LIVRE TOURNOIS SIGN
-+<U20B7>     /xe2/x82/xb7 SPESMILO SIGN
-+<U20B8>     /xe2/x82/xb8 TENGE SIGN
-+<U20B9>     /xe2/x82/xb9 INDIAN RUPEE SIGN
- <U20D0>     /xe2/x83/x90 COMBINING LEFT HARPOON ABOVE
- <U20D1>     /xe2/x83/x91 COMBINING RIGHT HARPOON ABOVE
- <U20D2>     /xe2/x83/x92 COMBINING LONG VERTICAL LINE OVERLAY
-@@ -6773,6 +7241,9 @@ CHARMAP
- <U214D>     /xe2/x85/x8d AKTIESELSKAB
- <U214E>     /xe2/x85/x8e TURNED SMALL F
- <U214F>     /xe2/x85/x8f SYMBOL FOR SAMARITAN SOURCE
-+<U2150>     /xe2/x85/x90 VULGAR FRACTION ONE SEVENTH
-+<U2151>     /xe2/x85/x91 VULGAR FRACTION ONE NINTH
-+<U2152>     /xe2/x85/x92 VULGAR FRACTION ONE TENTH
- <U2153>     /xe2/x85/x93 VULGAR FRACTION ONE THIRD
- <U2154>     /xe2/x85/x94 VULGAR FRACTION TWO THIRDS
- <U2155>     /xe2/x85/x95 VULGAR FRACTION ONE FIFTH
-@@ -6827,6 +7298,7 @@ CHARMAP
- <U2186>     /xe2/x86/x86 ROMAN NUMERAL FIFTY EARLY FORM
- <U2187>     /xe2/x86/x87 ROMAN NUMERAL FIFTY THOUSAND
- <U2188>     /xe2/x86/x88 ROMAN NUMERAL ONE HUNDRED THOUSAND
-+<U2189>     /xe2/x86/x89 VULGAR FRACTION ZERO THIRDS
- <U2190>     /xe2/x86/x90 LEFTWARDS ARROW
- <U2191>     /xe2/x86/x91 UPWARDS ARROW
- <U2192>     /xe2/x86/x92 RIGHTWARDS ARROW
-@@ -7427,6 +7899,18 @@ CHARMAP
- <U23E5>     /xe2/x8f/xa5 FLATNESS
- <U23E6>     /xe2/x8f/xa6 AC CURRENT
- <U23E7>     /xe2/x8f/xa7 ELECTRICAL INTERSECTION
-+<U23E8>     /xe2/x8f/xa8 DECIMAL EXPONENT SYMBOL
-+<U23E9>     /xe2/x8f/xa9 BLACK RIGHT-POINTING DOUBLE TRIANGLE
-+<U23EA>     /xe2/x8f/xaa BLACK LEFT-POINTING DOUBLE TRIANGLE
-+<U23EB>     /xe2/x8f/xab BLACK UP-POINTING DOUBLE TRIANGLE
-+<U23EC>     /xe2/x8f/xac BLACK DOWN-POINTING DOUBLE TRIANGLE
-+<U23ED>     /xe2/x8f/xad BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
-+<U23EE>     /xe2/x8f/xae BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
-+<U23EF>     /xe2/x8f/xaf BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR
-+<U23F0>     /xe2/x8f/xb0 ALARM CLOCK
-+<U23F1>     /xe2/x8f/xb1 STOPWATCH
-+<U23F2>     /xe2/x8f/xb2 TIMER CLOCK
-+<U23F3>     /xe2/x8f/xb3 HOURGLASS WITH FLOWING SAND
- <U2400>     /xe2/x90/x80 SYMBOL FOR NULL
- <U2401>     /xe2/x90/x81 SYMBOL FOR START OF HEADING
- <U2402>     /xe2/x90/x82 SYMBOL FOR START OF TEXT
-@@ -8051,6 +8535,8 @@ CHARMAP
- <U269B>     /xe2/x9a/x9b ATOM SYMBOL
- <U269C>     /xe2/x9a/x9c FLEUR-DE-LIS
- <U269D>     /xe2/x9a/x9d OUTLINED WHITE STAR
-+<U269E>     /xe2/x9a/x9e THREE LINES CONVERGING RIGHT
-+<U269F>     /xe2/x9a/x9f THREE LINES CONVERGING LEFT
- <U26A0>     /xe2/x9a/xa0 WARNING SIGN
- <U26A1>     /xe2/x9a/xa1 HIGH VOLTAGE SIGN
- <U26A2>     /xe2/x9a/xa2 DOUBLED FEMALE SIGN
-@@ -8080,18 +8566,84 @@ CHARMAP
- <U26BA>     /xe2/x9a/xba SEMISEXTILE
- <U26BB>     /xe2/x9a/xbb QUINCUNX
- <U26BC>     /xe2/x9a/xbc SESQUIQUADRATE
-+<U26BD>     /xe2/x9a/xbd SOCCER BALL
-+<U26BE>     /xe2/x9a/xbe BASEBALL
-+<U26BF>     /xe2/x9a/xbf SQUARED KEY
- <U26C0>     /xe2/x9b/x80 WHITE DRAUGHTS MAN
- <U26C1>     /xe2/x9b/x81 WHITE DRAUGHTS KING
- <U26C2>     /xe2/x9b/x82 BLACK DRAUGHTS MAN
- <U26C3>     /xe2/x9b/x83 BLACK DRAUGHTS KING
-+<U26C4>     /xe2/x9b/x84 SNOWMAN WITHOUT SNOW
-+<U26C5>     /xe2/x9b/x85 SUN BEHIND CLOUD
-+<U26C6>     /xe2/x9b/x86 RAIN
-+<U26C7>     /xe2/x9b/x87 BLACK SNOWMAN
-+<U26C8>     /xe2/x9b/x88 THUNDER CLOUD AND RAIN
-+<U26C9>     /xe2/x9b/x89 TURNED WHITE SHOGI PIECE
-+<U26CA>     /xe2/x9b/x8a TURNED BLACK SHOGI PIECE
-+<U26CB>     /xe2/x9b/x8b WHITE DIAMOND IN SQUARE
-+<U26CC>     /xe2/x9b/x8c CROSSING LANES
-+<U26CD>     /xe2/x9b/x8d DISABLED CAR
-+<U26CE>     /xe2/x9b/x8e OPHIUCHUS
-+<U26CF>     /xe2/x9b/x8f PICK
-+<U26D0>     /xe2/x9b/x90 CAR SLIDING
-+<U26D1>     /xe2/x9b/x91 HELMET WITH WHITE CROSS
-+<U26D2>     /xe2/x9b/x92 CIRCLED CROSSING LANES
-+<U26D3>     /xe2/x9b/x93 CHAINS
-+<U26D4>     /xe2/x9b/x94 NO ENTRY
-+<U26D5>     /xe2/x9b/x95 ALTERNATE ONE-WAY LEFT WAY TRAFFIC
-+<U26D6>     /xe2/x9b/x96 BLACK TWO-WAY LEFT WAY TRAFFIC
-+<U26D7>     /xe2/x9b/x97 WHITE TWO-WAY LEFT WAY TRAFFIC
-+<U26D8>     /xe2/x9b/x98 BLACK LEFT LANE MERGE
-+<U26D9>     /xe2/x9b/x99 WHITE LEFT LANE MERGE
-+<U26DA>     /xe2/x9b/x9a DRIVE SLOW SIGN
-+<U26DB>     /xe2/x9b/x9b HEAVY WHITE DOWN-POINTING TRIANGLE
-+<U26DC>     /xe2/x9b/x9c LEFT CLOSED ENTRY
-+<U26DD>     /xe2/x9b/x9d SQUARED SALTIRE
-+<U26DE>     /xe2/x9b/x9e FALLING DIAGONAL IN WHITE CIRCLE IN BLACK SQUARE
-+<U26DF>     /xe2/x9b/x9f BLACK TRUCK
-+<U26E0>     /xe2/x9b/xa0 RESTRICTED LEFT ENTRY-1
-+<U26E1>     /xe2/x9b/xa1 RESTRICTED LEFT ENTRY-2
-+<U26E2>     /xe2/x9b/xa2 ASTRONOMICAL SYMBOL FOR URANUS
-+<U26E3>     /xe2/x9b/xa3 HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
-+<U26E4>     /xe2/x9b/xa4 PENTAGRAM
-+<U26E5>     /xe2/x9b/xa5 RIGHT-HANDED INTERLACED PENTAGRAM
-+<U26E6>     /xe2/x9b/xa6 LEFT-HANDED INTERLACED PENTAGRAM
-+<U26E7>     /xe2/x9b/xa7 INVERTED PENTAGRAM
-+<U26E8>     /xe2/x9b/xa8 BLACK CROSS ON SHIELD
-+<U26E9>     /xe2/x9b/xa9 SHINTO SHRINE
-+<U26EA>     /xe2/x9b/xaa CHURCH
-+<U26EB>     /xe2/x9b/xab CASTLE
-+<U26EC>     /xe2/x9b/xac HISTORIC SITE
-+<U26ED>     /xe2/x9b/xad GEAR WITHOUT HUB
-+<U26EE>     /xe2/x9b/xae GEAR WITH HANDLES
-+<U26EF>     /xe2/x9b/xaf MAP SYMBOL FOR LIGHTHOUSE
-+<U26F0>     /xe2/x9b/xb0 MOUNTAIN
-+<U26F1>     /xe2/x9b/xb1 UMBRELLA ON GROUND
-+<U26F2>     /xe2/x9b/xb2 FOUNTAIN
-+<U26F3>     /xe2/x9b/xb3 FLAG IN HOLE
-+<U26F4>     /xe2/x9b/xb4 FERRY
-+<U26F5>     /xe2/x9b/xb5 SAILBOAT
-+<U26F6>     /xe2/x9b/xb6 SQUARE FOUR CORNERS
-+<U26F7>     /xe2/x9b/xb7 SKIER
-+<U26F8>     /xe2/x9b/xb8 ICE SKATE
-+<U26F9>     /xe2/x9b/xb9 PERSON WITH BALL
-+<U26FA>     /xe2/x9b/xba TENT
-+<U26FB>     /xe2/x9b/xbb JAPANESE BANK SYMBOL
-+<U26FC>     /xe2/x9b/xbc HEADSTONE GRAVEYARD SYMBOL
-+<U26FD>     /xe2/x9b/xbd FUEL PUMP
-+<U26FE>     /xe2/x9b/xbe CUP ON BLACK SQUARE
-+<U26FF>     /xe2/x9b/xbf WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
- <U2701>     /xe2/x9c/x81 UPPER BLADE SCISSORS
- <U2702>     /xe2/x9c/x82 BLACK SCISSORS
- <U2703>     /xe2/x9c/x83 LOWER BLADE SCISSORS
- <U2704>     /xe2/x9c/x84 WHITE SCISSORS
-+<U2705>     /xe2/x9c/x85 WHITE HEAVY CHECK MARK
- <U2706>     /xe2/x9c/x86 TELEPHONE LOCATION SIGN
- <U2707>     /xe2/x9c/x87 TAPE DRIVE
- <U2708>     /xe2/x9c/x88 AIRPLANE
- <U2709>     /xe2/x9c/x89 ENVELOPE
-+<U270A>     /xe2/x9c/x8a RAISED FIST
-+<U270B>     /xe2/x9c/x8b RAISED HAND
- <U270C>     /xe2/x9c/x8c VICTORY HAND
- <U270D>     /xe2/x9c/x8d WRITING HAND
- <U270E>     /xe2/x9c/x8e LOWER RIGHT PENCIL
-@@ -8120,6 +8672,7 @@ CHARMAP
- <U2725>     /xe2/x9c/xa5 FOUR CLUB-SPOKED ASTERISK
- <U2726>     /xe2/x9c/xa6 BLACK FOUR POINTED STAR
- <U2727>     /xe2/x9c/xa7 WHITE FOUR POINTED STAR
-+<U2728>     /xe2/x9c/xa8 SPARKLES
- <U2729>     /xe2/x9c/xa9 STRESS OUTLINED WHITE STAR
- <U272A>     /xe2/x9c/xaa CIRCLED WHITE STAR
- <U272B>     /xe2/x9c/xab OPEN CENTRE BLACK STAR
-@@ -8155,12 +8708,18 @@ CHARMAP
- <U2749>     /xe2/x9d/x89 BALLOON-SPOKED ASTERISK
- <U274A>     /xe2/x9d/x8a EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
- <U274B>     /xe2/x9d/x8b HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-+<U274C>     /xe2/x9d/x8c CROSS MARK
- <U274D>     /xe2/x9d/x8d SHADOWED WHITE CIRCLE
-+<U274E>     /xe2/x9d/x8e NEGATIVE SQUARED CROSS MARK
- <U274F>     /xe2/x9d/x8f LOWER RIGHT DROP-SHADOWED WHITE SQUARE
- <U2750>     /xe2/x9d/x90 UPPER RIGHT DROP-SHADOWED WHITE SQUARE
- <U2751>     /xe2/x9d/x91 LOWER RIGHT SHADOWED WHITE SQUARE
- <U2752>     /xe2/x9d/x92 UPPER RIGHT SHADOWED WHITE SQUARE
-+<U2753>     /xe2/x9d/x93 BLACK QUESTION MARK ORNAMENT
-+<U2754>     /xe2/x9d/x94 WHITE QUESTION MARK ORNAMENT
-+<U2755>     /xe2/x9d/x95 WHITE EXCLAMATION MARK ORNAMENT
- <U2756>     /xe2/x9d/x96 BLACK DIAMOND MINUS WHITE X
-+<U2757>     /xe2/x9d/x97 HEAVY EXCLAMATION MARK SYMBOL
- <U2758>     /xe2/x9d/x98 LIGHT VERTICAL BAR
- <U2759>     /xe2/x9d/x99 MEDIUM VERTICAL BAR
- <U275A>     /xe2/x9d/x9a HEAVY VERTICAL BAR
-@@ -8168,6 +8727,8 @@ CHARMAP
- <U275C>     /xe2/x9d/x9c HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT
- <U275D>     /xe2/x9d/x9d HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT
- <U275E>     /xe2/x9d/x9e HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
-+<U275F>     /xe2/x9d/x9f HEAVY LOW SINGLE COMMA QUOTATION MARK ORNAMENT
-+<U2760>     /xe2/x9d/xa0 HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT
- <U2761>     /xe2/x9d/xa1 CURVED STEM PARAGRAPH SIGN ORNAMENT
- <U2762>     /xe2/x9d/xa2 HEAVY EXCLAMATION MARK ORNAMENT
- <U2763>     /xe2/x9d/xa3 HEAVY HEART EXCLAMATION MARK ORNAMENT
-@@ -8220,6 +8781,9 @@ CHARMAP
- <U2792>     /xe2/x9e/x92 DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE
- <U2793>     /xe2/x9e/x93 DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
- <U2794>     /xe2/x9e/x94 HEAVY WIDE-HEADED RIGHTWARDS ARROW
-+<U2795>     /xe2/x9e/x95 HEAVY PLUS SIGN
-+<U2796>     /xe2/x9e/x96 HEAVY MINUS SIGN
-+<U2797>     /xe2/x9e/x97 HEAVY DIVISION SIGN
- <U2798>     /xe2/x9e/x98 HEAVY SOUTH EAST ARROW
- <U2799>     /xe2/x9e/x99 HEAVY RIGHTWARDS ARROW
- <U279A>     /xe2/x9e/x9a HEAVY NORTH EAST ARROW
-@@ -8244,6 +8808,7 @@ CHARMAP
- <U27AD>     /xe2/x9e/xad HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
- <U27AE>     /xe2/x9e/xae HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
- <U27AF>     /xe2/x9e/xaf NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-+<U27B0>     /xe2/x9e/xb0 CURLY LOOP
- <U27B1>     /xe2/x9e/xb1 NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
- <U27B2>     /xe2/x9e/xb2 CIRCLED HEAVY WHITE RIGHTWARDS ARROW
- <U27B3>     /xe2/x9e/xb3 WHITE-FEATHERED RIGHTWARDS ARROW
-@@ -8258,6 +8823,7 @@ CHARMAP
- <U27BC>     /xe2/x9e/xbc WEDGE-TAILED RIGHTWARDS ARROW
- <U27BD>     /xe2/x9e/xbd HEAVY WEDGE-TAILED RIGHTWARDS ARROW
- <U27BE>     /xe2/x9e/xbe OPEN-OUTLINED RIGHTWARDS ARROW
-+<U27BF>     /xe2/x9e/xbf DOUBLE CURLY LOOP
- <U27C0>     /xe2/x9f/x80 THREE DIMENSIONAL ANGLE
- <U27C1>     /xe2/x9f/x81 WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE
- <U27C2>     /xe2/x9f/x82 PERPENDICULAR
-@@ -8270,6 +8836,8 @@ CHARMAP
- <U27C9>     /xe2/x9f/x89 SUPERSET PRECEDING SOLIDUS
- <U27CA>     /xe2/x9f/x8a VERTICAL BAR WITH HORIZONTAL STROKE
- <U27CC>     /xe2/x9f/x8c LONG DIVISION
-+<U27CE>     /xe2/x9f/x8e SQUARED LOGICAL AND
-+<U27CF>     /xe2/x9f/x8f SQUARED LOGICAL OR
- <U27D0>     /xe2/x9f/x90 WHITE DIAMOND WITH CENTRED DOT
- <U27D1>     /xe2/x9f/x91 AND WITH DOT
- <U27D2>     /xe2/x9f/x92 ELEMENT OF OPENING UPWARDS
-@@ -9168,6 +9736,11 @@ CHARMAP
- <U2B52>     /xe2/xad/x92 WHITE SMALL STAR
- <U2B53>     /xe2/xad/x93 BLACK RIGHT-POINTING PENTAGON
- <U2B54>     /xe2/xad/x94 WHITE RIGHT-POINTING PENTAGON
-+<U2B55>     /xe2/xad/x95 HEAVY LARGE CIRCLE
-+<U2B56>     /xe2/xad/x96 HEAVY OVAL WITH OVAL INSIDE
-+<U2B57>     /xe2/xad/x97 HEAVY CIRCLE WITH CIRCLE INSIDE
-+<U2B58>     /xe2/xad/x98 HEAVY CIRCLE
-+<U2B59>     /xe2/xad/x99 HEAVY CIRCLED SALTIRE
- <U2C00>     /xe2/xb0/x80 GLAGOLITIC CAPITAL LETTER AZU
- <U2C01>     /xe2/xb0/x81 GLAGOLITIC CAPITAL LETTER BUKY
- <U2C02>     /xe2/xb0/x82 GLAGOLITIC CAPITAL LETTER VEDE
-@@ -9278,6 +9851,7 @@ CHARMAP
- <U2C6D>     /xe2/xb1/xad LATIN CAPITAL LETTER ALPHA
- <U2C6E>     /xe2/xb1/xae LATIN CAPITAL LETTER M WITH HOOK
- <U2C6F>     /xe2/xb1/xaf LATIN CAPITAL LETTER TURNED A
-+<U2C70>     /xe2/xb1/xb0 LATIN CAPITAL LETTER TURNED ALPHA
- <U2C71>     /xe2/xb1/xb1 LATIN SMALL LETTER V WITH RIGHT HOOK
- <U2C72>     /xe2/xb1/xb2 LATIN CAPITAL LETTER W WITH HOOK
- <U2C73>     /xe2/xb1/xb3 LATIN SMALL LETTER W WITH HOOK
-@@ -9291,6 +9865,8 @@ CHARMAP
- <U2C7B>     /xe2/xb1/xbb LATIN LETTER SMALL CAPITAL TURNED E
- <U2C7C>     /xe2/xb1/xbc LATIN SUBSCRIPT SMALL LETTER J
- <U2C7D>     /xe2/xb1/xbd MODIFIER LETTER CAPITAL V
-+<U2C7E>     /xe2/xb1/xbe LATIN CAPITAL LETTER S WITH SWASH TAIL
-+<U2C7F>     /xe2/xb1/xbf LATIN CAPITAL LETTER Z WITH SWASH TAIL
- <U2C80>     /xe2/xb2/x80 COPTIC CAPITAL LETTER ALFA
- <U2C81>     /xe2/xb2/x81 COPTIC SMALL LETTER ALFA
- <U2C82>     /xe2/xb2/x82 COPTIC CAPITAL LETTER VIDA
-@@ -9398,6 +9974,13 @@ CHARMAP
- <U2CE8>     /xe2/xb3/xa8 COPTIC SYMBOL TAU RO
- <U2CE9>     /xe2/xb3/xa9 COPTIC SYMBOL KHI RO
- <U2CEA>     /xe2/xb3/xaa COPTIC SYMBOL SHIMA SIMA
-+<U2CEB>     /xe2/xb3/xab COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
-+<U2CEC>     /xe2/xb3/xac COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
-+<U2CED>     /xe2/xb3/xad COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
-+<U2CEE>     /xe2/xb3/xae COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
-+<U2CEF>     /xe2/xb3/xaf COPTIC COMBINING NI ABOVE
-+<U2CF0>     /xe2/xb3/xb0 COPTIC COMBINING SPIRITUS ASPER
-+<U2CF1>     /xe2/xb3/xb1 COPTIC COMBINING SPIRITUS LENIS
- <U2CF9>     /xe2/xb3/xb9 COPTIC OLD NUBIAN FULL STOP
- <U2CFA>     /xe2/xb3/xba COPTIC OLD NUBIAN DIRECT QUESTION MARK
- <U2CFB>     /xe2/xb3/xbb COPTIC OLD NUBIAN INDIRECT QUESTION MARK
-@@ -9498,6 +10081,8 @@ CHARMAP
- <U2D64>     /xe2/xb5/xa4 TIFINAGH LETTER TAWELLEMET YAZ
- <U2D65>     /xe2/xb5/xa5 TIFINAGH LETTER YAZZ
- <U2D6F>     /xe2/xb5/xaf TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-+<U2D70>     /xe2/xb5/xb0 TIFINAGH SEPARATOR MARK
-+<U2D7F>     /xe2/xb5/xbf TIFINAGH CONSONANT JOINER
- <U2D80>     /xe2/xb6/x80 ETHIOPIC SYLLABLE LOA
- <U2D81>     /xe2/xb6/x81 ETHIOPIC SYLLABLE MOA
- <U2D82>     /xe2/xb6/x82 ETHIOPIC SYLLABLE ROA
-@@ -9658,6 +10243,7 @@ CHARMAP
- <U2E2E>     /xe2/xb8/xae REVERSED QUESTION MARK
- <U2E2F>     /xe2/xb8/xaf VERTICAL TILDE
- <U2E30>     /xe2/xb8/xb0 RING POINT
-+<U2E31>     /xe2/xb8/xb1 WORD SEPARATOR MIDDLE DOT
- <U2E80>     /xe2/xba/x80 CJK RADICAL REPEAT
- <U2E81>     /xe2/xba/x81 CJK RADICAL CLIFF
- <U2E82>     /xe2/xba/x82 CJK RADICAL SECOND ONE
-@@ -10427,6 +11013,9 @@ CHARMAP
- <U31B5>     /xe3/x86/xb5 BOPOMOFO FINAL LETTER T
- <U31B6>     /xe3/x86/xb6 BOPOMOFO FINAL LETTER K
- <U31B7>     /xe3/x86/xb7 BOPOMOFO FINAL LETTER H
-+<U31B8>     /xe3/x86/xb8 BOPOMOFO LETTER GH
-+<U31B9>     /xe3/x86/xb9 BOPOMOFO LETTER LH
-+<U31BA>     /xe3/x86/xba BOPOMOFO LETTER ZY
- <U31C0>     /xe3/x87/x80 CJK STROKE T
- <U31C1>     /xe3/x87/x81 CJK STROKE WG
- <U31C2>     /xe3/x87/x82 CJK STROKE XG
-@@ -10546,6 +11135,18 @@ CHARMAP
- <U3241>     /xe3/x89/x81 PARENTHESIZED IDEOGRAPH REST
- <U3242>     /xe3/x89/x82 PARENTHESIZED IDEOGRAPH SELF
- <U3243>     /xe3/x89/x83 PARENTHESIZED IDEOGRAPH REACH
-+<U3244>     /xe3/x89/x84 CIRCLED IDEOGRAPH QUESTION
-+<U3245>     /xe3/x89/x85 CIRCLED IDEOGRAPH KINDERGARTEN
-+<U3246>     /xe3/x89/x86 CIRCLED IDEOGRAPH SCHOOL
-+<U3247>     /xe3/x89/x87 CIRCLED IDEOGRAPH KOTO
-+<U3248>     /xe3/x89/x88 CIRCLED NUMBER TEN ON BLACK SQUARE
-+<U3249>     /xe3/x89/x89 CIRCLED NUMBER TWENTY ON BLACK SQUARE
-+<U324A>     /xe3/x89/x8a CIRCLED NUMBER THIRTY ON BLACK SQUARE
-+<U324B>     /xe3/x89/x8b CIRCLED NUMBER FORTY ON BLACK SQUARE
-+<U324C>     /xe3/x89/x8c CIRCLED NUMBER FIFTY ON BLACK SQUARE
-+<U324D>     /xe3/x89/x8d CIRCLED NUMBER SIXTY ON BLACK SQUARE
-+<U324E>     /xe3/x89/x8e CIRCLED NUMBER SEVENTY ON BLACK SQUARE
-+<U324F>     /xe3/x89/x8f CIRCLED NUMBER EIGHTY ON BLACK SQUARE
- <U3250>     /xe3/x89/x90 PARTNERSHIP SIGN
- <U3251>     /xe3/x89/x91 CIRCLED NUMBER TWENTY ONE
- <U3252>     /xe3/x89/x92 CIRCLED NUMBER TWENTY TWO
-@@ -12691,6 +13292,54 @@ CHARMAP
- <UA4C4>     /xea/x93/x84 YI RADICAL ZZIET
- <UA4C5>     /xea/x93/x85 YI RADICAL NBIE
- <UA4C6>     /xea/x93/x86 YI RADICAL KE
-+<UA4D0>     /xea/x93/x90 LISU LETTER BA
-+<UA4D1>     /xea/x93/x91 LISU LETTER PA
-+<UA4D2>     /xea/x93/x92 LISU LETTER PHA
-+<UA4D3>     /xea/x93/x93 LISU LETTER DA
-+<UA4D4>     /xea/x93/x94 LISU LETTER TA
-+<UA4D5>     /xea/x93/x95 LISU LETTER THA
-+<UA4D6>     /xea/x93/x96 LISU LETTER GA
-+<UA4D7>     /xea/x93/x97 LISU LETTER KA
-+<UA4D8>     /xea/x93/x98 LISU LETTER KHA
-+<UA4D9>     /xea/x93/x99 LISU LETTER JA
-+<UA4DA>     /xea/x93/x9a LISU LETTER CA
-+<UA4DB>     /xea/x93/x9b LISU LETTER CHA
-+<UA4DC>     /xea/x93/x9c LISU LETTER DZA
-+<UA4DD>     /xea/x93/x9d LISU LETTER TSA
-+<UA4DE>     /xea/x93/x9e LISU LETTER TSHA
-+<UA4DF>     /xea/x93/x9f LISU LETTER MA
-+<UA4E0>     /xea/x93/xa0 LISU LETTER NA
-+<UA4E1>     /xea/x93/xa1 LISU LETTER LA
-+<UA4E2>     /xea/x93/xa2 LISU LETTER SA
-+<UA4E3>     /xea/x93/xa3 LISU LETTER ZHA
-+<UA4E4>     /xea/x93/xa4 LISU LETTER ZA
-+<UA4E5>     /xea/x93/xa5 LISU LETTER NGA
-+<UA4E6>     /xea/x93/xa6 LISU LETTER HA
-+<UA4E7>     /xea/x93/xa7 LISU LETTER XA
-+<UA4E8>     /xea/x93/xa8 LISU LETTER HHA
-+<UA4E9>     /xea/x93/xa9 LISU LETTER FA
-+<UA4EA>     /xea/x93/xaa LISU LETTER WA
-+<UA4EB>     /xea/x93/xab LISU LETTER SHA
-+<UA4EC>     /xea/x93/xac LISU LETTER YA
-+<UA4ED>     /xea/x93/xad LISU LETTER GHA
-+<UA4EE>     /xea/x93/xae LISU LETTER A
-+<UA4EF>     /xea/x93/xaf LISU LETTER AE
-+<UA4F0>     /xea/x93/xb0 LISU LETTER E
-+<UA4F1>     /xea/x93/xb1 LISU LETTER EU
-+<UA4F2>     /xea/x93/xb2 LISU LETTER I
-+<UA4F3>     /xea/x93/xb3 LISU LETTER O
-+<UA4F4>     /xea/x93/xb4 LISU LETTER U
-+<UA4F5>     /xea/x93/xb5 LISU LETTER UE
-+<UA4F6>     /xea/x93/xb6 LISU LETTER UH
-+<UA4F7>     /xea/x93/xb7 LISU LETTER OE
-+<UA4F8>     /xea/x93/xb8 LISU LETTER TONE MYA TI
-+<UA4F9>     /xea/x93/xb9 LISU LETTER TONE NA PO
-+<UA4FA>     /xea/x93/xba LISU LETTER TONE MYA CYA
-+<UA4FB>     /xea/x93/xbb LISU LETTER TONE MYA BO
-+<UA4FC>     /xea/x93/xbc LISU LETTER TONE MYA NA
-+<UA4FD>     /xea/x93/xbd LISU LETTER TONE MYA JEU
-+<UA4FE>     /xea/x93/xbe LISU PUNCTUATION COMMA
-+<UA4FF>     /xea/x93/xbf LISU PUNCTUATION FULL STOP
- <UA500>     /xea/x94/x80 VAI SYLLABLE EE
- <UA501>     /xea/x94/x81 VAI SYLLABLE EEN
- <UA502>     /xea/x94/x82 VAI SYLLABLE HEE
-@@ -13023,6 +13672,8 @@ CHARMAP
- <UA65D>     /xea/x99/x9d CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS
- <UA65E>     /xea/x99/x9e CYRILLIC CAPITAL LETTER YN
- <UA65F>     /xea/x99/x9f CYRILLIC SMALL LETTER YN
-+<UA660>     /xea/x99/xa0 CYRILLIC CAPITAL LETTER REVERSED TSE
-+<UA661>     /xea/x99/xa1 CYRILLIC SMALL LETTER REVERSED TSE
- <UA662>     /xea/x99/xa2 CYRILLIC CAPITAL LETTER SOFT DE
- <UA663>     /xea/x99/xa3 CYRILLIC SMALL LETTER SOFT DE
- <UA664>     /xea/x99/xa4 CYRILLIC CAPITAL LETTER SOFT EL
-@@ -13069,6 +13720,94 @@ CHARMAP
- <UA695>     /xea/x9a/x95 CYRILLIC SMALL LETTER HWE
- <UA696>     /xea/x9a/x96 CYRILLIC CAPITAL LETTER SHWE
- <UA697>     /xea/x9a/x97 CYRILLIC SMALL LETTER SHWE
-+<UA6A0>     /xea/x9a/xa0 BAMUM LETTER A
-+<UA6A1>     /xea/x9a/xa1 BAMUM LETTER KA
-+<UA6A2>     /xea/x9a/xa2 BAMUM LETTER U
-+<UA6A3>     /xea/x9a/xa3 BAMUM LETTER KU
-+<UA6A4>     /xea/x9a/xa4 BAMUM LETTER EE
-+<UA6A5>     /xea/x9a/xa5 BAMUM LETTER REE
-+<UA6A6>     /xea/x9a/xa6 BAMUM LETTER TAE
-+<UA6A7>     /xea/x9a/xa7 BAMUM LETTER O
-+<UA6A8>     /xea/x9a/xa8 BAMUM LETTER NYI
-+<UA6A9>     /xea/x9a/xa9 BAMUM LETTER I
-+<UA6AA>     /xea/x9a/xaa BAMUM LETTER LA
-+<UA6AB>     /xea/x9a/xab BAMUM LETTER PA
-+<UA6AC>     /xea/x9a/xac BAMUM LETTER RII
-+<UA6AD>     /xea/x9a/xad BAMUM LETTER RIEE
-+<UA6AE>     /xea/x9a/xae BAMUM LETTER LEEEE
-+<UA6AF>     /xea/x9a/xaf BAMUM LETTER MEEEE
-+<UA6B0>     /xea/x9a/xb0 BAMUM LETTER TAA
-+<UA6B1>     /xea/x9a/xb1 BAMUM LETTER NDAA
-+<UA6B2>     /xea/x9a/xb2 BAMUM LETTER NJAEM
-+<UA6B3>     /xea/x9a/xb3 BAMUM LETTER M
-+<UA6B4>     /xea/x9a/xb4 BAMUM LETTER SUU
-+<UA6B5>     /xea/x9a/xb5 BAMUM LETTER MU
-+<UA6B6>     /xea/x9a/xb6 BAMUM LETTER SHII
-+<UA6B7>     /xea/x9a/xb7 BAMUM LETTER SI
-+<UA6B8>     /xea/x9a/xb8 BAMUM LETTER SHEUX
-+<UA6B9>     /xea/x9a/xb9 BAMUM LETTER SEUX
-+<UA6BA>     /xea/x9a/xba BAMUM LETTER KYEE
-+<UA6BB>     /xea/x9a/xbb BAMUM LETTER KET
-+<UA6BC>     /xea/x9a/xbc BAMUM LETTER NUAE
-+<UA6BD>     /xea/x9a/xbd BAMUM LETTER NU
-+<UA6BE>     /xea/x9a/xbe BAMUM LETTER NJUAE
-+<UA6BF>     /xea/x9a/xbf BAMUM LETTER YOQ
-+<UA6C0>     /xea/x9b/x80 BAMUM LETTER SHU
-+<UA6C1>     /xea/x9b/x81 BAMUM LETTER YUQ
-+<UA6C2>     /xea/x9b/x82 BAMUM LETTER YA
-+<UA6C3>     /xea/x9b/x83 BAMUM LETTER NSHA
-+<UA6C4>     /xea/x9b/x84 BAMUM LETTER KEUX
-+<UA6C5>     /xea/x9b/x85 BAMUM LETTER PEUX
-+<UA6C6>     /xea/x9b/x86 BAMUM LETTER NJEE
-+<UA6C7>     /xea/x9b/x87 BAMUM LETTER NTEE
-+<UA6C8>     /xea/x9b/x88 BAMUM LETTER PUE
-+<UA6C9>     /xea/x9b/x89 BAMUM LETTER WUE
-+<UA6CA>     /xea/x9b/x8a BAMUM LETTER PEE
-+<UA6CB>     /xea/x9b/x8b BAMUM LETTER FEE
-+<UA6CC>     /xea/x9b/x8c BAMUM LETTER RU
-+<UA6CD>     /xea/x9b/x8d BAMUM LETTER LU
-+<UA6CE>     /xea/x9b/x8e BAMUM LETTER MI
-+<UA6CF>     /xea/x9b/x8f BAMUM LETTER NI
-+<UA6D0>     /xea/x9b/x90 BAMUM LETTER REUX
-+<UA6D1>     /xea/x9b/x91 BAMUM LETTER RAE
-+<UA6D2>     /xea/x9b/x92 BAMUM LETTER KEN
-+<UA6D3>     /xea/x9b/x93 BAMUM LETTER NGKWAEN
-+<UA6D4>     /xea/x9b/x94 BAMUM LETTER NGGA
-+<UA6D5>     /xea/x9b/x95 BAMUM LETTER NGA
-+<UA6D6>     /xea/x9b/x96 BAMUM LETTER SHO
-+<UA6D7>     /xea/x9b/x97 BAMUM LETTER PUAE
-+<UA6D8>     /xea/x9b/x98 BAMUM LETTER FU
-+<UA6D9>     /xea/x9b/x99 BAMUM LETTER FOM
-+<UA6DA>     /xea/x9b/x9a BAMUM LETTER WA
-+<UA6DB>     /xea/x9b/x9b BAMUM LETTER NA
-+<UA6DC>     /xea/x9b/x9c BAMUM LETTER LI
-+<UA6DD>     /xea/x9b/x9d BAMUM LETTER PI
-+<UA6DE>     /xea/x9b/x9e BAMUM LETTER LOQ
-+<UA6DF>     /xea/x9b/x9f BAMUM LETTER KO
-+<UA6E0>     /xea/x9b/xa0 BAMUM LETTER MBEN
-+<UA6E1>     /xea/x9b/xa1 BAMUM LETTER REN
-+<UA6E2>     /xea/x9b/xa2 BAMUM LETTER MEN
-+<UA6E3>     /xea/x9b/xa3 BAMUM LETTER MA
-+<UA6E4>     /xea/x9b/xa4 BAMUM LETTER TI
-+<UA6E5>     /xea/x9b/xa5 BAMUM LETTER KI
-+<UA6E6>     /xea/x9b/xa6 BAMUM LETTER MO
-+<UA6E7>     /xea/x9b/xa7 BAMUM LETTER MBAA
-+<UA6E8>     /xea/x9b/xa8 BAMUM LETTER TET
-+<UA6E9>     /xea/x9b/xa9 BAMUM LETTER KPA
-+<UA6EA>     /xea/x9b/xaa BAMUM LETTER TEN
-+<UA6EB>     /xea/x9b/xab BAMUM LETTER NTUU
-+<UA6EC>     /xea/x9b/xac BAMUM LETTER SAMBA
-+<UA6ED>     /xea/x9b/xad BAMUM LETTER FAAMAE
-+<UA6EE>     /xea/x9b/xae BAMUM LETTER KOVUU
-+<UA6EF>     /xea/x9b/xaf BAMUM LETTER KOGHOM
-+<UA6F0>     /xea/x9b/xb0 BAMUM COMBINING MARK KOQNDON
-+<UA6F1>     /xea/x9b/xb1 BAMUM COMBINING MARK TUKWENTIS
-+<UA6F2>     /xea/x9b/xb2 BAMUM NJAEMLI
-+<UA6F3>     /xea/x9b/xb3 BAMUM FULL STOP
-+<UA6F4>     /xea/x9b/xb4 BAMUM COLON
-+<UA6F5>     /xea/x9b/xb5 BAMUM COMMA
-+<UA6F6>     /xea/x9b/xb6 BAMUM SEMICOLON
-+<UA6F7>     /xea/x9b/xb7 BAMUM QUESTION MARK
- <UA700>     /xea/x9c/x80 MODIFIER LETTER CHINESE TONE YIN PING
- <UA701>     /xea/x9c/x81 MODIFIER LETTER CHINESE TONE YANG PING
- <UA702>     /xea/x9c/x82 MODIFIER LETTER CHINESE TONE YIN SHANG
-@@ -13210,6 +13949,21 @@ CHARMAP
- <UA78A>     /xea/x9e/x8a MODIFIER LETTER SHORT EQUALS SIGN
- <UA78B>     /xea/x9e/x8b LATIN CAPITAL LETTER SALTILLO
- <UA78C>     /xea/x9e/x8c LATIN SMALL LETTER SALTILLO
-+<UA78D>     /xea/x9e/x8d LATIN CAPITAL LETTER TURNED H
-+<UA78E>     /xea/x9e/x8e LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
-+<UA790>     /xea/x9e/x90 LATIN CAPITAL LETTER N WITH DESCENDER
-+<UA791>     /xea/x9e/x91 LATIN SMALL LETTER N WITH DESCENDER
-+<UA7A0>     /xea/x9e/xa0 LATIN CAPITAL LETTER G WITH OBLIQUE STROKE
-+<UA7A1>     /xea/x9e/xa1 LATIN SMALL LETTER G WITH OBLIQUE STROKE
-+<UA7A2>     /xea/x9e/xa2 LATIN CAPITAL LETTER K WITH OBLIQUE STROKE
-+<UA7A3>     /xea/x9e/xa3 LATIN SMALL LETTER K WITH OBLIQUE STROKE
-+<UA7A4>     /xea/x9e/xa4 LATIN CAPITAL LETTER N WITH OBLIQUE STROKE
-+<UA7A5>     /xea/x9e/xa5 LATIN SMALL LETTER N WITH OBLIQUE STROKE
-+<UA7A6>     /xea/x9e/xa6 LATIN CAPITAL LETTER R WITH OBLIQUE STROKE
-+<UA7A7>     /xea/x9e/xa7 LATIN SMALL LETTER R WITH OBLIQUE STROKE
-+<UA7A8>     /xea/x9e/xa8 LATIN CAPITAL LETTER S WITH OBLIQUE STROKE
-+<UA7A9>     /xea/x9e/xa9 LATIN SMALL LETTER S WITH OBLIQUE STROKE
-+<UA7FA>     /xea/x9f/xba LATIN LETTER SMALL CAPITAL TURNED M
- <UA7FB>     /xea/x9f/xbb LATIN EPIGRAPHIC LETTER REVERSED F
- <UA7FC>     /xea/x9f/xbc LATIN EPIGRAPHIC LETTER REVERSED P
- <UA7FD>     /xea/x9f/xbd LATIN EPIGRAPHIC LETTER INVERTED M
-@@ -13259,6 +14013,16 @@ CHARMAP
- <UA829>     /xea/xa0/xa9 SYLOTI NAGRI POETRY MARK-2
- <UA82A>     /xea/xa0/xaa SYLOTI NAGRI POETRY MARK-3
- <UA82B>     /xea/xa0/xab SYLOTI NAGRI POETRY MARK-4
-+<UA830>     /xea/xa0/xb0 NORTH INDIC FRACTION ONE QUARTER
-+<UA831>     /xea/xa0/xb1 NORTH INDIC FRACTION ONE HALF
-+<UA832>     /xea/xa0/xb2 NORTH INDIC FRACTION THREE QUARTERS
-+<UA833>     /xea/xa0/xb3 NORTH INDIC FRACTION ONE SIXTEENTH
-+<UA834>     /xea/xa0/xb4 NORTH INDIC FRACTION ONE EIGHTH
-+<UA835>     /xea/xa0/xb5 NORTH INDIC FRACTION THREE SIXTEENTHS
-+<UA836>     /xea/xa0/xb6 NORTH INDIC QUARTER MARK
-+<UA837>     /xea/xa0/xb7 NORTH INDIC PLACEHOLDER MARK
-+<UA838>     /xea/xa0/xb8 NORTH INDIC RUPEE MARK
-+<UA839>     /xea/xa0/xb9 NORTH INDIC QUANTITY MARK
- <UA840>     /xea/xa1/x80 PHAGS-PA LETTER KA
- <UA841>     /xea/xa1/x81 PHAGS-PA LETTER KHA
- <UA842>     /xea/xa1/x82 PHAGS-PA LETTER GA
-@@ -13396,6 +14160,34 @@ CHARMAP
- <UA8D7>     /xea/xa3/x97 SAURASHTRA DIGIT SEVEN
- <UA8D8>     /xea/xa3/x98 SAURASHTRA DIGIT EIGHT
- <UA8D9>     /xea/xa3/x99 SAURASHTRA DIGIT NINE
-+<UA8E0>     /xea/xa3/xa0 COMBINING DEVANAGARI DIGIT ZERO
-+<UA8E1>     /xea/xa3/xa1 COMBINING DEVANAGARI DIGIT ONE
-+<UA8E2>     /xea/xa3/xa2 COMBINING DEVANAGARI DIGIT TWO
-+<UA8E3>     /xea/xa3/xa3 COMBINING DEVANAGARI DIGIT THREE
-+<UA8E4>     /xea/xa3/xa4 COMBINING DEVANAGARI DIGIT FOUR
-+<UA8E5>     /xea/xa3/xa5 COMBINING DEVANAGARI DIGIT FIVE
-+<UA8E6>     /xea/xa3/xa6 COMBINING DEVANAGARI DIGIT SIX
-+<UA8E7>     /xea/xa3/xa7 COMBINING DEVANAGARI DIGIT SEVEN
-+<UA8E8>     /xea/xa3/xa8 COMBINING DEVANAGARI DIGIT EIGHT
-+<UA8E9>     /xea/xa3/xa9 COMBINING DEVANAGARI DIGIT NINE
-+<UA8EA>     /xea/xa3/xaa COMBINING DEVANAGARI LETTER A
-+<UA8EB>     /xea/xa3/xab COMBINING DEVANAGARI LETTER U
-+<UA8EC>     /xea/xa3/xac COMBINING DEVANAGARI LETTER KA
-+<UA8ED>     /xea/xa3/xad COMBINING DEVANAGARI LETTER NA
-+<UA8EE>     /xea/xa3/xae COMBINING DEVANAGARI LETTER PA
-+<UA8EF>     /xea/xa3/xaf COMBINING DEVANAGARI LETTER RA
-+<UA8F0>     /xea/xa3/xb0 COMBINING DEVANAGARI LETTER VI
-+<UA8F1>     /xea/xa3/xb1 COMBINING DEVANAGARI SIGN AVAGRAHA
-+<UA8F2>     /xea/xa3/xb2 DEVANAGARI SIGN SPACING CANDRABINDU
-+<UA8F3>     /xea/xa3/xb3 DEVANAGARI SIGN CANDRABINDU VIRAMA
-+<UA8F4>     /xea/xa3/xb4 DEVANAGARI SIGN DOUBLE CANDRABINDU VIRAMA
-+<UA8F5>     /xea/xa3/xb5 DEVANAGARI SIGN CANDRABINDU TWO
-+<UA8F6>     /xea/xa3/xb6 DEVANAGARI SIGN CANDRABINDU THREE
-+<UA8F7>     /xea/xa3/xb7 DEVANAGARI SIGN CANDRABINDU AVAGRAHA
-+<UA8F8>     /xea/xa3/xb8 DEVANAGARI SIGN PUSHPIKA
-+<UA8F9>     /xea/xa3/xb9 DEVANAGARI GAP FILLER
-+<UA8FA>     /xea/xa3/xba DEVANAGARI CARET
-+<UA8FB>     /xea/xa3/xbb DEVANAGARI HEADSTROKE
- <UA900>     /xea/xa4/x80 KAYAH LI DIGIT ZERO
- <UA901>     /xea/xa4/x81 KAYAH LI DIGIT ONE
- <UA902>     /xea/xa4/x82 KAYAH LI DIGIT TWO
-@@ -13481,6 +14273,126 @@ CHARMAP
- <UA952>     /xea/xa5/x92 REJANG CONSONANT SIGN H
- <UA953>     /xea/xa5/x93 REJANG VIRAMA
- <UA95F>     /xea/xa5/x9f REJANG SECTION MARK
-+<UA960>     /xea/xa5/xa0 HANGUL CHOSEONG TIKEUT-MIEUM
-+<UA961>     /xea/xa5/xa1 HANGUL CHOSEONG TIKEUT-PIEUP
-+<UA962>     /xea/xa5/xa2 HANGUL CHOSEONG TIKEUT-SIOS
-+<UA963>     /xea/xa5/xa3 HANGUL CHOSEONG TIKEUT-CIEUC
-+<UA964>     /xea/xa5/xa4 HANGUL CHOSEONG RIEUL-KIYEOK
-+<UA965>     /xea/xa5/xa5 HANGUL CHOSEONG RIEUL-SSANGKIYEOK
-+<UA966>     /xea/xa5/xa6 HANGUL CHOSEONG RIEUL-TIKEUT
-+<UA967>     /xea/xa5/xa7 HANGUL CHOSEONG RIEUL-SSANGTIKEUT
-+<UA968>     /xea/xa5/xa8 HANGUL CHOSEONG RIEUL-MIEUM
-+<UA969>     /xea/xa5/xa9 HANGUL CHOSEONG RIEUL-PIEUP
-+<UA96A>     /xea/xa5/xaa HANGUL CHOSEONG RIEUL-SSANGPIEUP
-+<UA96B>     /xea/xa5/xab HANGUL CHOSEONG RIEUL-KAPYEOUNPIEUP
-+<UA96C>     /xea/xa5/xac HANGUL CHOSEONG RIEUL-SIOS
-+<UA96D>     /xea/xa5/xad HANGUL CHOSEONG RIEUL-CIEUC
-+<UA96E>     /xea/xa5/xae HANGUL CHOSEONG RIEUL-KHIEUKH
-+<UA96F>     /xea/xa5/xaf HANGUL CHOSEONG MIEUM-KIYEOK
-+<UA970>     /xea/xa5/xb0 HANGUL CHOSEONG MIEUM-TIKEUT
-+<UA971>     /xea/xa5/xb1 HANGUL CHOSEONG MIEUM-SIOS
-+<UA972>     /xea/xa5/xb2 HANGUL CHOSEONG PIEUP-SIOS-THIEUTH
-+<UA973>     /xea/xa5/xb3 HANGUL CHOSEONG PIEUP-KHIEUKH
-+<UA974>     /xea/xa5/xb4 HANGUL CHOSEONG PIEUP-HIEUH
-+<UA975>     /xea/xa5/xb5 HANGUL CHOSEONG SSANGSIOS-PIEUP
-+<UA976>     /xea/xa5/xb6 HANGUL CHOSEONG IEUNG-RIEUL
-+<UA977>     /xea/xa5/xb7 HANGUL CHOSEONG IEUNG-HIEUH
-+<UA978>     /xea/xa5/xb8 HANGUL CHOSEONG SSANGCIEUC-HIEUH
-+<UA979>     /xea/xa5/xb9 HANGUL CHOSEONG SSANGTHIEUTH
-+<UA97A>     /xea/xa5/xba HANGUL CHOSEONG PHIEUPH-HIEUH
-+<UA97B>     /xea/xa5/xbb HANGUL CHOSEONG HIEUH-SIOS
-+<UA97C>     /xea/xa5/xbc HANGUL CHOSEONG SSANGYEORINHIEUH
-+<UA980>     /xea/xa6/x80 JAVANESE SIGN PANYANGGA
-+<UA981>     /xea/xa6/x81 JAVANESE SIGN CECAK
-+<UA982>     /xea/xa6/x82 JAVANESE SIGN LAYAR
-+<UA983>     /xea/xa6/x83 JAVANESE SIGN WIGNYAN
-+<UA984>     /xea/xa6/x84 JAVANESE LETTER A
-+<UA985>     /xea/xa6/x85 JAVANESE LETTER I KAWI
-+<UA986>     /xea/xa6/x86 JAVANESE LETTER I
-+<UA987>     /xea/xa6/x87 JAVANESE LETTER II
-+<UA988>     /xea/xa6/x88 JAVANESE LETTER U
-+<UA989>     /xea/xa6/x89 JAVANESE LETTER PA CEREK
-+<UA98A>     /xea/xa6/x8a JAVANESE LETTER NGA LELET
-+<UA98B>     /xea/xa6/x8b JAVANESE LETTER NGA LELET RASWADI
-+<UA98C>     /xea/xa6/x8c JAVANESE LETTER E
-+<UA98D>     /xea/xa6/x8d JAVANESE LETTER AI
-+<UA98E>     /xea/xa6/x8e JAVANESE LETTER O
-+<UA98F>     /xea/xa6/x8f JAVANESE LETTER KA
-+<UA990>     /xea/xa6/x90 JAVANESE LETTER KA SASAK
-+<UA991>     /xea/xa6/x91 JAVANESE LETTER KA MURDA
-+<UA992>     /xea/xa6/x92 JAVANESE LETTER GA
-+<UA993>     /xea/xa6/x93 JAVANESE LETTER GA MURDA
-+<UA994>     /xea/xa6/x94 JAVANESE LETTER NGA
-+<UA995>     /xea/xa6/x95 JAVANESE LETTER CA
-+<UA996>     /xea/xa6/x96 JAVANESE LETTER CA MURDA
-+<UA997>     /xea/xa6/x97 JAVANESE LETTER JA
-+<UA998>     /xea/xa6/x98 JAVANESE LETTER NYA MURDA
-+<UA999>     /xea/xa6/x99 JAVANESE LETTER JA MAHAPRANA
-+<UA99A>     /xea/xa6/x9a JAVANESE LETTER NYA
-+<UA99B>     /xea/xa6/x9b JAVANESE LETTER TTA
-+<UA99C>     /xea/xa6/x9c JAVANESE LETTER TTA MAHAPRANA
-+<UA99D>     /xea/xa6/x9d JAVANESE LETTER DDA
-+<UA99E>     /xea/xa6/x9e JAVANESE LETTER DDA MAHAPRANA
-+<UA99F>     /xea/xa6/x9f JAVANESE LETTER NA MURDA
-+<UA9A0>     /xea/xa6/xa0 JAVANESE LETTER TA
-+<UA9A1>     /xea/xa6/xa1 JAVANESE LETTER TA MURDA
-+<UA9A2>     /xea/xa6/xa2 JAVANESE LETTER DA
-+<UA9A3>     /xea/xa6/xa3 JAVANESE LETTER DA MAHAPRANA
-+<UA9A4>     /xea/xa6/xa4 JAVANESE LETTER NA
-+<UA9A5>     /xea/xa6/xa5 JAVANESE LETTER PA
-+<UA9A6>     /xea/xa6/xa6 JAVANESE LETTER PA MURDA
-+<UA9A7>     /xea/xa6/xa7 JAVANESE LETTER BA
-+<UA9A8>     /xea/xa6/xa8 JAVANESE LETTER BA MURDA
-+<UA9A9>     /xea/xa6/xa9 JAVANESE LETTER MA
-+<UA9AA>     /xea/xa6/xaa JAVANESE LETTER YA
-+<UA9AB>     /xea/xa6/xab JAVANESE LETTER RA
-+<UA9AC>     /xea/xa6/xac JAVANESE LETTER RA AGUNG
-+<UA9AD>     /xea/xa6/xad JAVANESE LETTER LA
-+<UA9AE>     /xea/xa6/xae JAVANESE LETTER WA
-+<UA9AF>     /xea/xa6/xaf JAVANESE LETTER SA MURDA
-+<UA9B0>     /xea/xa6/xb0 JAVANESE LETTER SA MAHAPRANA
-+<UA9B1>     /xea/xa6/xb1 JAVANESE LETTER SA
-+<UA9B2>     /xea/xa6/xb2 JAVANESE LETTER HA
-+<UA9B3>     /xea/xa6/xb3 JAVANESE SIGN CECAK TELU
-+<UA9B4>     /xea/xa6/xb4 JAVANESE VOWEL SIGN TARUNG
-+<UA9B5>     /xea/xa6/xb5 JAVANESE VOWEL SIGN TOLONG
-+<UA9B6>     /xea/xa6/xb6 JAVANESE VOWEL SIGN WULU
-+<UA9B7>     /xea/xa6/xb7 JAVANESE VOWEL SIGN WULU MELIK
-+<UA9B8>     /xea/xa6/xb8 JAVANESE VOWEL SIGN SUKU
-+<UA9B9>     /xea/xa6/xb9 JAVANESE VOWEL SIGN SUKU MENDUT
-+<UA9BA>     /xea/xa6/xba JAVANESE VOWEL SIGN TALING
-+<UA9BB>     /xea/xa6/xbb JAVANESE VOWEL SIGN DIRGA MURE
-+<UA9BC>     /xea/xa6/xbc JAVANESE VOWEL SIGN PEPET
-+<UA9BD>     /xea/xa6/xbd JAVANESE CONSONANT SIGN KERET
-+<UA9BE>     /xea/xa6/xbe JAVANESE CONSONANT SIGN PENGKAL
-+<UA9BF>     /xea/xa6/xbf JAVANESE CONSONANT SIGN CAKRA
-+<UA9C0>     /xea/xa7/x80 JAVANESE PANGKON
-+<UA9C1>     /xea/xa7/x81 JAVANESE LEFT RERENGGAN
-+<UA9C2>     /xea/xa7/x82 JAVANESE RIGHT RERENGGAN
-+<UA9C3>     /xea/xa7/x83 JAVANESE PADA ANDAP
-+<UA9C4>     /xea/xa7/x84 JAVANESE PADA MADYA
-+<UA9C5>     /xea/xa7/x85 JAVANESE PADA LUHUR
-+<UA9C6>     /xea/xa7/x86 JAVANESE PADA WINDU
-+<UA9C7>     /xea/xa7/x87 JAVANESE PADA PANGKAT
-+<UA9C8>     /xea/xa7/x88 JAVANESE PADA LINGSA
-+<UA9C9>     /xea/xa7/x89 JAVANESE PADA LUNGSI
-+<UA9CA>     /xea/xa7/x8a JAVANESE PADA ADEG
-+<UA9CB>     /xea/xa7/x8b JAVANESE PADA ADEG ADEG
-+<UA9CC>     /xea/xa7/x8c JAVANESE PADA PISELEH
-+<UA9CD>     /xea/xa7/x8d JAVANESE TURNED PADA PISELEH
-+<UA9CF>     /xea/xa7/x8f JAVANESE PANGRANGKEP
-+<UA9D0>     /xea/xa7/x90 JAVANESE DIGIT ZERO
-+<UA9D1>     /xea/xa7/x91 JAVANESE DIGIT ONE
-+<UA9D2>     /xea/xa7/x92 JAVANESE DIGIT TWO
-+<UA9D3>     /xea/xa7/x93 JAVANESE DIGIT THREE
-+<UA9D4>     /xea/xa7/x94 JAVANESE DIGIT FOUR
-+<UA9D5>     /xea/xa7/x95 JAVANESE DIGIT FIVE
-+<UA9D6>     /xea/xa7/x96 JAVANESE DIGIT SIX
-+<UA9D7>     /xea/xa7/x97 JAVANESE DIGIT SEVEN
-+<UA9D8>     /xea/xa7/x98 JAVANESE DIGIT EIGHT
-+<UA9D9>     /xea/xa7/x99 JAVANESE DIGIT NINE
-+<UA9DE>     /xea/xa7/x9e JAVANESE PADA TIRTA TUMETES
-+<UA9DF>     /xea/xa7/x9f JAVANESE PADA ISEN-ISEN
- <UAA00>     /xea/xa8/x80 CHAM LETTER A
- <UAA01>     /xea/xa8/x81 CHAM LETTER I
- <UAA02>     /xea/xa8/x82 CHAM LETTER U
-@@ -13564,6 +14476,194 @@ CHARMAP
- <UAA5D>     /xea/xa9/x9d CHAM PUNCTUATION DANDA
- <UAA5E>     /xea/xa9/x9e CHAM PUNCTUATION DOUBLE DANDA
- <UAA5F>     /xea/xa9/x9f CHAM PUNCTUATION TRIPLE DANDA
-+<UAA60>     /xea/xa9/xa0 MYANMAR LETTER KHAMTI GA
-+<UAA61>     /xea/xa9/xa1 MYANMAR LETTER KHAMTI CA
-+<UAA62>     /xea/xa9/xa2 MYANMAR LETTER KHAMTI CHA
-+<UAA63>     /xea/xa9/xa3 MYANMAR LETTER KHAMTI JA
-+<UAA64>     /xea/xa9/xa4 MYANMAR LETTER KHAMTI JHA
-+<UAA65>     /xea/xa9/xa5 MYANMAR LETTER KHAMTI NYA
-+<UAA66>     /xea/xa9/xa6 MYANMAR LETTER KHAMTI TTA
-+<UAA67>     /xea/xa9/xa7 MYANMAR LETTER KHAMTI TTHA
-+<UAA68>     /xea/xa9/xa8 MYANMAR LETTER KHAMTI DDA
-+<UAA69>     /xea/xa9/xa9 MYANMAR LETTER KHAMTI DDHA
-+<UAA6A>     /xea/xa9/xaa MYANMAR LETTER KHAMTI DHA
-+<UAA6B>     /xea/xa9/xab MYANMAR LETTER KHAMTI NA
-+<UAA6C>     /xea/xa9/xac MYANMAR LETTER KHAMTI SA
-+<UAA6D>     /xea/xa9/xad MYANMAR LETTER KHAMTI HA
-+<UAA6E>     /xea/xa9/xae MYANMAR LETTER KHAMTI HHA
-+<UAA6F>     /xea/xa9/xaf MYANMAR LETTER KHAMTI FA
-+<UAA70>     /xea/xa9/xb0 MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
-+<UAA71>     /xea/xa9/xb1 MYANMAR LETTER KHAMTI XA
-+<UAA72>     /xea/xa9/xb2 MYANMAR LETTER KHAMTI ZA
-+<UAA73>     /xea/xa9/xb3 MYANMAR LETTER KHAMTI RA
-+<UAA74>     /xea/xa9/xb4 MYANMAR LOGOGRAM KHAMTI OAY
-+<UAA75>     /xea/xa9/xb5 MYANMAR LOGOGRAM KHAMTI QN
-+<UAA76>     /xea/xa9/xb6 MYANMAR LOGOGRAM KHAMTI HM
-+<UAA77>     /xea/xa9/xb7 MYANMAR SYMBOL AITON EXCLAMATION
-+<UAA78>     /xea/xa9/xb8 MYANMAR SYMBOL AITON ONE
-+<UAA79>     /xea/xa9/xb9 MYANMAR SYMBOL AITON TWO
-+<UAA7A>     /xea/xa9/xba MYANMAR LETTER AITON RA
-+<UAA7B>     /xea/xa9/xbb MYANMAR SIGN PAO KAREN TONE
-+<UAA80>     /xea/xaa/x80 TAI VIET LETTER LOW KO
-+<UAA81>     /xea/xaa/x81 TAI VIET LETTER HIGH KO
-+<UAA82>     /xea/xaa/x82 TAI VIET LETTER LOW KHO
-+<UAA83>     /xea/xaa/x83 TAI VIET LETTER HIGH KHO
-+<UAA84>     /xea/xaa/x84 TAI VIET LETTER LOW KHHO
-+<UAA85>     /xea/xaa/x85 TAI VIET LETTER HIGH KHHO
-+<UAA86>     /xea/xaa/x86 TAI VIET LETTER LOW GO
-+<UAA87>     /xea/xaa/x87 TAI VIET LETTER HIGH GO
-+<UAA88>     /xea/xaa/x88 TAI VIET LETTER LOW NGO
-+<UAA89>     /xea/xaa/x89 TAI VIET LETTER HIGH NGO
-+<UAA8A>     /xea/xaa/x8a TAI VIET LETTER LOW CO
-+<UAA8B>     /xea/xaa/x8b TAI VIET LETTER HIGH CO
-+<UAA8C>     /xea/xaa/x8c TAI VIET LETTER LOW CHO
-+<UAA8D>     /xea/xaa/x8d TAI VIET LETTER HIGH CHO
-+<UAA8E>     /xea/xaa/x8e TAI VIET LETTER LOW SO
-+<UAA8F>     /xea/xaa/x8f TAI VIET LETTER HIGH SO
-+<UAA90>     /xea/xaa/x90 TAI VIET LETTER LOW NYO
-+<UAA91>     /xea/xaa/x91 TAI VIET LETTER HIGH NYO
-+<UAA92>     /xea/xaa/x92 TAI VIET LETTER LOW DO
-+<UAA93>     /xea/xaa/x93 TAI VIET LETTER HIGH DO
-+<UAA94>     /xea/xaa/x94 TAI VIET LETTER LOW TO
-+<UAA95>     /xea/xaa/x95 TAI VIET LETTER HIGH TO
-+<UAA96>     /xea/xaa/x96 TAI VIET LETTER LOW THO
-+<UAA97>     /xea/xaa/x97 TAI VIET LETTER HIGH THO
-+<UAA98>     /xea/xaa/x98 TAI VIET LETTER LOW NO
-+<UAA99>     /xea/xaa/x99 TAI VIET LETTER HIGH NO
-+<UAA9A>     /xea/xaa/x9a TAI VIET LETTER LOW BO
-+<UAA9B>     /xea/xaa/x9b TAI VIET LETTER HIGH BO
-+<UAA9C>     /xea/xaa/x9c TAI VIET LETTER LOW PO
-+<UAA9D>     /xea/xaa/x9d TAI VIET LETTER HIGH PO
-+<UAA9E>     /xea/xaa/x9e TAI VIET LETTER LOW PHO
-+<UAA9F>     /xea/xaa/x9f TAI VIET LETTER HIGH PHO
-+<UAAA0>     /xea/xaa/xa0 TAI VIET LETTER LOW FO
-+<UAAA1>     /xea/xaa/xa1 TAI VIET LETTER HIGH FO
-+<UAAA2>     /xea/xaa/xa2 TAI VIET LETTER LOW MO
-+<UAAA3>     /xea/xaa/xa3 TAI VIET LETTER HIGH MO
-+<UAAA4>     /xea/xaa/xa4 TAI VIET LETTER LOW YO
-+<UAAA5>     /xea/xaa/xa5 TAI VIET LETTER HIGH YO
-+<UAAA6>     /xea/xaa/xa6 TAI VIET LETTER LOW RO
-+<UAAA7>     /xea/xaa/xa7 TAI VIET LETTER HIGH RO
-+<UAAA8>     /xea/xaa/xa8 TAI VIET LETTER LOW LO
-+<UAAA9>     /xea/xaa/xa9 TAI VIET LETTER HIGH LO
-+<UAAAA>     /xea/xaa/xaa TAI VIET LETTER LOW VO
-+<UAAAB>     /xea/xaa/xab TAI VIET LETTER HIGH VO
-+<UAAAC>     /xea/xaa/xac TAI VIET LETTER LOW HO
-+<UAAAD>     /xea/xaa/xad TAI VIET LETTER HIGH HO
-+<UAAAE>     /xea/xaa/xae TAI VIET LETTER LOW O
-+<UAAAF>     /xea/xaa/xaf TAI VIET LETTER HIGH O
-+<UAAB0>     /xea/xaa/xb0 TAI VIET MAI KANG
-+<UAAB1>     /xea/xaa/xb1 TAI VIET VOWEL AA
-+<UAAB2>     /xea/xaa/xb2 TAI VIET VOWEL I
-+<UAAB3>     /xea/xaa/xb3 TAI VIET VOWEL UE
-+<UAAB4>     /xea/xaa/xb4 TAI VIET VOWEL U
-+<UAAB5>     /xea/xaa/xb5 TAI VIET VOWEL E
-+<UAAB6>     /xea/xaa/xb6 TAI VIET VOWEL O
-+<UAAB7>     /xea/xaa/xb7 TAI VIET MAI KHIT
-+<UAAB8>     /xea/xaa/xb8 TAI VIET VOWEL IA
-+<UAAB9>     /xea/xaa/xb9 TAI VIET VOWEL UEA
-+<UAABA>     /xea/xaa/xba TAI VIET VOWEL UA
-+<UAABB>     /xea/xaa/xbb TAI VIET VOWEL AUE
-+<UAABC>     /xea/xaa/xbc TAI VIET VOWEL AY
-+<UAABD>     /xea/xaa/xbd TAI VIET VOWEL AN
-+<UAABE>     /xea/xaa/xbe TAI VIET VOWEL AM
-+<UAABF>     /xea/xaa/xbf TAI VIET TONE MAI EK
-+<UAAC0>     /xea/xab/x80 TAI VIET TONE MAI NUENG
-+<UAAC1>     /xea/xab/x81 TAI VIET TONE MAI THO
-+<UAAC2>     /xea/xab/x82 TAI VIET TONE MAI SONG
-+<UAADB>     /xea/xab/x9b TAI VIET SYMBOL KON
-+<UAADC>     /xea/xab/x9c TAI VIET SYMBOL NUENG
-+<UAADD>     /xea/xab/x9d TAI VIET SYMBOL SAM
-+<UAADE>     /xea/xab/x9e TAI VIET SYMBOL HO HOI
-+<UAADF>     /xea/xab/x9f TAI VIET SYMBOL KOI KOI
-+<UAB01>     /xea/xac/x81 ETHIOPIC SYLLABLE TTHU
-+<UAB02>     /xea/xac/x82 ETHIOPIC SYLLABLE TTHI
-+<UAB03>     /xea/xac/x83 ETHIOPIC SYLLABLE TTHAA
-+<UAB04>     /xea/xac/x84 ETHIOPIC SYLLABLE TTHEE
-+<UAB05>     /xea/xac/x85 ETHIOPIC SYLLABLE TTHE
-+<UAB06>     /xea/xac/x86 ETHIOPIC SYLLABLE TTHO
-+<UAB09>     /xea/xac/x89 ETHIOPIC SYLLABLE DDHU
-+<UAB0A>     /xea/xac/x8a ETHIOPIC SYLLABLE DDHI
-+<UAB0B>     /xea/xac/x8b ETHIOPIC SYLLABLE DDHAA
-+<UAB0C>     /xea/xac/x8c ETHIOPIC SYLLABLE DDHEE
-+<UAB0D>     /xea/xac/x8d ETHIOPIC SYLLABLE DDHE
-+<UAB0E>     /xea/xac/x8e ETHIOPIC SYLLABLE DDHO
-+<UAB11>     /xea/xac/x91 ETHIOPIC SYLLABLE DZU
-+<UAB12>     /xea/xac/x92 ETHIOPIC SYLLABLE DZI
-+<UAB13>     /xea/xac/x93 ETHIOPIC SYLLABLE DZAA
-+<UAB14>     /xea/xac/x94 ETHIOPIC SYLLABLE DZEE
-+<UAB15>     /xea/xac/x95 ETHIOPIC SYLLABLE DZE
-+<UAB16>     /xea/xac/x96 ETHIOPIC SYLLABLE DZO
-+<UAB20>     /xea/xac/xa0 ETHIOPIC SYLLABLE CCHHA
-+<UAB21>     /xea/xac/xa1 ETHIOPIC SYLLABLE CCHHU
-+<UAB22>     /xea/xac/xa2 ETHIOPIC SYLLABLE CCHHI
-+<UAB23>     /xea/xac/xa3 ETHIOPIC SYLLABLE CCHHAA
-+<UAB24>     /xea/xac/xa4 ETHIOPIC SYLLABLE CCHHEE
-+<UAB25>     /xea/xac/xa5 ETHIOPIC SYLLABLE CCHHE
-+<UAB26>     /xea/xac/xa6 ETHIOPIC SYLLABLE CCHHO
-+<UAB28>     /xea/xac/xa8 ETHIOPIC SYLLABLE BBA
-+<UAB29>     /xea/xac/xa9 ETHIOPIC SYLLABLE BBU
-+<UAB2A>     /xea/xac/xaa ETHIOPIC SYLLABLE BBI
-+<UAB2B>     /xea/xac/xab ETHIOPIC SYLLABLE BBAA
-+<UAB2C>     /xea/xac/xac ETHIOPIC SYLLABLE BBEE
-+<UAB2D>     /xea/xac/xad ETHIOPIC SYLLABLE BBE
-+<UAB2E>     /xea/xac/xae ETHIOPIC SYLLABLE BBO
-+<UABC0>     /xea/xaf/x80 MEETEI MAYEK LETTER KOK
-+<UABC1>     /xea/xaf/x81 MEETEI MAYEK LETTER SAM
-+<UABC2>     /xea/xaf/x82 MEETEI MAYEK LETTER LAI
-+<UABC3>     /xea/xaf/x83 MEETEI MAYEK LETTER MIT
-+<UABC4>     /xea/xaf/x84 MEETEI MAYEK LETTER PA
-+<UABC5>     /xea/xaf/x85 MEETEI MAYEK LETTER NA
-+<UABC6>     /xea/xaf/x86 MEETEI MAYEK LETTER CHIL
-+<UABC7>     /xea/xaf/x87 MEETEI MAYEK LETTER TIL
-+<UABC8>     /xea/xaf/x88 MEETEI MAYEK LETTER KHOU
-+<UABC9>     /xea/xaf/x89 MEETEI MAYEK LETTER NGOU
-+<UABCA>     /xea/xaf/x8a MEETEI MAYEK LETTER THOU
-+<UABCB>     /xea/xaf/x8b MEETEI MAYEK LETTER WAI
-+<UABCC>     /xea/xaf/x8c MEETEI MAYEK LETTER YANG
-+<UABCD>     /xea/xaf/x8d MEETEI MAYEK LETTER HUK
-+<UABCE>     /xea/xaf/x8e MEETEI MAYEK LETTER UN
-+<UABCF>     /xea/xaf/x8f MEETEI MAYEK LETTER I
-+<UABD0>     /xea/xaf/x90 MEETEI MAYEK LETTER PHAM
-+<UABD1>     /xea/xaf/x91 MEETEI MAYEK LETTER ATIYA
-+<UABD2>     /xea/xaf/x92 MEETEI MAYEK LETTER GOK
-+<UABD3>     /xea/xaf/x93 MEETEI MAYEK LETTER JHAM
-+<UABD4>     /xea/xaf/x94 MEETEI MAYEK LETTER RAI
-+<UABD5>     /xea/xaf/x95 MEETEI MAYEK LETTER BA
-+<UABD6>     /xea/xaf/x96 MEETEI MAYEK LETTER JIL
-+<UABD7>     /xea/xaf/x97 MEETEI MAYEK LETTER DIL
-+<UABD8>     /xea/xaf/x98 MEETEI MAYEK LETTER GHOU
-+<UABD9>     /xea/xaf/x99 MEETEI MAYEK LETTER DHOU
-+<UABDA>     /xea/xaf/x9a MEETEI MAYEK LETTER BHAM
-+<UABDB>     /xea/xaf/x9b MEETEI MAYEK LETTER KOK LONSUM
-+<UABDC>     /xea/xaf/x9c MEETEI MAYEK LETTER LAI LONSUM
-+<UABDD>     /xea/xaf/x9d MEETEI MAYEK LETTER MIT LONSUM
-+<UABDE>     /xea/xaf/x9e MEETEI MAYEK LETTER PA LONSUM
-+<UABDF>     /xea/xaf/x9f MEETEI MAYEK LETTER NA LONSUM
-+<UABE0>     /xea/xaf/xa0 MEETEI MAYEK LETTER TIL LONSUM
-+<UABE1>     /xea/xaf/xa1 MEETEI MAYEK LETTER NGOU LONSUM
-+<UABE2>     /xea/xaf/xa2 MEETEI MAYEK LETTER I LONSUM
-+<UABE3>     /xea/xaf/xa3 MEETEI MAYEK VOWEL SIGN ONAP
-+<UABE4>     /xea/xaf/xa4 MEETEI MAYEK VOWEL SIGN INAP
-+<UABE5>     /xea/xaf/xa5 MEETEI MAYEK VOWEL SIGN ANAP
-+<UABE6>     /xea/xaf/xa6 MEETEI MAYEK VOWEL SIGN YENAP
-+<UABE7>     /xea/xaf/xa7 MEETEI MAYEK VOWEL SIGN SOUNAP
-+<UABE8>     /xea/xaf/xa8 MEETEI MAYEK VOWEL SIGN UNAP
-+<UABE9>     /xea/xaf/xa9 MEETEI MAYEK VOWEL SIGN CHEINAP
-+<UABEA>     /xea/xaf/xaa MEETEI MAYEK VOWEL SIGN NUNG
-+<UABEB>     /xea/xaf/xab MEETEI MAYEK CHEIKHEI
-+<UABEC>     /xea/xaf/xac MEETEI MAYEK LUM IYEK
-+<UABED>     /xea/xaf/xad MEETEI MAYEK APUN IYEK
-+<UABF0>     /xea/xaf/xb0 MEETEI MAYEK DIGIT ZERO
-+<UABF1>     /xea/xaf/xb1 MEETEI MAYEK DIGIT ONE
-+<UABF2>     /xea/xaf/xb2 MEETEI MAYEK DIGIT TWO
-+<UABF3>     /xea/xaf/xb3 MEETEI MAYEK DIGIT THREE
-+<UABF4>     /xea/xaf/xb4 MEETEI MAYEK DIGIT FOUR
-+<UABF5>     /xea/xaf/xb5 MEETEI MAYEK DIGIT FIVE
-+<UABF6>     /xea/xaf/xb6 MEETEI MAYEK DIGIT SIX
-+<UABF7>     /xea/xaf/xb7 MEETEI MAYEK DIGIT SEVEN
-+<UABF8>     /xea/xaf/xb8 MEETEI MAYEK DIGIT EIGHT
-+<UABF9>     /xea/xaf/xb9 MEETEI MAYEK DIGIT NINE
- <UAC00>     /xea/xb0/x80 HANGUL SYLLABLE GA
- <UAC01>     /xea/xb0/x81 HANGUL SYLLABLE GAG
- <UAC02>     /xea/xb0/x82 HANGUL SYLLABLE GAGG
-@@ -24736,6 +25836,78 @@ CHARMAP
- <UD7A1>     /xed/x9e/xa1 HANGUL SYLLABLE HIT
- <UD7A2>     /xed/x9e/xa2 HANGUL SYLLABLE HIP
- <UD7A3>     /xed/x9e/xa3 HANGUL SYLLABLE HIH
-+<UD7B0>     /xed/x9e/xb0 HANGUL JUNGSEONG O-YEO
-+<UD7B1>     /xed/x9e/xb1 HANGUL JUNGSEONG O-O-I
-+<UD7B2>     /xed/x9e/xb2 HANGUL JUNGSEONG YO-A
-+<UD7B3>     /xed/x9e/xb3 HANGUL JUNGSEONG YO-AE
-+<UD7B4>     /xed/x9e/xb4 HANGUL JUNGSEONG YO-EO
-+<UD7B5>     /xed/x9e/xb5 HANGUL JUNGSEONG U-YEO
-+<UD7B6>     /xed/x9e/xb6 HANGUL JUNGSEONG U-I-I
-+<UD7B7>     /xed/x9e/xb7 HANGUL JUNGSEONG YU-AE
-+<UD7B8>     /xed/x9e/xb8 HANGUL JUNGSEONG YU-O
-+<UD7B9>     /xed/x9e/xb9 HANGUL JUNGSEONG EU-A
-+<UD7BA>     /xed/x9e/xba HANGUL JUNGSEONG EU-EO
-+<UD7BB>     /xed/x9e/xbb HANGUL JUNGSEONG EU-E
-+<UD7BC>     /xed/x9e/xbc HANGUL JUNGSEONG EU-O
-+<UD7BD>     /xed/x9e/xbd HANGUL JUNGSEONG I-YA-O
-+<UD7BE>     /xed/x9e/xbe HANGUL JUNGSEONG I-YAE
-+<UD7BF>     /xed/x9e/xbf HANGUL JUNGSEONG I-YEO
-+<UD7C0>     /xed/x9f/x80 HANGUL JUNGSEONG I-YE
-+<UD7C1>     /xed/x9f/x81 HANGUL JUNGSEONG I-O-I
-+<UD7C2>     /xed/x9f/x82 HANGUL JUNGSEONG I-YO
-+<UD7C3>     /xed/x9f/x83 HANGUL JUNGSEONG I-YU
-+<UD7C4>     /xed/x9f/x84 HANGUL JUNGSEONG I-I
-+<UD7C5>     /xed/x9f/x85 HANGUL JUNGSEONG ARAEA-A
-+<UD7C6>     /xed/x9f/x86 HANGUL JUNGSEONG ARAEA-E
-+<UD7CB>     /xed/x9f/x8b HANGUL JONGSEONG NIEUN-RIEUL
-+<UD7CC>     /xed/x9f/x8c HANGUL JONGSEONG NIEUN-CHIEUCH
-+<UD7CD>     /xed/x9f/x8d HANGUL JONGSEONG SSANGTIKEUT
-+<UD7CE>     /xed/x9f/x8e HANGUL JONGSEONG SSANGTIKEUT-PIEUP
-+<UD7CF>     /xed/x9f/x8f HANGUL JONGSEONG TIKEUT-PIEUP
-+<UD7D0>     /xed/x9f/x90 HANGUL JONGSEONG TIKEUT-SIOS
-+<UD7D1>     /xed/x9f/x91 HANGUL JONGSEONG TIKEUT-SIOS-KIYEOK
-+<UD7D2>     /xed/x9f/x92 HANGUL JONGSEONG TIKEUT-CIEUC
-+<UD7D3>     /xed/x9f/x93 HANGUL JONGSEONG TIKEUT-CHIEUCH
-+<UD7D4>     /xed/x9f/x94 HANGUL JONGSEONG TIKEUT-THIEUTH
-+<UD7D5>     /xed/x9f/x95 HANGUL JONGSEONG RIEUL-SSANGKIYEOK
-+<UD7D6>     /xed/x9f/x96 HANGUL JONGSEONG RIEUL-KIYEOK-HIEUH
-+<UD7D7>     /xed/x9f/x97 HANGUL JONGSEONG SSANGRIEUL-KHIEUKH
-+<UD7D8>     /xed/x9f/x98 HANGUL JONGSEONG RIEUL-MIEUM-HIEUH
-+<UD7D9>     /xed/x9f/x99 HANGUL JONGSEONG RIEUL-PIEUP-TIKEUT
-+<UD7DA>     /xed/x9f/x9a HANGUL JONGSEONG RIEUL-PIEUP-PHIEUPH
-+<UD7DB>     /xed/x9f/x9b HANGUL JONGSEONG RIEUL-YESIEUNG
-+<UD7DC>     /xed/x9f/x9c HANGUL JONGSEONG RIEUL-YEORINHIEUH-HIEUH
-+<UD7DD>     /xed/x9f/x9d HANGUL JONGSEONG KAPYEOUNRIEUL
-+<UD7DE>     /xed/x9f/x9e HANGUL JONGSEONG MIEUM-NIEUN
-+<UD7DF>     /xed/x9f/x9f HANGUL JONGSEONG MIEUM-SSANGNIEUN
-+<UD7E0>     /xed/x9f/xa0 HANGUL JONGSEONG SSANGMIEUM
-+<UD7E1>     /xed/x9f/xa1 HANGUL JONGSEONG MIEUM-PIEUP-SIOS
-+<UD7E2>     /xed/x9f/xa2 HANGUL JONGSEONG MIEUM-CIEUC
-+<UD7E3>     /xed/x9f/xa3 HANGUL JONGSEONG PIEUP-TIKEUT
-+<UD7E4>     /xed/x9f/xa4 HANGUL JONGSEONG PIEUP-RIEUL-PHIEUPH
-+<UD7E5>     /xed/x9f/xa5 HANGUL JONGSEONG PIEUP-MIEUM
-+<UD7E6>     /xed/x9f/xa6 HANGUL JONGSEONG SSANGPIEUP
-+<UD7E7>     /xed/x9f/xa7 HANGUL JONGSEONG PIEUP-SIOS-TIKEUT
-+<UD7E8>     /xed/x9f/xa8 HANGUL JONGSEONG PIEUP-CIEUC
-+<UD7E9>     /xed/x9f/xa9 HANGUL JONGSEONG PIEUP-CHIEUCH
-+<UD7EA>     /xed/x9f/xaa HANGUL JONGSEONG SIOS-MIEUM
-+<UD7EB>     /xed/x9f/xab HANGUL JONGSEONG SIOS-KAPYEOUNPIEUP
-+<UD7EC>     /xed/x9f/xac HANGUL JONGSEONG SSANGSIOS-KIYEOK
-+<UD7ED>     /xed/x9f/xad HANGUL JONGSEONG SSANGSIOS-TIKEUT
-+<UD7EE>     /xed/x9f/xae HANGUL JONGSEONG SIOS-PANSIOS
-+<UD7EF>     /xed/x9f/xaf HANGUL JONGSEONG SIOS-CIEUC
-+<UD7F0>     /xed/x9f/xb0 HANGUL JONGSEONG SIOS-CHIEUCH
-+<UD7F1>     /xed/x9f/xb1 HANGUL JONGSEONG SIOS-THIEUTH
-+<UD7F2>     /xed/x9f/xb2 HANGUL JONGSEONG SIOS-HIEUH
-+<UD7F3>     /xed/x9f/xb3 HANGUL JONGSEONG PANSIOS-PIEUP
-+<UD7F4>     /xed/x9f/xb4 HANGUL JONGSEONG PANSIOS-KAPYEOUNPIEUP
-+<UD7F5>     /xed/x9f/xb5 HANGUL JONGSEONG YESIEUNG-MIEUM
-+<UD7F6>     /xed/x9f/xb6 HANGUL JONGSEONG YESIEUNG-HIEUH
-+<UD7F7>     /xed/x9f/xb7 HANGUL JONGSEONG CIEUC-PIEUP
-+<UD7F8>     /xed/x9f/xb8 HANGUL JONGSEONG CIEUC-SSANGPIEUP
-+<UD7F9>     /xed/x9f/xb9 HANGUL JONGSEONG SSANGCIEUC
-+<UD7FA>     /xed/x9f/xba HANGUL JONGSEONG PHIEUPH-SIOS
-+<UD7FB>     /xed/x9f/xbb HANGUL JONGSEONG PHIEUPH-THIEUTH
- % <UD800>     /xed/xa0/x80 <Non Private Use High Surrogate, First>
- % <UDB7F>     /xed/xad/xbf <Non Private Use High Surrogate, Last>
- % <UDB80>     /xed/xae/x80 <Private Use High Surrogate, First>
-@@ -25203,6 +26375,9 @@ CHARMAP
- <UFA68>     /xef/xa9/xa8 CJK COMPATIBILITY IDEOGRAPH-FA68
- <UFA69>     /xef/xa9/xa9 CJK COMPATIBILITY IDEOGRAPH-FA69
- <UFA6A>     /xef/xa9/xaa CJK COMPATIBILITY IDEOGRAPH-FA6A
-+<UFA6B>     /xef/xa9/xab CJK COMPATIBILITY IDEOGRAPH-FA6B
-+<UFA6C>     /xef/xa9/xac CJK COMPATIBILITY IDEOGRAPH-FA6C
-+<UFA6D>     /xef/xa9/xad CJK COMPATIBILITY IDEOGRAPH-FA6D
- <UFA70>     /xef/xa9/xb0 CJK COMPATIBILITY IDEOGRAPH-FA70
- <UFA71>     /xef/xa9/xb1 CJK COMPATIBILITY IDEOGRAPH-FA71
- <UFA72>     /xef/xa9/xb2 CJK COMPATIBILITY IDEOGRAPH-FA72
-@@ -25465,6 +26640,22 @@ CHARMAP
- <UFBAF>     /xef/xae/xaf ARABIC LETTER YEH BARREE FINAL FORM
- <UFBB0>     /xef/xae/xb0 ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM
- <UFBB1>     /xef/xae/xb1 ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
-+<UFBB2>     /xef/xae/xb2 ARABIC SYMBOL DOT ABOVE
-+<UFBB3>     /xef/xae/xb3 ARABIC SYMBOL DOT BELOW
-+<UFBB4>     /xef/xae/xb4 ARABIC SYMBOL TWO DOTS ABOVE
-+<UFBB5>     /xef/xae/xb5 ARABIC SYMBOL TWO DOTS BELOW
-+<UFBB6>     /xef/xae/xb6 ARABIC SYMBOL THREE DOTS ABOVE
-+<UFBB7>     /xef/xae/xb7 ARABIC SYMBOL THREE DOTS BELOW
-+<UFBB8>     /xef/xae/xb8 ARABIC SYMBOL THREE DOTS POINTING DOWNWARDS ABOVE
-+<UFBB9>     /xef/xae/xb9 ARABIC SYMBOL THREE DOTS POINTING DOWNWARDS BELOW
-+<UFBBA>     /xef/xae/xba ARABIC SYMBOL FOUR DOTS ABOVE
-+<UFBBB>     /xef/xae/xbb ARABIC SYMBOL FOUR DOTS BELOW
-+<UFBBC>     /xef/xae/xbc ARABIC SYMBOL DOUBLE VERTICAL BAR BELOW
-+<UFBBD>     /xef/xae/xbd ARABIC SYMBOL TWO DOTS VERTICALLY ABOVE
-+<UFBBE>     /xef/xae/xbe ARABIC SYMBOL TWO DOTS VERTICALLY BELOW
-+<UFBBF>     /xef/xae/xbf ARABIC SYMBOL RING
-+<UFBC0>     /xef/xaf/x80 ARABIC SYMBOL SMALL TAH ABOVE
-+<UFBC1>     /xef/xaf/x81 ARABIC SYMBOL SMALL TAH BELOW
- <UFBD3>     /xef/xaf/x93 ARABIC LETTER NG ISOLATED FORM
- <UFBD4>     /xef/xaf/x94 ARABIC LETTER NG FINAL FORM
- <UFBD5>     /xef/xaf/x95 ARABIC LETTER NG INITIAL FORM
-@@ -27269,6 +28460,37 @@ CHARMAP
- <U00010838> /xf0/x90/xa0/xb8 CYPRIOT SYLLABLE XE
- <U0001083C> /xf0/x90/xa0/xbc CYPRIOT SYLLABLE ZA
- <U0001083F> /xf0/x90/xa0/xbf CYPRIOT SYLLABLE ZO
-+<U00010840> /xf0/x90/xa1/x80 IMPERIAL ARAMAIC LETTER ALEPH
-+<U00010841> /xf0/x90/xa1/x81 IMPERIAL ARAMAIC LETTER BETH
-+<U00010842> /xf0/x90/xa1/x82 IMPERIAL ARAMAIC LETTER GIMEL
-+<U00010843> /xf0/x90/xa1/x83 IMPERIAL ARAMAIC LETTER DALETH
-+<U00010844> /xf0/x90/xa1/x84 IMPERIAL ARAMAIC LETTER HE
-+<U00010845> /xf0/x90/xa1/x85 IMPERIAL ARAMAIC LETTER WAW
-+<U00010846> /xf0/x90/xa1/x86 IMPERIAL ARAMAIC LETTER ZAYIN
-+<U00010847> /xf0/x90/xa1/x87 IMPERIAL ARAMAIC LETTER HETH
-+<U00010848> /xf0/x90/xa1/x88 IMPERIAL ARAMAIC LETTER TETH
-+<U00010849> /xf0/x90/xa1/x89 IMPERIAL ARAMAIC LETTER YODH
-+<U0001084A> /xf0/x90/xa1/x8a IMPERIAL ARAMAIC LETTER KAPH
-+<U0001084B> /xf0/x90/xa1/x8b IMPERIAL ARAMAIC LETTER LAMEDH
-+<U0001084C> /xf0/x90/xa1/x8c IMPERIAL ARAMAIC LETTER MEM
-+<U0001084D> /xf0/x90/xa1/x8d IMPERIAL ARAMAIC LETTER NUN
-+<U0001084E> /xf0/x90/xa1/x8e IMPERIAL ARAMAIC LETTER SAMEKH
-+<U0001084F> /xf0/x90/xa1/x8f IMPERIAL ARAMAIC LETTER AYIN
-+<U00010850> /xf0/x90/xa1/x90 IMPERIAL ARAMAIC LETTER PE
-+<U00010851> /xf0/x90/xa1/x91 IMPERIAL ARAMAIC LETTER SADHE
-+<U00010852> /xf0/x90/xa1/x92 IMPERIAL ARAMAIC LETTER QOPH
-+<U00010853> /xf0/x90/xa1/x93 IMPERIAL ARAMAIC LETTER RESH
-+<U00010854> /xf0/x90/xa1/x94 IMPERIAL ARAMAIC LETTER SHIN
-+<U00010855> /xf0/x90/xa1/x95 IMPERIAL ARAMAIC LETTER TAW
-+<U00010857> /xf0/x90/xa1/x97 IMPERIAL ARAMAIC SECTION SIGN
-+<U00010858> /xf0/x90/xa1/x98 IMPERIAL ARAMAIC NUMBER ONE
-+<U00010859> /xf0/x90/xa1/x99 IMPERIAL ARAMAIC NUMBER TWO
-+<U0001085A> /xf0/x90/xa1/x9a IMPERIAL ARAMAIC NUMBER THREE
-+<U0001085B> /xf0/x90/xa1/x9b IMPERIAL ARAMAIC NUMBER TEN
-+<U0001085C> /xf0/x90/xa1/x9c IMPERIAL ARAMAIC NUMBER TWENTY
-+<U0001085D> /xf0/x90/xa1/x9d IMPERIAL ARAMAIC NUMBER ONE HUNDRED
-+<U0001085E> /xf0/x90/xa1/x9e IMPERIAL ARAMAIC NUMBER ONE THOUSAND
-+<U0001085F> /xf0/x90/xa1/x9f IMPERIAL ARAMAIC NUMBER TEN THOUSAND
- <U00010900> /xf0/x90/xa4/x80 PHOENICIAN LETTER ALF
- <U00010901> /xf0/x90/xa4/x81 PHOENICIAN LETTER BET
- <U00010902> /xf0/x90/xa4/x82 PHOENICIAN LETTER GAML
-@@ -27295,6 +28517,8 @@ CHARMAP
- <U00010917> /xf0/x90/xa4/x97 PHOENICIAN NUMBER TEN
- <U00010918> /xf0/x90/xa4/x98 PHOENICIAN NUMBER TWENTY
- <U00010919> /xf0/x90/xa4/x99 PHOENICIAN NUMBER ONE HUNDRED
-+<U0001091A> /xf0/x90/xa4/x9a PHOENICIAN NUMBER TWO
-+<U0001091B> /xf0/x90/xa4/x9b PHOENICIAN NUMBER THREE
- <U0001091F> /xf0/x90/xa4/x9f PHOENICIAN WORD SEPARATOR
- <U00010920> /xf0/x90/xa4/xa0 LYDIAN LETTER A
- <U00010921> /xf0/x90/xa4/xa1 LYDIAN LETTER B
-@@ -27388,6 +28612,434 @@ CHARMAP
- <U00010A56> /xf0/x90/xa9/x96 KHAROSHTHI PUNCTUATION DANDA
- <U00010A57> /xf0/x90/xa9/x97 KHAROSHTHI PUNCTUATION DOUBLE DANDA
- <U00010A58> /xf0/x90/xa9/x98 KHAROSHTHI PUNCTUATION LINES
-+<U00010A60> /xf0/x90/xa9/xa0 OLD SOUTH ARABIAN LETTER HE
-+<U00010A61> /xf0/x90/xa9/xa1 OLD SOUTH ARABIAN LETTER LAMEDH
-+<U00010A62> /xf0/x90/xa9/xa2 OLD SOUTH ARABIAN LETTER HETH
-+<U00010A63> /xf0/x90/xa9/xa3 OLD SOUTH ARABIAN LETTER MEM
-+<U00010A64> /xf0/x90/xa9/xa4 OLD SOUTH ARABIAN LETTER QOPH
-+<U00010A65> /xf0/x90/xa9/xa5 OLD SOUTH ARABIAN LETTER WAW
-+<U00010A66> /xf0/x90/xa9/xa6 OLD SOUTH ARABIAN LETTER SHIN
-+<U00010A67> /xf0/x90/xa9/xa7 OLD SOUTH ARABIAN LETTER RESH
-+<U00010A68> /xf0/x90/xa9/xa8 OLD SOUTH ARABIAN LETTER BETH
-+<U00010A69> /xf0/x90/xa9/xa9 OLD SOUTH ARABIAN LETTER TAW
-+<U00010A6A> /xf0/x90/xa9/xaa OLD SOUTH ARABIAN LETTER SAT
-+<U00010A6B> /xf0/x90/xa9/xab OLD SOUTH ARABIAN LETTER KAPH
-+<U00010A6C> /xf0/x90/xa9/xac OLD SOUTH ARABIAN LETTER NUN
-+<U00010A6D> /xf0/x90/xa9/xad OLD SOUTH ARABIAN LETTER KHETH
-+<U00010A6E> /xf0/x90/xa9/xae OLD SOUTH ARABIAN LETTER SADHE
-+<U00010A6F> /xf0/x90/xa9/xaf OLD SOUTH ARABIAN LETTER SAMEKH
-+<U00010A70> /xf0/x90/xa9/xb0 OLD SOUTH ARABIAN LETTER FE
-+<U00010A71> /xf0/x90/xa9/xb1 OLD SOUTH ARABIAN LETTER ALEF
-+<U00010A72> /xf0/x90/xa9/xb2 OLD SOUTH ARABIAN LETTER AYN
-+<U00010A73> /xf0/x90/xa9/xb3 OLD SOUTH ARABIAN LETTER DHADHE
-+<U00010A74> /xf0/x90/xa9/xb4 OLD SOUTH ARABIAN LETTER GIMEL
-+<U00010A75> /xf0/x90/xa9/xb5 OLD SOUTH ARABIAN LETTER DALETH
-+<U00010A76> /xf0/x90/xa9/xb6 OLD SOUTH ARABIAN LETTER GHAYN
-+<U00010A77> /xf0/x90/xa9/xb7 OLD SOUTH ARABIAN LETTER TETH
-+<U00010A78> /xf0/x90/xa9/xb8 OLD SOUTH ARABIAN LETTER ZAYN
-+<U00010A79> /xf0/x90/xa9/xb9 OLD SOUTH ARABIAN LETTER DHALETH
-+<U00010A7A> /xf0/x90/xa9/xba OLD SOUTH ARABIAN LETTER YODH
-+<U00010A7B> /xf0/x90/xa9/xbb OLD SOUTH ARABIAN LETTER THAW
-+<U00010A7C> /xf0/x90/xa9/xbc OLD SOUTH ARABIAN LETTER THETH
-+<U00010A7D> /xf0/x90/xa9/xbd OLD SOUTH ARABIAN NUMBER ONE
-+<U00010A7E> /xf0/x90/xa9/xbe OLD SOUTH ARABIAN NUMBER FIFTY
-+<U00010A7F> /xf0/x90/xa9/xbf OLD SOUTH ARABIAN NUMERIC INDICATOR
-+<U00010B00> /xf0/x90/xac/x80 AVESTAN LETTER A
-+<U00010B01> /xf0/x90/xac/x81 AVESTAN LETTER AA
-+<U00010B02> /xf0/x90/xac/x82 AVESTAN LETTER AO
-+<U00010B03> /xf0/x90/xac/x83 AVESTAN LETTER AAO
-+<U00010B04> /xf0/x90/xac/x84 AVESTAN LETTER AN
-+<U00010B05> /xf0/x90/xac/x85 AVESTAN LETTER AAN
-+<U00010B06> /xf0/x90/xac/x86 AVESTAN LETTER AE
-+<U00010B07> /xf0/x90/xac/x87 AVESTAN LETTER AEE
-+<U00010B08> /xf0/x90/xac/x88 AVESTAN LETTER E
-+<U00010B09> /xf0/x90/xac/x89 AVESTAN LETTER EE
-+<U00010B0A> /xf0/x90/xac/x8a AVESTAN LETTER O
-+<U00010B0B> /xf0/x90/xac/x8b AVESTAN LETTER OO
-+<U00010B0C> /xf0/x90/xac/x8c AVESTAN LETTER I
-+<U00010B0D> /xf0/x90/xac/x8d AVESTAN LETTER II
-+<U00010B0E> /xf0/x90/xac/x8e AVESTAN LETTER U
-+<U00010B0F> /xf0/x90/xac/x8f AVESTAN LETTER UU
-+<U00010B10> /xf0/x90/xac/x90 AVESTAN LETTER KE
-+<U00010B11> /xf0/x90/xac/x91 AVESTAN LETTER XE
-+<U00010B12> /xf0/x90/xac/x92 AVESTAN LETTER XYE
-+<U00010B13> /xf0/x90/xac/x93 AVESTAN LETTER XVE
-+<U00010B14> /xf0/x90/xac/x94 AVESTAN LETTER GE
-+<U00010B15> /xf0/x90/xac/x95 AVESTAN LETTER GGE
-+<U00010B16> /xf0/x90/xac/x96 AVESTAN LETTER GHE
-+<U00010B17> /xf0/x90/xac/x97 AVESTAN LETTER CE
-+<U00010B18> /xf0/x90/xac/x98 AVESTAN LETTER JE
-+<U00010B19> /xf0/x90/xac/x99 AVESTAN LETTER TE
-+<U00010B1A> /xf0/x90/xac/x9a AVESTAN LETTER THE
-+<U00010B1B> /xf0/x90/xac/x9b AVESTAN LETTER DE
-+<U00010B1C> /xf0/x90/xac/x9c AVESTAN LETTER DHE
-+<U00010B1D> /xf0/x90/xac/x9d AVESTAN LETTER TTE
-+<U00010B1E> /xf0/x90/xac/x9e AVESTAN LETTER PE
-+<U00010B1F> /xf0/x90/xac/x9f AVESTAN LETTER FE
-+<U00010B20> /xf0/x90/xac/xa0 AVESTAN LETTER BE
-+<U00010B21> /xf0/x90/xac/xa1 AVESTAN LETTER BHE
-+<U00010B22> /xf0/x90/xac/xa2 AVESTAN LETTER NGE
-+<U00010B23> /xf0/x90/xac/xa3 AVESTAN LETTER NGYE
-+<U00010B24> /xf0/x90/xac/xa4 AVESTAN LETTER NGVE
-+<U00010B25> /xf0/x90/xac/xa5 AVESTAN LETTER NE
-+<U00010B26> /xf0/x90/xac/xa6 AVESTAN LETTER NYE
-+<U00010B27> /xf0/x90/xac/xa7 AVESTAN LETTER NNE
-+<U00010B28> /xf0/x90/xac/xa8 AVESTAN LETTER ME
-+<U00010B29> /xf0/x90/xac/xa9 AVESTAN LETTER HME
-+<U00010B2A> /xf0/x90/xac/xaa AVESTAN LETTER YYE
-+<U00010B2B> /xf0/x90/xac/xab AVESTAN LETTER YE
-+<U00010B2C> /xf0/x90/xac/xac AVESTAN LETTER VE
-+<U00010B2D> /xf0/x90/xac/xad AVESTAN LETTER RE
-+<U00010B2E> /xf0/x90/xac/xae AVESTAN LETTER LE
-+<U00010B2F> /xf0/x90/xac/xaf AVESTAN LETTER SE
-+<U00010B30> /xf0/x90/xac/xb0 AVESTAN LETTER ZE
-+<U00010B31> /xf0/x90/xac/xb1 AVESTAN LETTER SHE
-+<U00010B32> /xf0/x90/xac/xb2 AVESTAN LETTER ZHE
-+<U00010B33> /xf0/x90/xac/xb3 AVESTAN LETTER SHYE
-+<U00010B34> /xf0/x90/xac/xb4 AVESTAN LETTER SSHE
-+<U00010B35> /xf0/x90/xac/xb5 AVESTAN LETTER HE
-+<U00010B39> /xf0/x90/xac/xb9 AVESTAN ABBREVIATION MARK
-+<U00010B3A> /xf0/x90/xac/xba TINY TWO DOTS OVER ONE DOT PUNCTUATION
-+<U00010B3B> /xf0/x90/xac/xbb SMALL TWO DOTS OVER ONE DOT PUNCTUATION
-+<U00010B3C> /xf0/x90/xac/xbc LARGE TWO DOTS OVER ONE DOT PUNCTUATION
-+<U00010B3D> /xf0/x90/xac/xbd LARGE ONE DOT OVER TWO DOTS PUNCTUATION
-+<U00010B3E> /xf0/x90/xac/xbe LARGE TWO RINGS OVER ONE RING PUNCTUATION
-+<U00010B3F> /xf0/x90/xac/xbf LARGE ONE RING OVER TWO RINGS PUNCTUATION
-+<U00010B40> /xf0/x90/xad/x80 INSCRIPTIONAL PARTHIAN LETTER ALEPH
-+<U00010B41> /xf0/x90/xad/x81 INSCRIPTIONAL PARTHIAN LETTER BETH
-+<U00010B42> /xf0/x90/xad/x82 INSCRIPTIONAL PARTHIAN LETTER GIMEL
-+<U00010B43> /xf0/x90/xad/x83 INSCRIPTIONAL PARTHIAN LETTER DALETH
-+<U00010B44> /xf0/x90/xad/x84 INSCRIPTIONAL PARTHIAN LETTER HE
-+<U00010B45> /xf0/x90/xad/x85 INSCRIPTIONAL PARTHIAN LETTER WAW
-+<U00010B46> /xf0/x90/xad/x86 INSCRIPTIONAL PARTHIAN LETTER ZAYIN
-+<U00010B47> /xf0/x90/xad/x87 INSCRIPTIONAL PARTHIAN LETTER HETH
-+<U00010B48> /xf0/x90/xad/x88 INSCRIPTIONAL PARTHIAN LETTER TETH
-+<U00010B49> /xf0/x90/xad/x89 INSCRIPTIONAL PARTHIAN LETTER YODH
-+<U00010B4A> /xf0/x90/xad/x8a INSCRIPTIONAL PARTHIAN LETTER KAPH
-+<U00010B4B> /xf0/x90/xad/x8b INSCRIPTIONAL PARTHIAN LETTER LAMEDH
-+<U00010B4C> /xf0/x90/xad/x8c INSCRIPTIONAL PARTHIAN LETTER MEM
-+<U00010B4D> /xf0/x90/xad/x8d INSCRIPTIONAL PARTHIAN LETTER NUN
-+<U00010B4E> /xf0/x90/xad/x8e INSCRIPTIONAL PARTHIAN LETTER SAMEKH
-+<U00010B4F> /xf0/x90/xad/x8f INSCRIPTIONAL PARTHIAN LETTER AYIN
-+<U00010B50> /xf0/x90/xad/x90 INSCRIPTIONAL PARTHIAN LETTER PE
-+<U00010B51> /xf0/x90/xad/x91 INSCRIPTIONAL PARTHIAN LETTER SADHE
-+<U00010B52> /xf0/x90/xad/x92 INSCRIPTIONAL PARTHIAN LETTER QOPH
-+<U00010B53> /xf0/x90/xad/x93 INSCRIPTIONAL PARTHIAN LETTER RESH
-+<U00010B54> /xf0/x90/xad/x94 INSCRIPTIONAL PARTHIAN LETTER SHIN
-+<U00010B55> /xf0/x90/xad/x95 INSCRIPTIONAL PARTHIAN LETTER TAW
-+<U00010B58> /xf0/x90/xad/x98 INSCRIPTIONAL PARTHIAN NUMBER ONE
-+<U00010B59> /xf0/x90/xad/x99 INSCRIPTIONAL PARTHIAN NUMBER TWO
-+<U00010B5A> /xf0/x90/xad/x9a INSCRIPTIONAL PARTHIAN NUMBER THREE
-+<U00010B5B> /xf0/x90/xad/x9b INSCRIPTIONAL PARTHIAN NUMBER FOUR
-+<U00010B5C> /xf0/x90/xad/x9c INSCRIPTIONAL PARTHIAN NUMBER TEN
-+<U00010B5D> /xf0/x90/xad/x9d INSCRIPTIONAL PARTHIAN NUMBER TWENTY
-+<U00010B5E> /xf0/x90/xad/x9e INSCRIPTIONAL PARTHIAN NUMBER ONE HUNDRED
-+<U00010B5F> /xf0/x90/xad/x9f INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
-+<U00010B60> /xf0/x90/xad/xa0 INSCRIPTIONAL PAHLAVI LETTER ALEPH
-+<U00010B61> /xf0/x90/xad/xa1 INSCRIPTIONAL PAHLAVI LETTER BETH
-+<U00010B62> /xf0/x90/xad/xa2 INSCRIPTIONAL PAHLAVI LETTER GIMEL
-+<U00010B63> /xf0/x90/xad/xa3 INSCRIPTIONAL PAHLAVI LETTER DALETH
-+<U00010B64> /xf0/x90/xad/xa4 INSCRIPTIONAL PAHLAVI LETTER HE
-+<U00010B65> /xf0/x90/xad/xa5 INSCRIPTIONAL PAHLAVI LETTER WAW-AYIN-RESH
-+<U00010B66> /xf0/x90/xad/xa6 INSCRIPTIONAL PAHLAVI LETTER ZAYIN
-+<U00010B67> /xf0/x90/xad/xa7 INSCRIPTIONAL PAHLAVI LETTER HETH
-+<U00010B68> /xf0/x90/xad/xa8 INSCRIPTIONAL PAHLAVI LETTER TETH
-+<U00010B69> /xf0/x90/xad/xa9 INSCRIPTIONAL PAHLAVI LETTER YODH
-+<U00010B6A> /xf0/x90/xad/xaa INSCRIPTIONAL PAHLAVI LETTER KAPH
-+<U00010B6B> /xf0/x90/xad/xab INSCRIPTIONAL PAHLAVI LETTER LAMEDH
-+<U00010B6C> /xf0/x90/xad/xac INSCRIPTIONAL PAHLAVI LETTER MEM-QOPH
-+<U00010B6D> /xf0/x90/xad/xad INSCRIPTIONAL PAHLAVI LETTER NUN
-+<U00010B6E> /xf0/x90/xad/xae INSCRIPTIONAL PAHLAVI LETTER SAMEKH
-+<U00010B6F> /xf0/x90/xad/xaf INSCRIPTIONAL PAHLAVI LETTER PE
-+<U00010B70> /xf0/x90/xad/xb0 INSCRIPTIONAL PAHLAVI LETTER SADHE
-+<U00010B71> /xf0/x90/xad/xb1 INSCRIPTIONAL PAHLAVI LETTER SHIN
-+<U00010B72> /xf0/x90/xad/xb2 INSCRIPTIONAL PAHLAVI LETTER TAW
-+<U00010B78> /xf0/x90/xad/xb8 INSCRIPTIONAL PAHLAVI NUMBER ONE
-+<U00010B79> /xf0/x90/xad/xb9 INSCRIPTIONAL PAHLAVI NUMBER TWO
-+<U00010B7A> /xf0/x90/xad/xba INSCRIPTIONAL PAHLAVI NUMBER THREE
-+<U00010B7B> /xf0/x90/xad/xbb INSCRIPTIONAL PAHLAVI NUMBER FOUR
-+<U00010B7C> /xf0/x90/xad/xbc INSCRIPTIONAL PAHLAVI NUMBER TEN
-+<U00010B7D> /xf0/x90/xad/xbd INSCRIPTIONAL PAHLAVI NUMBER TWENTY
-+<U00010B7E> /xf0/x90/xad/xbe INSCRIPTIONAL PAHLAVI NUMBER ONE HUNDRED
-+<U00010B7F> /xf0/x90/xad/xbf INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
-+<U00010C00> /xf0/x90/xb0/x80 OLD TURKIC LETTER ORKHON A
-+<U00010C01> /xf0/x90/xb0/x81 OLD TURKIC LETTER YENISEI A
-+<U00010C02> /xf0/x90/xb0/x82 OLD TURKIC LETTER YENISEI AE
-+<U00010C03> /xf0/x90/xb0/x83 OLD TURKIC LETTER ORKHON I
-+<U00010C04> /xf0/x90/xb0/x84 OLD TURKIC LETTER YENISEI I
-+<U00010C05> /xf0/x90/xb0/x85 OLD TURKIC LETTER YENISEI E
-+<U00010C06> /xf0/x90/xb0/x86 OLD TURKIC LETTER ORKHON O
-+<U00010C07> /xf0/x90/xb0/x87 OLD TURKIC LETTER ORKHON OE
-+<U00010C08> /xf0/x90/xb0/x88 OLD TURKIC LETTER YENISEI OE
-+<U00010C09> /xf0/x90/xb0/x89 OLD TURKIC LETTER ORKHON AB
-+<U00010C0A> /xf0/x90/xb0/x8a OLD TURKIC LETTER YENISEI AB
-+<U00010C0B> /xf0/x90/xb0/x8b OLD TURKIC LETTER ORKHON AEB
-+<U00010C0C> /xf0/x90/xb0/x8c OLD TURKIC LETTER YENISEI AEB
-+<U00010C0D> /xf0/x90/xb0/x8d OLD TURKIC LETTER ORKHON AG
-+<U00010C0E> /xf0/x90/xb0/x8e OLD TURKIC LETTER YENISEI AG
-+<U00010C0F> /xf0/x90/xb0/x8f OLD TURKIC LETTER ORKHON AEG
-+<U00010C10> /xf0/x90/xb0/x90 OLD TURKIC LETTER YENISEI AEG
-+<U00010C11> /xf0/x90/xb0/x91 OLD TURKIC LETTER ORKHON AD
-+<U00010C12> /xf0/x90/xb0/x92 OLD TURKIC LETTER YENISEI AD
-+<U00010C13> /xf0/x90/xb0/x93 OLD TURKIC LETTER ORKHON AED
-+<U00010C14> /xf0/x90/xb0/x94 OLD TURKIC LETTER ORKHON EZ
-+<U00010C15> /xf0/x90/xb0/x95 OLD TURKIC LETTER YENISEI EZ
-+<U00010C16> /xf0/x90/xb0/x96 OLD TURKIC LETTER ORKHON AY
-+<U00010C17> /xf0/x90/xb0/x97 OLD TURKIC LETTER YENISEI AY
-+<U00010C18> /xf0/x90/xb0/x98 OLD TURKIC LETTER ORKHON AEY
-+<U00010C19> /xf0/x90/xb0/x99 OLD TURKIC LETTER YENISEI AEY
-+<U00010C1A> /xf0/x90/xb0/x9a OLD TURKIC LETTER ORKHON AEK
-+<U00010C1B> /xf0/x90/xb0/x9b OLD TURKIC LETTER YENISEI AEK
-+<U00010C1C> /xf0/x90/xb0/x9c OLD TURKIC LETTER ORKHON OEK
-+<U00010C1D> /xf0/x90/xb0/x9d OLD TURKIC LETTER YENISEI OEK
-+<U00010C1E> /xf0/x90/xb0/x9e OLD TURKIC LETTER ORKHON AL
-+<U00010C1F> /xf0/x90/xb0/x9f OLD TURKIC LETTER YENISEI AL
-+<U00010C20> /xf0/x90/xb0/xa0 OLD TURKIC LETTER ORKHON AEL
-+<U00010C21> /xf0/x90/xb0/xa1 OLD TURKIC LETTER ORKHON ELT
-+<U00010C22> /xf0/x90/xb0/xa2 OLD TURKIC LETTER ORKHON EM
-+<U00010C23> /xf0/x90/xb0/xa3 OLD TURKIC LETTER ORKHON AN
-+<U00010C24> /xf0/x90/xb0/xa4 OLD TURKIC LETTER ORKHON AEN
-+<U00010C25> /xf0/x90/xb0/xa5 OLD TURKIC LETTER YENISEI AEN
-+<U00010C26> /xf0/x90/xb0/xa6 OLD TURKIC LETTER ORKHON ENT
-+<U00010C27> /xf0/x90/xb0/xa7 OLD TURKIC LETTER YENISEI ENT
-+<U00010C28> /xf0/x90/xb0/xa8 OLD TURKIC LETTER ORKHON ENC
-+<U00010C29> /xf0/x90/xb0/xa9 OLD TURKIC LETTER YENISEI ENC
-+<U00010C2A> /xf0/x90/xb0/xaa OLD TURKIC LETTER ORKHON ENY
-+<U00010C2B> /xf0/x90/xb0/xab OLD TURKIC LETTER YENISEI ENY
-+<U00010C2C> /xf0/x90/xb0/xac OLD TURKIC LETTER YENISEI ANG
-+<U00010C2D> /xf0/x90/xb0/xad OLD TURKIC LETTER ORKHON ENG
-+<U00010C2E> /xf0/x90/xb0/xae OLD TURKIC LETTER YENISEI AENG
-+<U00010C2F> /xf0/x90/xb0/xaf OLD TURKIC LETTER ORKHON EP
-+<U00010C30> /xf0/x90/xb0/xb0 OLD TURKIC LETTER ORKHON OP
-+<U00010C31> /xf0/x90/xb0/xb1 OLD TURKIC LETTER ORKHON IC
-+<U00010C32> /xf0/x90/xb0/xb2 OLD TURKIC LETTER ORKHON EC
-+<U00010C33> /xf0/x90/xb0/xb3 OLD TURKIC LETTER YENISEI EC
-+<U00010C34> /xf0/x90/xb0/xb4 OLD TURKIC LETTER ORKHON AQ
-+<U00010C35> /xf0/x90/xb0/xb5 OLD TURKIC LETTER YENISEI AQ
-+<U00010C36> /xf0/x90/xb0/xb6 OLD TURKIC LETTER ORKHON IQ
-+<U00010C37> /xf0/x90/xb0/xb7 OLD TURKIC LETTER YENISEI IQ
-+<U00010C38> /xf0/x90/xb0/xb8 OLD TURKIC LETTER ORKHON OQ
-+<U00010C39> /xf0/x90/xb0/xb9 OLD TURKIC LETTER YENISEI OQ
-+<U00010C3A> /xf0/x90/xb0/xba OLD TURKIC LETTER ORKHON AR
-+<U00010C3B> /xf0/x90/xb0/xbb OLD TURKIC LETTER YENISEI AR
-+<U00010C3C> /xf0/x90/xb0/xbc OLD TURKIC LETTER ORKHON AER
-+<U00010C3D> /xf0/x90/xb0/xbd OLD TURKIC LETTER ORKHON AS
-+<U00010C3E> /xf0/x90/xb0/xbe OLD TURKIC LETTER ORKHON AES
-+<U00010C3F> /xf0/x90/xb0/xbf OLD TURKIC LETTER ORKHON ASH
-+<U00010C40> /xf0/x90/xb1/x80 OLD TURKIC LETTER YENISEI ASH
-+<U00010C41> /xf0/x90/xb1/x81 OLD TURKIC LETTER ORKHON ESH
-+<U00010C42> /xf0/x90/xb1/x82 OLD TURKIC LETTER YENISEI ESH
-+<U00010C43> /xf0/x90/xb1/x83 OLD TURKIC LETTER ORKHON AT
-+<U00010C44> /xf0/x90/xb1/x84 OLD TURKIC LETTER YENISEI AT
-+<U00010C45> /xf0/x90/xb1/x85 OLD TURKIC LETTER ORKHON AET
-+<U00010C46> /xf0/x90/xb1/x86 OLD TURKIC LETTER YENISEI AET
-+<U00010C47> /xf0/x90/xb1/x87 OLD TURKIC LETTER ORKHON OT
-+<U00010C48> /xf0/x90/xb1/x88 OLD TURKIC LETTER ORKHON BASH
-+<U00010E60> /xf0/x90/xb9/xa0 RUMI DIGIT ONE
-+<U00010E61> /xf0/x90/xb9/xa1 RUMI DIGIT TWO
-+<U00010E62> /xf0/x90/xb9/xa2 RUMI DIGIT THREE
-+<U00010E63> /xf0/x90/xb9/xa3 RUMI DIGIT FOUR
-+<U00010E64> /xf0/x90/xb9/xa4 RUMI DIGIT FIVE
-+<U00010E65> /xf0/x90/xb9/xa5 RUMI DIGIT SIX
-+<U00010E66> /xf0/x90/xb9/xa6 RUMI DIGIT SEVEN
-+<U00010E67> /xf0/x90/xb9/xa7 RUMI DIGIT EIGHT
-+<U00010E68> /xf0/x90/xb9/xa8 RUMI DIGIT NINE
-+<U00010E69> /xf0/x90/xb9/xa9 RUMI NUMBER TEN
-+<U00010E6A> /xf0/x90/xb9/xaa RUMI NUMBER TWENTY
-+<U00010E6B> /xf0/x90/xb9/xab RUMI NUMBER THIRTY
-+<U00010E6C> /xf0/x90/xb9/xac RUMI NUMBER FORTY
-+<U00010E6D> /xf0/x90/xb9/xad RUMI NUMBER FIFTY
-+<U00010E6E> /xf0/x90/xb9/xae RUMI NUMBER SIXTY
-+<U00010E6F> /xf0/x90/xb9/xaf RUMI NUMBER SEVENTY
-+<U00010E70> /xf0/x90/xb9/xb0 RUMI NUMBER EIGHTY
-+<U00010E71> /xf0/x90/xb9/xb1 RUMI NUMBER NINETY
-+<U00010E72> /xf0/x90/xb9/xb2 RUMI NUMBER ONE HUNDRED
-+<U00010E73> /xf0/x90/xb9/xb3 RUMI NUMBER TWO HUNDRED
-+<U00010E74> /xf0/x90/xb9/xb4 RUMI NUMBER THREE HUNDRED
-+<U00010E75> /xf0/x90/xb9/xb5 RUMI NUMBER FOUR HUNDRED
-+<U00010E76> /xf0/x90/xb9/xb6 RUMI NUMBER FIVE HUNDRED
-+<U00010E77> /xf0/x90/xb9/xb7 RUMI NUMBER SIX HUNDRED
-+<U00010E78> /xf0/x90/xb9/xb8 RUMI NUMBER SEVEN HUNDRED
-+<U00010E79> /xf0/x90/xb9/xb9 RUMI NUMBER EIGHT HUNDRED
-+<U00010E7A> /xf0/x90/xb9/xba RUMI NUMBER NINE HUNDRED
-+<U00010E7B> /xf0/x90/xb9/xbb RUMI FRACTION ONE HALF
-+<U00010E7C> /xf0/x90/xb9/xbc RUMI FRACTION ONE QUARTER
-+<U00010E7D> /xf0/x90/xb9/xbd RUMI FRACTION ONE THIRD
-+<U00010E7E> /xf0/x90/xb9/xbe RUMI FRACTION TWO THIRDS
-+<U00011000> /xf0/x91/x80/x80 BRAHMI SIGN CANDRABINDU
-+<U00011001> /xf0/x91/x80/x81 BRAHMI SIGN ANUSVARA
-+<U00011002> /xf0/x91/x80/x82 BRAHMI SIGN VISARGA
-+<U00011003> /xf0/x91/x80/x83 BRAHMI SIGN JIHVAMULIYA
-+<U00011004> /xf0/x91/x80/x84 BRAHMI SIGN UPADHMANIYA
-+<U00011005> /xf0/x91/x80/x85 BRAHMI LETTER A
-+<U00011006> /xf0/x91/x80/x86 BRAHMI LETTER AA
-+<U00011007> /xf0/x91/x80/x87 BRAHMI LETTER I
-+<U00011008> /xf0/x91/x80/x88 BRAHMI LETTER II
-+<U00011009> /xf0/x91/x80/x89 BRAHMI LETTER U
-+<U0001100A> /xf0/x91/x80/x8a BRAHMI LETTER UU
-+<U0001100B> /xf0/x91/x80/x8b BRAHMI LETTER VOCALIC R
-+<U0001100C> /xf0/x91/x80/x8c BRAHMI LETTER VOCALIC RR
-+<U0001100D> /xf0/x91/x80/x8d BRAHMI LETTER VOCALIC L
-+<U0001100E> /xf0/x91/x80/x8e BRAHMI LETTER VOCALIC LL
-+<U0001100F> /xf0/x91/x80/x8f BRAHMI LETTER E
-+<U00011010> /xf0/x91/x80/x90 BRAHMI LETTER AI
-+<U00011011> /xf0/x91/x80/x91 BRAHMI LETTER O
-+<U00011012> /xf0/x91/x80/x92 BRAHMI LETTER AU
-+<U00011013> /xf0/x91/x80/x93 BRAHMI LETTER KA
-+<U00011014> /xf0/x91/x80/x94 BRAHMI LETTER KHA
-+<U00011015> /xf0/x91/x80/x95 BRAHMI LETTER GA
-+<U00011016> /xf0/x91/x80/x96 BRAHMI LETTER GHA
-+<U00011017> /xf0/x91/x80/x97 BRAHMI LETTER NGA
-+<U00011018> /xf0/x91/x80/x98 BRAHMI LETTER CA
-+<U00011019> /xf0/x91/x80/x99 BRAHMI LETTER CHA
-+<U0001101A> /xf0/x91/x80/x9a BRAHMI LETTER JA
-+<U0001101B> /xf0/x91/x80/x9b BRAHMI LETTER JHA
-+<U0001101C> /xf0/x91/x80/x9c BRAHMI LETTER NYA
-+<U0001101D> /xf0/x91/x80/x9d BRAHMI LETTER TTA
-+<U0001101E> /xf0/x91/x80/x9e BRAHMI LETTER TTHA
-+<U0001101F> /xf0/x91/x80/x9f BRAHMI LETTER DDA
-+<U00011020> /xf0/x91/x80/xa0 BRAHMI LETTER DDHA
-+<U00011021> /xf0/x91/x80/xa1 BRAHMI LETTER NNA
-+<U00011022> /xf0/x91/x80/xa2 BRAHMI LETTER TA
-+<U00011023> /xf0/x91/x80/xa3 BRAHMI LETTER THA
-+<U00011024> /xf0/x91/x80/xa4 BRAHMI LETTER DA
-+<U00011025> /xf0/x91/x80/xa5 BRAHMI LETTER DHA
-+<U00011026> /xf0/x91/x80/xa6 BRAHMI LETTER NA
-+<U00011027> /xf0/x91/x80/xa7 BRAHMI LETTER PA
-+<U00011028> /xf0/x91/x80/xa8 BRAHMI LETTER PHA
-+<U00011029> /xf0/x91/x80/xa9 BRAHMI LETTER BA
-+<U0001102A> /xf0/x91/x80/xaa BRAHMI LETTER BHA
-+<U0001102B> /xf0/x91/x80/xab BRAHMI LETTER MA
-+<U0001102C> /xf0/x91/x80/xac BRAHMI LETTER YA
-+<U0001102D> /xf0/x91/x80/xad BRAHMI LETTER RA
-+<U0001102E> /xf0/x91/x80/xae BRAHMI LETTER LA
-+<U0001102F> /xf0/x91/x80/xaf BRAHMI LETTER VA
-+<U00011030> /xf0/x91/x80/xb0 BRAHMI LETTER SHA
-+<U00011031> /xf0/x91/x80/xb1 BRAHMI LETTER SSA
-+<U00011032> /xf0/x91/x80/xb2 BRAHMI LETTER SA
-+<U00011033> /xf0/x91/x80/xb3 BRAHMI LETTER HA
-+<U00011034> /xf0/x91/x80/xb4 BRAHMI LETTER LLA
-+<U00011035> /xf0/x91/x80/xb5 BRAHMI LETTER OLD TAMIL LLLA
-+<U00011036> /xf0/x91/x80/xb6 BRAHMI LETTER OLD TAMIL RRA
-+<U00011037> /xf0/x91/x80/xb7 BRAHMI LETTER OLD TAMIL NNNA
-+<U00011038> /xf0/x91/x80/xb8 BRAHMI VOWEL SIGN AA
-+<U00011039> /xf0/x91/x80/xb9 BRAHMI VOWEL SIGN BHATTIPROLU AA
-+<U0001103A> /xf0/x91/x80/xba BRAHMI VOWEL SIGN I
-+<U0001103B> /xf0/x91/x80/xbb BRAHMI VOWEL SIGN II
-+<U0001103C> /xf0/x91/x80/xbc BRAHMI VOWEL SIGN U
-+<U0001103D> /xf0/x91/x80/xbd BRAHMI VOWEL SIGN UU
-+<U0001103E> /xf0/x91/x80/xbe BRAHMI VOWEL SIGN VOCALIC R
-+<U0001103F> /xf0/x91/x80/xbf BRAHMI VOWEL SIGN VOCALIC RR
-+<U00011040> /xf0/x91/x81/x80 BRAHMI VOWEL SIGN VOCALIC L
-+<U00011041> /xf0/x91/x81/x81 BRAHMI VOWEL SIGN VOCALIC LL
-+<U00011042> /xf0/x91/x81/x82 BRAHMI VOWEL SIGN E
-+<U00011043> /xf0/x91/x81/x83 BRAHMI VOWEL SIGN AI
-+<U00011044> /xf0/x91/x81/x84 BRAHMI VOWEL SIGN O
-+<U00011045> /xf0/x91/x81/x85 BRAHMI VOWEL SIGN AU
-+<U00011046> /xf0/x91/x81/x86 BRAHMI VIRAMA
-+<U00011047> /xf0/x91/x81/x87 BRAHMI DANDA
-+<U00011048> /xf0/x91/x81/x88 BRAHMI DOUBLE DANDA
-+<U00011049> /xf0/x91/x81/x89 BRAHMI PUNCTUATION DOT
-+<U0001104A> /xf0/x91/x81/x8a BRAHMI PUNCTUATION DOUBLE DOT
-+<U0001104B> /xf0/x91/x81/x8b BRAHMI PUNCTUATION LINE
-+<U0001104C> /xf0/x91/x81/x8c BRAHMI PUNCTUATION CRESCENT BAR
-+<U0001104D> /xf0/x91/x81/x8d BRAHMI PUNCTUATION LOTUS
-+<U00011052> /xf0/x91/x81/x92 BRAHMI NUMBER ONE
-+<U00011053> /xf0/x91/x81/x93 BRAHMI NUMBER TWO
-+<U00011054> /xf0/x91/x81/x94 BRAHMI NUMBER THREE
-+<U00011055> /xf0/x91/x81/x95 BRAHMI NUMBER FOUR
-+<U00011056> /xf0/x91/x81/x96 BRAHMI NUMBER FIVE
-+<U00011057> /xf0/x91/x81/x97 BRAHMI NUMBER SIX
-+<U00011058> /xf0/x91/x81/x98 BRAHMI NUMBER SEVEN
-+<U00011059> /xf0/x91/x81/x99 BRAHMI NUMBER EIGHT
-+<U0001105A> /xf0/x91/x81/x9a BRAHMI NUMBER NINE
-+<U0001105B> /xf0/x91/x81/x9b BRAHMI NUMBER TEN
-+<U0001105C> /xf0/x91/x81/x9c BRAHMI NUMBER TWENTY
-+<U0001105D> /xf0/x91/x81/x9d BRAHMI NUMBER THIRTY
-+<U0001105E> /xf0/x91/x81/x9e BRAHMI NUMBER FORTY
-+<U0001105F> /xf0/x91/x81/x9f BRAHMI NUMBER FIFTY
-+<U00011060> /xf0/x91/x81/xa0 BRAHMI NUMBER SIXTY
-+<U00011061> /xf0/x91/x81/xa1 BRAHMI NUMBER SEVENTY
-+<U00011062> /xf0/x91/x81/xa2 BRAHMI NUMBER EIGHTY
-+<U00011063> /xf0/x91/x81/xa3 BRAHMI NUMBER NINETY
-+<U00011064> /xf0/x91/x81/xa4 BRAHMI NUMBER ONE HUNDRED
-+<U00011065> /xf0/x91/x81/xa5 BRAHMI NUMBER ONE THOUSAND
-+<U00011066> /xf0/x91/x81/xa6 BRAHMI DIGIT ZERO
-+<U00011067> /xf0/x91/x81/xa7 BRAHMI DIGIT ONE
-+<U00011068> /xf0/x91/x81/xa8 BRAHMI DIGIT TWO
-+<U00011069> /xf0/x91/x81/xa9 BRAHMI DIGIT THREE
-+<U0001106A> /xf0/x91/x81/xaa BRAHMI DIGIT FOUR
-+<U0001106B> /xf0/x91/x81/xab BRAHMI DIGIT FIVE
-+<U0001106C> /xf0/x91/x81/xac BRAHMI DIGIT SIX
-+<U0001106D> /xf0/x91/x81/xad BRAHMI DIGIT SEVEN
-+<U0001106E> /xf0/x91/x81/xae BRAHMI DIGIT EIGHT
-+<U0001106F> /xf0/x91/x81/xaf BRAHMI DIGIT NINE
-+<U00011080> /xf0/x91/x82/x80 KAITHI SIGN CANDRABINDU
-+<U00011081> /xf0/x91/x82/x81 KAITHI SIGN ANUSVARA
-+<U00011082> /xf0/x91/x82/x82 KAITHI SIGN VISARGA
-+<U00011083> /xf0/x91/x82/x83 KAITHI LETTER A
-+<U00011084> /xf0/x91/x82/x84 KAITHI LETTER AA
-+<U00011085> /xf0/x91/x82/x85 KAITHI LETTER I
-+<U00011086> /xf0/x91/x82/x86 KAITHI LETTER II
-+<U00011087> /xf0/x91/x82/x87 KAITHI LETTER U
-+<U00011088> /xf0/x91/x82/x88 KAITHI LETTER UU
-+<U00011089> /xf0/x91/x82/x89 KAITHI LETTER E
-+<U0001108A> /xf0/x91/x82/x8a KAITHI LETTER AI
-+<U0001108B> /xf0/x91/x82/x8b KAITHI LETTER O
-+<U0001108C> /xf0/x91/x82/x8c KAITHI LETTER AU
-+<U0001108D> /xf0/x91/x82/x8d KAITHI LETTER KA
-+<U0001108E> /xf0/x91/x82/x8e KAITHI LETTER KHA
-+<U0001108F> /xf0/x91/x82/x8f KAITHI LETTER GA
-+<U00011090> /xf0/x91/x82/x90 KAITHI LETTER GHA
-+<U00011091> /xf0/x91/x82/x91 KAITHI LETTER NGA
-+<U00011092> /xf0/x91/x82/x92 KAITHI LETTER CA
-+<U00011093> /xf0/x91/x82/x93 KAITHI LETTER CHA
-+<U00011094> /xf0/x91/x82/x94 KAITHI LETTER JA
-+<U00011095> /xf0/x91/x82/x95 KAITHI LETTER JHA
-+<U00011096> /xf0/x91/x82/x96 KAITHI LETTER NYA
-+<U00011097> /xf0/x91/x82/x97 KAITHI LETTER TTA
-+<U00011098> /xf0/x91/x82/x98 KAITHI LETTER TTHA
-+<U00011099> /xf0/x91/x82/x99 KAITHI LETTER DDA
-+<U0001109A> /xf0/x91/x82/x9a KAITHI LETTER DDDHA
-+<U0001109B> /xf0/x91/x82/x9b KAITHI LETTER DDHA
-+<U0001109C> /xf0/x91/x82/x9c KAITHI LETTER RHA
-+<U0001109D> /xf0/x91/x82/x9d KAITHI LETTER NNA
-+<U0001109E> /xf0/x91/x82/x9e KAITHI LETTER TA
-+<U0001109F> /xf0/x91/x82/x9f KAITHI LETTER THA
-+<U000110A0> /xf0/x91/x82/xa0 KAITHI LETTER DA
-+<U000110A1> /xf0/x91/x82/xa1 KAITHI LETTER DHA
-+<U000110A2> /xf0/x91/x82/xa2 KAITHI LETTER NA
-+<U000110A3> /xf0/x91/x82/xa3 KAITHI LETTER PA
-+<U000110A4> /xf0/x91/x82/xa4 KAITHI LETTER PHA
-+<U000110A5> /xf0/x91/x82/xa5 KAITHI LETTER BA
-+<U000110A6> /xf0/x91/x82/xa6 KAITHI LETTER BHA
-+<U000110A7> /xf0/x91/x82/xa7 KAITHI LETTER MA
-+<U000110A8> /xf0/x91/x82/xa8 KAITHI LETTER YA
-+<U000110A9> /xf0/x91/x82/xa9 KAITHI LETTER RA
-+<U000110AA> /xf0/x91/x82/xaa KAITHI LETTER LA
-+<U000110AB> /xf0/x91/x82/xab KAITHI LETTER VA
-+<U000110AC> /xf0/x91/x82/xac KAITHI LETTER SHA
-+<U000110AD> /xf0/x91/x82/xad KAITHI LETTER SSA
-+<U000110AE> /xf0/x91/x82/xae KAITHI LETTER SA
-+<U000110AF> /xf0/x91/x82/xaf KAITHI LETTER HA
-+<U000110B0> /xf0/x91/x82/xb0 KAITHI VOWEL SIGN AA
-+<U000110B1> /xf0/x91/x82/xb1 KAITHI VOWEL SIGN I
-+<U000110B2> /xf0/x91/x82/xb2 KAITHI VOWEL SIGN II
-+<U000110B3> /xf0/x91/x82/xb3 KAITHI VOWEL SIGN U
-+<U000110B4> /xf0/x91/x82/xb4 KAITHI VOWEL SIGN UU
-+<U000110B5> /xf0/x91/x82/xb5 KAITHI VOWEL SIGN E
-+<U000110B6> /xf0/x91/x82/xb6 KAITHI VOWEL SIGN AI
-+<U000110B7> /xf0/x91/x82/xb7 KAITHI VOWEL SIGN O
-+<U000110B8> /xf0/x91/x82/xb8 KAITHI VOWEL SIGN AU
-+<U000110B9> /xf0/x91/x82/xb9 KAITHI SIGN VIRAMA
-+<U000110BA> /xf0/x91/x82/xba KAITHI SIGN NUKTA
-+<U000110BB> /xf0/x91/x82/xbb KAITHI ABBREVIATION SIGN
-+<U000110BC> /xf0/x91/x82/xbc KAITHI ENUMERATION SIGN
-+<U000110BD> /xf0/x91/x82/xbd KAITHI NUMBER SIGN
-+<U000110BE> /xf0/x91/x82/xbe KAITHI SECTION MARK
-+<U000110BF> /xf0/x91/x82/xbf KAITHI DOUBLE SECTION MARK
-+<U000110C0> /xf0/x91/x83/x80 KAITHI DANDA
-+<U000110C1> /xf0/x91/x83/x81 KAITHI DOUBLE DANDA
- <U00012000> /xf0/x92/x80/x80 CUNEIFORM SIGN A
- <U00012001> /xf0/x92/x80/x81 CUNEIFORM SIGN A TIMES A
- <U00012002> /xf0/x92/x80/x82 CUNEIFORM SIGN A TIMES BAD
-@@ -28370,6 +30022,1648 @@ CHARMAP
- <U00012471> /xf0/x92/x91/xb1 CUNEIFORM PUNCTUATION SIGN VERTICAL COLON
- <U00012472> /xf0/x92/x91/xb2 CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON
- <U00012473> /xf0/x92/x91/xb3 CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
-+<U00013000> /xf0/x93/x80/x80 EGYPTIAN HIEROGLYPH A001
-+<U00013001> /xf0/x93/x80/x81 EGYPTIAN HIEROGLYPH A002
-+<U00013002> /xf0/x93/x80/x82 EGYPTIAN HIEROGLYPH A003
-+<U00013003> /xf0/x93/x80/x83 EGYPTIAN HIEROGLYPH A004
-+<U00013004> /xf0/x93/x80/x84 EGYPTIAN HIEROGLYPH A005
-+<U00013005> /xf0/x93/x80/x85 EGYPTIAN HIEROGLYPH A005A
-+<U00013006> /xf0/x93/x80/x86 EGYPTIAN HIEROGLYPH A006
-+<U00013007> /xf0/x93/x80/x87 EGYPTIAN HIEROGLYPH A006A
-+<U00013008> /xf0/x93/x80/x88 EGYPTIAN HIEROGLYPH A006B
-+<U00013009> /xf0/x93/x80/x89 EGYPTIAN HIEROGLYPH A007
-+<U0001300A> /xf0/x93/x80/x8a EGYPTIAN HIEROGLYPH A008
-+<U0001300B> /xf0/x93/x80/x8b EGYPTIAN HIEROGLYPH A009
-+<U0001300C> /xf0/x93/x80/x8c EGYPTIAN HIEROGLYPH A010
-+<U0001300D> /xf0/x93/x80/x8d EGYPTIAN HIEROGLYPH A011
-+<U0001300E> /xf0/x93/x80/x8e EGYPTIAN HIEROGLYPH A012
-+<U0001300F> /xf0/x93/x80/x8f EGYPTIAN HIEROGLYPH A013
-+<U00013010> /xf0/x93/x80/x90 EGYPTIAN HIEROGLYPH A014
-+<U00013011> /xf0/x93/x80/x91 EGYPTIAN HIEROGLYPH A014A
-+<U00013012> /xf0/x93/x80/x92 EGYPTIAN HIEROGLYPH A015
-+<U00013013> /xf0/x93/x80/x93 EGYPTIAN HIEROGLYPH A016
-+<U00013014> /xf0/x93/x80/x94 EGYPTIAN HIEROGLYPH A017
-+<U00013015> /xf0/x93/x80/x95 EGYPTIAN HIEROGLYPH A017A
-+<U00013016> /xf0/x93/x80/x96 EGYPTIAN HIEROGLYPH A018
-+<U00013017> /xf0/x93/x80/x97 EGYPTIAN HIEROGLYPH A019
-+<U00013018> /xf0/x93/x80/x98 EGYPTIAN HIEROGLYPH A020
-+<U00013019> /xf0/x93/x80/x99 EGYPTIAN HIEROGLYPH A021
-+<U0001301A> /xf0/x93/x80/x9a EGYPTIAN HIEROGLYPH A022
-+<U0001301B> /xf0/x93/x80/x9b EGYPTIAN HIEROGLYPH A023
-+<U0001301C> /xf0/x93/x80/x9c EGYPTIAN HIEROGLYPH A024
-+<U0001301D> /xf0/x93/x80/x9d EGYPTIAN HIEROGLYPH A025
-+<U0001301E> /xf0/x93/x80/x9e EGYPTIAN HIEROGLYPH A026
-+<U0001301F> /xf0/x93/x80/x9f EGYPTIAN HIEROGLYPH A027
-+<U00013020> /xf0/x93/x80/xa0 EGYPTIAN HIEROGLYPH A028
-+<U00013021> /xf0/x93/x80/xa1 EGYPTIAN HIEROGLYPH A029
-+<U00013022> /xf0/x93/x80/xa2 EGYPTIAN HIEROGLYPH A030
-+<U00013023> /xf0/x93/x80/xa3 EGYPTIAN HIEROGLYPH A031
-+<U00013024> /xf0/x93/x80/xa4 EGYPTIAN HIEROGLYPH A032
-+<U00013025> /xf0/x93/x80/xa5 EGYPTIAN HIEROGLYPH A032A
-+<U00013026> /xf0/x93/x80/xa6 EGYPTIAN HIEROGLYPH A033
-+<U00013027> /xf0/x93/x80/xa7 EGYPTIAN HIEROGLYPH A034
-+<U00013028> /xf0/x93/x80/xa8 EGYPTIAN HIEROGLYPH A035
-+<U00013029> /xf0/x93/x80/xa9 EGYPTIAN HIEROGLYPH A036
-+<U0001302A> /xf0/x93/x80/xaa EGYPTIAN HIEROGLYPH A037
-+<U0001302B> /xf0/x93/x80/xab EGYPTIAN HIEROGLYPH A038
-+<U0001302C> /xf0/x93/x80/xac EGYPTIAN HIEROGLYPH A039
-+<U0001302D> /xf0/x93/x80/xad EGYPTIAN HIEROGLYPH A040
-+<U0001302E> /xf0/x93/x80/xae EGYPTIAN HIEROGLYPH A040A
-+<U0001302F> /xf0/x93/x80/xaf EGYPTIAN HIEROGLYPH A041
-+<U00013030> /xf0/x93/x80/xb0 EGYPTIAN HIEROGLYPH A042
-+<U00013031> /xf0/x93/x80/xb1 EGYPTIAN HIEROGLYPH A042A
-+<U00013032> /xf0/x93/x80/xb2 EGYPTIAN HIEROGLYPH A043
-+<U00013033> /xf0/x93/x80/xb3 EGYPTIAN HIEROGLYPH A043A
-+<U00013034> /xf0/x93/x80/xb4 EGYPTIAN HIEROGLYPH A044
-+<U00013035> /xf0/x93/x80/xb5 EGYPTIAN HIEROGLYPH A045
-+<U00013036> /xf0/x93/x80/xb6 EGYPTIAN HIEROGLYPH A045A
-+<U00013037> /xf0/x93/x80/xb7 EGYPTIAN HIEROGLYPH A046
-+<U00013038> /xf0/x93/x80/xb8 EGYPTIAN HIEROGLYPH A047
-+<U00013039> /xf0/x93/x80/xb9 EGYPTIAN HIEROGLYPH A048
-+<U0001303A> /xf0/x93/x80/xba EGYPTIAN HIEROGLYPH A049
-+<U0001303B> /xf0/x93/x80/xbb EGYPTIAN HIEROGLYPH A050
-+<U0001303C> /xf0/x93/x80/xbc EGYPTIAN HIEROGLYPH A051
-+<U0001303D> /xf0/x93/x80/xbd EGYPTIAN HIEROGLYPH A052
-+<U0001303E> /xf0/x93/x80/xbe EGYPTIAN HIEROGLYPH A053
-+<U0001303F> /xf0/x93/x80/xbf EGYPTIAN HIEROGLYPH A054
-+<U00013040> /xf0/x93/x81/x80 EGYPTIAN HIEROGLYPH A055
-+<U00013041> /xf0/x93/x81/x81 EGYPTIAN HIEROGLYPH A056
-+<U00013042> /xf0/x93/x81/x82 EGYPTIAN HIEROGLYPH A057
-+<U00013043> /xf0/x93/x81/x83 EGYPTIAN HIEROGLYPH A058
-+<U00013044> /xf0/x93/x81/x84 EGYPTIAN HIEROGLYPH A059
-+<U00013045> /xf0/x93/x81/x85 EGYPTIAN HIEROGLYPH A060
-+<U00013046> /xf0/x93/x81/x86 EGYPTIAN HIEROGLYPH A061
-+<U00013047> /xf0/x93/x81/x87 EGYPTIAN HIEROGLYPH A062
-+<U00013048> /xf0/x93/x81/x88 EGYPTIAN HIEROGLYPH A063
-+<U00013049> /xf0/x93/x81/x89 EGYPTIAN HIEROGLYPH A064
-+<U0001304A> /xf0/x93/x81/x8a EGYPTIAN HIEROGLYPH A065
-+<U0001304B> /xf0/x93/x81/x8b EGYPTIAN HIEROGLYPH A066
-+<U0001304C> /xf0/x93/x81/x8c EGYPTIAN HIEROGLYPH A067
-+<U0001304D> /xf0/x93/x81/x8d EGYPTIAN HIEROGLYPH A068
-+<U0001304E> /xf0/x93/x81/x8e EGYPTIAN HIEROGLYPH A069
-+<U0001304F> /xf0/x93/x81/x8f EGYPTIAN HIEROGLYPH A070
-+<U00013050> /xf0/x93/x81/x90 EGYPTIAN HIEROGLYPH B001
-+<U00013051> /xf0/x93/x81/x91 EGYPTIAN HIEROGLYPH B002
-+<U00013052> /xf0/x93/x81/x92 EGYPTIAN HIEROGLYPH B003
-+<U00013053> /xf0/x93/x81/x93 EGYPTIAN HIEROGLYPH B004
-+<U00013054> /xf0/x93/x81/x94 EGYPTIAN HIEROGLYPH B005
-+<U00013055> /xf0/x93/x81/x95 EGYPTIAN HIEROGLYPH B005A
-+<U00013056> /xf0/x93/x81/x96 EGYPTIAN HIEROGLYPH B006
-+<U00013057> /xf0/x93/x81/x97 EGYPTIAN HIEROGLYPH B007
-+<U00013058> /xf0/x93/x81/x98 EGYPTIAN HIEROGLYPH B008
-+<U00013059> /xf0/x93/x81/x99 EGYPTIAN HIEROGLYPH B009
-+<U0001305A> /xf0/x93/x81/x9a EGYPTIAN HIEROGLYPH C001
-+<U0001305B> /xf0/x93/x81/x9b EGYPTIAN HIEROGLYPH C002
-+<U0001305C> /xf0/x93/x81/x9c EGYPTIAN HIEROGLYPH C002A
-+<U0001305D> /xf0/x93/x81/x9d EGYPTIAN HIEROGLYPH C002B
-+<U0001305E> /xf0/x93/x81/x9e EGYPTIAN HIEROGLYPH C002C
-+<U0001305F> /xf0/x93/x81/x9f EGYPTIAN HIEROGLYPH C003
-+<U00013060> /xf0/x93/x81/xa0 EGYPTIAN HIEROGLYPH C004
-+<U00013061> /xf0/x93/x81/xa1 EGYPTIAN HIEROGLYPH C005
-+<U00013062> /xf0/x93/x81/xa2 EGYPTIAN HIEROGLYPH C006
-+<U00013063> /xf0/x93/x81/xa3 EGYPTIAN HIEROGLYPH C007
-+<U00013064> /xf0/x93/x81/xa4 EGYPTIAN HIEROGLYPH C008
-+<U00013065> /xf0/x93/x81/xa5 EGYPTIAN HIEROGLYPH C009
-+<U00013066> /xf0/x93/x81/xa6 EGYPTIAN HIEROGLYPH C010
-+<U00013067> /xf0/x93/x81/xa7 EGYPTIAN HIEROGLYPH C010A
-+<U00013068> /xf0/x93/x81/xa8 EGYPTIAN HIEROGLYPH C011
-+<U00013069> /xf0/x93/x81/xa9 EGYPTIAN HIEROGLYPH C012
-+<U0001306A> /xf0/x93/x81/xaa EGYPTIAN HIEROGLYPH C013
-+<U0001306B> /xf0/x93/x81/xab EGYPTIAN HIEROGLYPH C014
-+<U0001306C> /xf0/x93/x81/xac EGYPTIAN HIEROGLYPH C015
-+<U0001306D> /xf0/x93/x81/xad EGYPTIAN HIEROGLYPH C016
-+<U0001306E> /xf0/x93/x81/xae EGYPTIAN HIEROGLYPH C017
-+<U0001306F> /xf0/x93/x81/xaf EGYPTIAN HIEROGLYPH C018
-+<U00013070> /xf0/x93/x81/xb0 EGYPTIAN HIEROGLYPH C019
-+<U00013071> /xf0/x93/x81/xb1 EGYPTIAN HIEROGLYPH C020
-+<U00013072> /xf0/x93/x81/xb2 EGYPTIAN HIEROGLYPH C021
-+<U00013073> /xf0/x93/x81/xb3 EGYPTIAN HIEROGLYPH C022
-+<U00013074> /xf0/x93/x81/xb4 EGYPTIAN HIEROGLYPH C023
-+<U00013075> /xf0/x93/x81/xb5 EGYPTIAN HIEROGLYPH C024
-+<U00013076> /xf0/x93/x81/xb6 EGYPTIAN HIEROGLYPH D001
-+<U00013077> /xf0/x93/x81/xb7 EGYPTIAN HIEROGLYPH D002
-+<U00013078> /xf0/x93/x81/xb8 EGYPTIAN HIEROGLYPH D003
-+<U00013079> /xf0/x93/x81/xb9 EGYPTIAN HIEROGLYPH D004
-+<U0001307A> /xf0/x93/x81/xba EGYPTIAN HIEROGLYPH D005
-+<U0001307B> /xf0/x93/x81/xbb EGYPTIAN HIEROGLYPH D006
-+<U0001307C> /xf0/x93/x81/xbc EGYPTIAN HIEROGLYPH D007
-+<U0001307D> /xf0/x93/x81/xbd EGYPTIAN HIEROGLYPH D008
-+<U0001307E> /xf0/x93/x81/xbe EGYPTIAN HIEROGLYPH D008A
-+<U0001307F> /xf0/x93/x81/xbf EGYPTIAN HIEROGLYPH D009
-+<U00013080> /xf0/x93/x82/x80 EGYPTIAN HIEROGLYPH D010
-+<U00013081> /xf0/x93/x82/x81 EGYPTIAN HIEROGLYPH D011
-+<U00013082> /xf0/x93/x82/x82 EGYPTIAN HIEROGLYPH D012
-+<U00013083> /xf0/x93/x82/x83 EGYPTIAN HIEROGLYPH D013
-+<U00013084> /xf0/x93/x82/x84 EGYPTIAN HIEROGLYPH D014
-+<U00013085> /xf0/x93/x82/x85 EGYPTIAN HIEROGLYPH D015
-+<U00013086> /xf0/x93/x82/x86 EGYPTIAN HIEROGLYPH D016
-+<U00013087> /xf0/x93/x82/x87 EGYPTIAN HIEROGLYPH D017
-+<U00013088> /xf0/x93/x82/x88 EGYPTIAN HIEROGLYPH D018
-+<U00013089> /xf0/x93/x82/x89 EGYPTIAN HIEROGLYPH D019
-+<U0001308A> /xf0/x93/x82/x8a EGYPTIAN HIEROGLYPH D020
-+<U0001308B> /xf0/x93/x82/x8b EGYPTIAN HIEROGLYPH D021
-+<U0001308C> /xf0/x93/x82/x8c EGYPTIAN HIEROGLYPH D022
-+<U0001308D> /xf0/x93/x82/x8d EGYPTIAN HIEROGLYPH D023
-+<U0001308E> /xf0/x93/x82/x8e EGYPTIAN HIEROGLYPH D024
-+<U0001308F> /xf0/x93/x82/x8f EGYPTIAN HIEROGLYPH D025
-+<U00013090> /xf0/x93/x82/x90 EGYPTIAN HIEROGLYPH D026
-+<U00013091> /xf0/x93/x82/x91 EGYPTIAN HIEROGLYPH D027
-+<U00013092> /xf0/x93/x82/x92 EGYPTIAN HIEROGLYPH D027A
-+<U00013093> /xf0/x93/x82/x93 EGYPTIAN HIEROGLYPH D028
-+<U00013094> /xf0/x93/x82/x94 EGYPTIAN HIEROGLYPH D029
-+<U00013095> /xf0/x93/x82/x95 EGYPTIAN HIEROGLYPH D030
-+<U00013096> /xf0/x93/x82/x96 EGYPTIAN HIEROGLYPH D031
-+<U00013097> /xf0/x93/x82/x97 EGYPTIAN HIEROGLYPH D031A
-+<U00013098> /xf0/x93/x82/x98 EGYPTIAN HIEROGLYPH D032
-+<U00013099> /xf0/x93/x82/x99 EGYPTIAN HIEROGLYPH D033
-+<U0001309A> /xf0/x93/x82/x9a EGYPTIAN HIEROGLYPH D034
-+<U0001309B> /xf0/x93/x82/x9b EGYPTIAN HIEROGLYPH D034A
-+<U0001309C> /xf0/x93/x82/x9c EGYPTIAN HIEROGLYPH D035
-+<U0001309D> /xf0/x93/x82/x9d EGYPTIAN HIEROGLYPH D036
-+<U0001309E> /xf0/x93/x82/x9e EGYPTIAN HIEROGLYPH D037
-+<U0001309F> /xf0/x93/x82/x9f EGYPTIAN HIEROGLYPH D038
-+<U000130A0> /xf0/x93/x82/xa0 EGYPTIAN HIEROGLYPH D039
-+<U000130A1> /xf0/x93/x82/xa1 EGYPTIAN HIEROGLYPH D040
-+<U000130A2> /xf0/x93/x82/xa2 EGYPTIAN HIEROGLYPH D041
-+<U000130A3> /xf0/x93/x82/xa3 EGYPTIAN HIEROGLYPH D042
-+<U000130A4> /xf0/x93/x82/xa4 EGYPTIAN HIEROGLYPH D043
-+<U000130A5> /xf0/x93/x82/xa5 EGYPTIAN HIEROGLYPH D044
-+<U000130A6> /xf0/x93/x82/xa6 EGYPTIAN HIEROGLYPH D045
-+<U000130A7> /xf0/x93/x82/xa7 EGYPTIAN HIEROGLYPH D046
-+<U000130A8> /xf0/x93/x82/xa8 EGYPTIAN HIEROGLYPH D046A
-+<U000130A9> /xf0/x93/x82/xa9 EGYPTIAN HIEROGLYPH D047
-+<U000130AA> /xf0/x93/x82/xaa EGYPTIAN HIEROGLYPH D048
-+<U000130AB> /xf0/x93/x82/xab EGYPTIAN HIEROGLYPH D048A
-+<U000130AC> /xf0/x93/x82/xac EGYPTIAN HIEROGLYPH D049
-+<U000130AD> /xf0/x93/x82/xad EGYPTIAN HIEROGLYPH D050
-+<U000130AE> /xf0/x93/x82/xae EGYPTIAN HIEROGLYPH D050A
-+<U000130AF> /xf0/x93/x82/xaf EGYPTIAN HIEROGLYPH D050B
-+<U000130B0> /xf0/x93/x82/xb0 EGYPTIAN HIEROGLYPH D050C
-+<U000130B1> /xf0/x93/x82/xb1 EGYPTIAN HIEROGLYPH D050D
-+<U000130B2> /xf0/x93/x82/xb2 EGYPTIAN HIEROGLYPH D050E
-+<U000130B3> /xf0/x93/x82/xb3 EGYPTIAN HIEROGLYPH D050F
-+<U000130B4> /xf0/x93/x82/xb4 EGYPTIAN HIEROGLYPH D050G
-+<U000130B5> /xf0/x93/x82/xb5 EGYPTIAN HIEROGLYPH D050H
-+<U000130B6> /xf0/x93/x82/xb6 EGYPTIAN HIEROGLYPH D050I
-+<U000130B7> /xf0/x93/x82/xb7 EGYPTIAN HIEROGLYPH D051
-+<U000130B8> /xf0/x93/x82/xb8 EGYPTIAN HIEROGLYPH D052
-+<U000130B9> /xf0/x93/x82/xb9 EGYPTIAN HIEROGLYPH D052A
-+<U000130BA> /xf0/x93/x82/xba EGYPTIAN HIEROGLYPH D053
-+<U000130BB> /xf0/x93/x82/xbb EGYPTIAN HIEROGLYPH D054
-+<U000130BC> /xf0/x93/x82/xbc EGYPTIAN HIEROGLYPH D054A
-+<U000130BD> /xf0/x93/x82/xbd EGYPTIAN HIEROGLYPH D055
-+<U000130BE> /xf0/x93/x82/xbe EGYPTIAN HIEROGLYPH D056
-+<U000130BF> /xf0/x93/x82/xbf EGYPTIAN HIEROGLYPH D057
-+<U000130C0> /xf0/x93/x83/x80 EGYPTIAN HIEROGLYPH D058
-+<U000130C1> /xf0/x93/x83/x81 EGYPTIAN HIEROGLYPH D059
-+<U000130C2> /xf0/x93/x83/x82 EGYPTIAN HIEROGLYPH D060
-+<U000130C3> /xf0/x93/x83/x83 EGYPTIAN HIEROGLYPH D061
-+<U000130C4> /xf0/x93/x83/x84 EGYPTIAN HIEROGLYPH D062
-+<U000130C5> /xf0/x93/x83/x85 EGYPTIAN HIEROGLYPH D063
-+<U000130C6> /xf0/x93/x83/x86 EGYPTIAN HIEROGLYPH D064
-+<U000130C7> /xf0/x93/x83/x87 EGYPTIAN HIEROGLYPH D065
-+<U000130C8> /xf0/x93/x83/x88 EGYPTIAN HIEROGLYPH D066
-+<U000130C9> /xf0/x93/x83/x89 EGYPTIAN HIEROGLYPH D067
-+<U000130CA> /xf0/x93/x83/x8a EGYPTIAN HIEROGLYPH D067A
-+<U000130CB> /xf0/x93/x83/x8b EGYPTIAN HIEROGLYPH D067B
-+<U000130CC> /xf0/x93/x83/x8c EGYPTIAN HIEROGLYPH D067C
-+<U000130CD> /xf0/x93/x83/x8d EGYPTIAN HIEROGLYPH D067D
-+<U000130CE> /xf0/x93/x83/x8e EGYPTIAN HIEROGLYPH D067E
-+<U000130CF> /xf0/x93/x83/x8f EGYPTIAN HIEROGLYPH D067F
-+<U000130D0> /xf0/x93/x83/x90 EGYPTIAN HIEROGLYPH D067G
-+<U000130D1> /xf0/x93/x83/x91 EGYPTIAN HIEROGLYPH D067H
-+<U000130D2> /xf0/x93/x83/x92 EGYPTIAN HIEROGLYPH E001
-+<U000130D3> /xf0/x93/x83/x93 EGYPTIAN HIEROGLYPH E002
-+<U000130D4> /xf0/x93/x83/x94 EGYPTIAN HIEROGLYPH E003
-+<U000130D5> /xf0/x93/x83/x95 EGYPTIAN HIEROGLYPH E004
-+<U000130D6> /xf0/x93/x83/x96 EGYPTIAN HIEROGLYPH E005
-+<U000130D7> /xf0/x93/x83/x97 EGYPTIAN HIEROGLYPH E006
-+<U000130D8> /xf0/x93/x83/x98 EGYPTIAN HIEROGLYPH E007
-+<U000130D9> /xf0/x93/x83/x99 EGYPTIAN HIEROGLYPH E008
-+<U000130DA> /xf0/x93/x83/x9a EGYPTIAN HIEROGLYPH E008A
-+<U000130DB> /xf0/x93/x83/x9b EGYPTIAN HIEROGLYPH E009
-+<U000130DC> /xf0/x93/x83/x9c EGYPTIAN HIEROGLYPH E009A
-+<U000130DD> /xf0/x93/x83/x9d EGYPTIAN HIEROGLYPH E010
-+<U000130DE> /xf0/x93/x83/x9e EGYPTIAN HIEROGLYPH E011
-+<U000130DF> /xf0/x93/x83/x9f EGYPTIAN HIEROGLYPH E012
-+<U000130E0> /xf0/x93/x83/xa0 EGYPTIAN HIEROGLYPH E013
-+<U000130E1> /xf0/x93/x83/xa1 EGYPTIAN HIEROGLYPH E014
-+<U000130E2> /xf0/x93/x83/xa2 EGYPTIAN HIEROGLYPH E015
-+<U000130E3> /xf0/x93/x83/xa3 EGYPTIAN HIEROGLYPH E016
-+<U000130E4> /xf0/x93/x83/xa4 EGYPTIAN HIEROGLYPH E016A
-+<U000130E5> /xf0/x93/x83/xa5 EGYPTIAN HIEROGLYPH E017
-+<U000130E6> /xf0/x93/x83/xa6 EGYPTIAN HIEROGLYPH E017A
-+<U000130E7> /xf0/x93/x83/xa7 EGYPTIAN HIEROGLYPH E018
-+<U000130E8> /xf0/x93/x83/xa8 EGYPTIAN HIEROGLYPH E019
-+<U000130E9> /xf0/x93/x83/xa9 EGYPTIAN HIEROGLYPH E020
-+<U000130EA> /xf0/x93/x83/xaa EGYPTIAN HIEROGLYPH E020A
-+<U000130EB> /xf0/x93/x83/xab EGYPTIAN HIEROGLYPH E021
-+<U000130EC> /xf0/x93/x83/xac EGYPTIAN HIEROGLYPH E022
-+<U000130ED> /xf0/x93/x83/xad EGYPTIAN HIEROGLYPH E023
-+<U000130EE> /xf0/x93/x83/xae EGYPTIAN HIEROGLYPH E024
-+<U000130EF> /xf0/x93/x83/xaf EGYPTIAN HIEROGLYPH E025
-+<U000130F0> /xf0/x93/x83/xb0 EGYPTIAN HIEROGLYPH E026
-+<U000130F1> /xf0/x93/x83/xb1 EGYPTIAN HIEROGLYPH E027
-+<U000130F2> /xf0/x93/x83/xb2 EGYPTIAN HIEROGLYPH E028
-+<U000130F3> /xf0/x93/x83/xb3 EGYPTIAN HIEROGLYPH E028A
-+<U000130F4> /xf0/x93/x83/xb4 EGYPTIAN HIEROGLYPH E029
-+<U000130F5> /xf0/x93/x83/xb5 EGYPTIAN HIEROGLYPH E030
-+<U000130F6> /xf0/x93/x83/xb6 EGYPTIAN HIEROGLYPH E031
-+<U000130F7> /xf0/x93/x83/xb7 EGYPTIAN HIEROGLYPH E032
-+<U000130F8> /xf0/x93/x83/xb8 EGYPTIAN HIEROGLYPH E033
-+<U000130F9> /xf0/x93/x83/xb9 EGYPTIAN HIEROGLYPH E034
-+<U000130FA> /xf0/x93/x83/xba EGYPTIAN HIEROGLYPH E034A
-+<U000130FB> /xf0/x93/x83/xbb EGYPTIAN HIEROGLYPH E036
-+<U000130FC> /xf0/x93/x83/xbc EGYPTIAN HIEROGLYPH E037
-+<U000130FD> /xf0/x93/x83/xbd EGYPTIAN HIEROGLYPH E038
-+<U000130FE> /xf0/x93/x83/xbe EGYPTIAN HIEROGLYPH F001
-+<U000130FF> /xf0/x93/x83/xbf EGYPTIAN HIEROGLYPH F001A
-+<U00013100> /xf0/x93/x84/x80 EGYPTIAN HIEROGLYPH F002
-+<U00013101> /xf0/x93/x84/x81 EGYPTIAN HIEROGLYPH F003
-+<U00013102> /xf0/x93/x84/x82 EGYPTIAN HIEROGLYPH F004
-+<U00013103> /xf0/x93/x84/x83 EGYPTIAN HIEROGLYPH F005
-+<U00013104> /xf0/x93/x84/x84 EGYPTIAN HIEROGLYPH F006
-+<U00013105> /xf0/x93/x84/x85 EGYPTIAN HIEROGLYPH F007
-+<U00013106> /xf0/x93/x84/x86 EGYPTIAN HIEROGLYPH F008
-+<U00013107> /xf0/x93/x84/x87 EGYPTIAN HIEROGLYPH F009
-+<U00013108> /xf0/x93/x84/x88 EGYPTIAN HIEROGLYPH F010
-+<U00013109> /xf0/x93/x84/x89 EGYPTIAN HIEROGLYPH F011
-+<U0001310A> /xf0/x93/x84/x8a EGYPTIAN HIEROGLYPH F012
-+<U0001310B> /xf0/x93/x84/x8b EGYPTIAN HIEROGLYPH F013
-+<U0001310C> /xf0/x93/x84/x8c EGYPTIAN HIEROGLYPH F013A
-+<U0001310D> /xf0/x93/x84/x8d EGYPTIAN HIEROGLYPH F014
-+<U0001310E> /xf0/x93/x84/x8e EGYPTIAN HIEROGLYPH F015
-+<U0001310F> /xf0/x93/x84/x8f EGYPTIAN HIEROGLYPH F016
-+<U00013110> /xf0/x93/x84/x90 EGYPTIAN HIEROGLYPH F017
-+<U00013111> /xf0/x93/x84/x91 EGYPTIAN HIEROGLYPH F018
-+<U00013112> /xf0/x93/x84/x92 EGYPTIAN HIEROGLYPH F019
-+<U00013113> /xf0/x93/x84/x93 EGYPTIAN HIEROGLYPH F020
-+<U00013114> /xf0/x93/x84/x94 EGYPTIAN HIEROGLYPH F021
-+<U00013115> /xf0/x93/x84/x95 EGYPTIAN HIEROGLYPH F021A
-+<U00013116> /xf0/x93/x84/x96 EGYPTIAN HIEROGLYPH F022
-+<U00013117> /xf0/x93/x84/x97 EGYPTIAN HIEROGLYPH F023
-+<U00013118> /xf0/x93/x84/x98 EGYPTIAN HIEROGLYPH F024
-+<U00013119> /xf0/x93/x84/x99 EGYPTIAN HIEROGLYPH F025
-+<U0001311A> /xf0/x93/x84/x9a EGYPTIAN HIEROGLYPH F026
-+<U0001311B> /xf0/x93/x84/x9b EGYPTIAN HIEROGLYPH F027
-+<U0001311C> /xf0/x93/x84/x9c EGYPTIAN HIEROGLYPH F028
-+<U0001311D> /xf0/x93/x84/x9d EGYPTIAN HIEROGLYPH F029
-+<U0001311E> /xf0/x93/x84/x9e EGYPTIAN HIEROGLYPH F030
-+<U0001311F> /xf0/x93/x84/x9f EGYPTIAN HIEROGLYPH F031
-+<U00013120> /xf0/x93/x84/xa0 EGYPTIAN HIEROGLYPH F031A
-+<U00013121> /xf0/x93/x84/xa1 EGYPTIAN HIEROGLYPH F032
-+<U00013122> /xf0/x93/x84/xa2 EGYPTIAN HIEROGLYPH F033
-+<U00013123> /xf0/x93/x84/xa3 EGYPTIAN HIEROGLYPH F034
-+<U00013124> /xf0/x93/x84/xa4 EGYPTIAN HIEROGLYPH F035
-+<U00013125> /xf0/x93/x84/xa5 EGYPTIAN HIEROGLYPH F036
-+<U00013126> /xf0/x93/x84/xa6 EGYPTIAN HIEROGLYPH F037
-+<U00013127> /xf0/x93/x84/xa7 EGYPTIAN HIEROGLYPH F037A
-+<U00013128> /xf0/x93/x84/xa8 EGYPTIAN HIEROGLYPH F038
-+<U00013129> /xf0/x93/x84/xa9 EGYPTIAN HIEROGLYPH F038A
-+<U0001312A> /xf0/x93/x84/xaa EGYPTIAN HIEROGLYPH F039
-+<U0001312B> /xf0/x93/x84/xab EGYPTIAN HIEROGLYPH F040
-+<U0001312C> /xf0/x93/x84/xac EGYPTIAN HIEROGLYPH F041
-+<U0001312D> /xf0/x93/x84/xad EGYPTIAN HIEROGLYPH F042
-+<U0001312E> /xf0/x93/x84/xae EGYPTIAN HIEROGLYPH F043
-+<U0001312F> /xf0/x93/x84/xaf EGYPTIAN HIEROGLYPH F044
-+<U00013130> /xf0/x93/x84/xb0 EGYPTIAN HIEROGLYPH F045
-+<U00013131> /xf0/x93/x84/xb1 EGYPTIAN HIEROGLYPH F045A
-+<U00013132> /xf0/x93/x84/xb2 EGYPTIAN HIEROGLYPH F046
-+<U00013133> /xf0/x93/x84/xb3 EGYPTIAN HIEROGLYPH F046A
-+<U00013134> /xf0/x93/x84/xb4 EGYPTIAN HIEROGLYPH F047
-+<U00013135> /xf0/x93/x84/xb5 EGYPTIAN HIEROGLYPH F047A
-+<U00013136> /xf0/x93/x84/xb6 EGYPTIAN HIEROGLYPH F048
-+<U00013137> /xf0/x93/x84/xb7 EGYPTIAN HIEROGLYPH F049
-+<U00013138> /xf0/x93/x84/xb8 EGYPTIAN HIEROGLYPH F050
-+<U00013139> /xf0/x93/x84/xb9 EGYPTIAN HIEROGLYPH F051
-+<U0001313A> /xf0/x93/x84/xba EGYPTIAN HIEROGLYPH F051A
-+<U0001313B> /xf0/x93/x84/xbb EGYPTIAN HIEROGLYPH F051B
-+<U0001313C> /xf0/x93/x84/xbc EGYPTIAN HIEROGLYPH F051C
-+<U0001313D> /xf0/x93/x84/xbd EGYPTIAN HIEROGLYPH F052
-+<U0001313E> /xf0/x93/x84/xbe EGYPTIAN HIEROGLYPH F053
-+<U0001313F> /xf0/x93/x84/xbf EGYPTIAN HIEROGLYPH G001
-+<U00013140> /xf0/x93/x85/x80 EGYPTIAN HIEROGLYPH G002
-+<U00013141> /xf0/x93/x85/x81 EGYPTIAN HIEROGLYPH G003
-+<U00013142> /xf0/x93/x85/x82 EGYPTIAN HIEROGLYPH G004
-+<U00013143> /xf0/x93/x85/x83 EGYPTIAN HIEROGLYPH G005
-+<U00013144> /xf0/x93/x85/x84 EGYPTIAN HIEROGLYPH G006
-+<U00013145> /xf0/x93/x85/x85 EGYPTIAN HIEROGLYPH G006A
-+<U00013146> /xf0/x93/x85/x86 EGYPTIAN HIEROGLYPH G007
-+<U00013147> /xf0/x93/x85/x87 EGYPTIAN HIEROGLYPH G007A
-+<U00013148> /xf0/x93/x85/x88 EGYPTIAN HIEROGLYPH G007B
-+<U00013149> /xf0/x93/x85/x89 EGYPTIAN HIEROGLYPH G008
-+<U0001314A> /xf0/x93/x85/x8a EGYPTIAN HIEROGLYPH G009
-+<U0001314B> /xf0/x93/x85/x8b EGYPTIAN HIEROGLYPH G010
-+<U0001314C> /xf0/x93/x85/x8c EGYPTIAN HIEROGLYPH G011
-+<U0001314D> /xf0/x93/x85/x8d EGYPTIAN HIEROGLYPH G011A
-+<U0001314E> /xf0/x93/x85/x8e EGYPTIAN HIEROGLYPH G012
-+<U0001314F> /xf0/x93/x85/x8f EGYPTIAN HIEROGLYPH G013
-+<U00013150> /xf0/x93/x85/x90 EGYPTIAN HIEROGLYPH G014
-+<U00013151> /xf0/x93/x85/x91 EGYPTIAN HIEROGLYPH G015
-+<U00013152> /xf0/x93/x85/x92 EGYPTIAN HIEROGLYPH G016
-+<U00013153> /xf0/x93/x85/x93 EGYPTIAN HIEROGLYPH G017
-+<U00013154> /xf0/x93/x85/x94 EGYPTIAN HIEROGLYPH G018
-+<U00013155> /xf0/x93/x85/x95 EGYPTIAN HIEROGLYPH G019
-+<U00013156> /xf0/x93/x85/x96 EGYPTIAN HIEROGLYPH G020
-+<U00013157> /xf0/x93/x85/x97 EGYPTIAN HIEROGLYPH G020A
-+<U00013158> /xf0/x93/x85/x98 EGYPTIAN HIEROGLYPH G021
-+<U00013159> /xf0/x93/x85/x99 EGYPTIAN HIEROGLYPH G022
-+<U0001315A> /xf0/x93/x85/x9a EGYPTIAN HIEROGLYPH G023
-+<U0001315B> /xf0/x93/x85/x9b EGYPTIAN HIEROGLYPH G024
-+<U0001315C> /xf0/x93/x85/x9c EGYPTIAN HIEROGLYPH G025
-+<U0001315D> /xf0/x93/x85/x9d EGYPTIAN HIEROGLYPH G026
-+<U0001315E> /xf0/x93/x85/x9e EGYPTIAN HIEROGLYPH G026A
-+<U0001315F> /xf0/x93/x85/x9f EGYPTIAN HIEROGLYPH G027
-+<U00013160> /xf0/x93/x85/xa0 EGYPTIAN HIEROGLYPH G028
-+<U00013161> /xf0/x93/x85/xa1 EGYPTIAN HIEROGLYPH G029
-+<U00013162> /xf0/x93/x85/xa2 EGYPTIAN HIEROGLYPH G030
-+<U00013163> /xf0/x93/x85/xa3 EGYPTIAN HIEROGLYPH G031
-+<U00013164> /xf0/x93/x85/xa4 EGYPTIAN HIEROGLYPH G032
-+<U00013165> /xf0/x93/x85/xa5 EGYPTIAN HIEROGLYPH G033
-+<U00013166> /xf0/x93/x85/xa6 EGYPTIAN HIEROGLYPH G034
-+<U00013167> /xf0/x93/x85/xa7 EGYPTIAN HIEROGLYPH G035
-+<U00013168> /xf0/x93/x85/xa8 EGYPTIAN HIEROGLYPH G036
-+<U00013169> /xf0/x93/x85/xa9 EGYPTIAN HIEROGLYPH G036A
-+<U0001316A> /xf0/x93/x85/xaa EGYPTIAN HIEROGLYPH G037
-+<U0001316B> /xf0/x93/x85/xab EGYPTIAN HIEROGLYPH G037A
-+<U0001316C> /xf0/x93/x85/xac EGYPTIAN HIEROGLYPH G038
-+<U0001316D> /xf0/x93/x85/xad EGYPTIAN HIEROGLYPH G039
-+<U0001316E> /xf0/x93/x85/xae EGYPTIAN HIEROGLYPH G040
-+<U0001316F> /xf0/x93/x85/xaf EGYPTIAN HIEROGLYPH G041
-+<U00013170> /xf0/x93/x85/xb0 EGYPTIAN HIEROGLYPH G042
-+<U00013171> /xf0/x93/x85/xb1 EGYPTIAN HIEROGLYPH G043
-+<U00013172> /xf0/x93/x85/xb2 EGYPTIAN HIEROGLYPH G043A
-+<U00013173> /xf0/x93/x85/xb3 EGYPTIAN HIEROGLYPH G044
-+<U00013174> /xf0/x93/x85/xb4 EGYPTIAN HIEROGLYPH G045
-+<U00013175> /xf0/x93/x85/xb5 EGYPTIAN HIEROGLYPH G045A
-+<U00013176> /xf0/x93/x85/xb6 EGYPTIAN HIEROGLYPH G046
-+<U00013177> /xf0/x93/x85/xb7 EGYPTIAN HIEROGLYPH G047
-+<U00013178> /xf0/x93/x85/xb8 EGYPTIAN HIEROGLYPH G048
-+<U00013179> /xf0/x93/x85/xb9 EGYPTIAN HIEROGLYPH G049
-+<U0001317A> /xf0/x93/x85/xba EGYPTIAN HIEROGLYPH G050
-+<U0001317B> /xf0/x93/x85/xbb EGYPTIAN HIEROGLYPH G051
-+<U0001317C> /xf0/x93/x85/xbc EGYPTIAN HIEROGLYPH G052
-+<U0001317D> /xf0/x93/x85/xbd EGYPTIAN HIEROGLYPH G053
-+<U0001317E> /xf0/x93/x85/xbe EGYPTIAN HIEROGLYPH G054
-+<U0001317F> /xf0/x93/x85/xbf EGYPTIAN HIEROGLYPH H001
-+<U00013180> /xf0/x93/x86/x80 EGYPTIAN HIEROGLYPH H002
-+<U00013181> /xf0/x93/x86/x81 EGYPTIAN HIEROGLYPH H003
-+<U00013182> /xf0/x93/x86/x82 EGYPTIAN HIEROGLYPH H004
-+<U00013183> /xf0/x93/x86/x83 EGYPTIAN HIEROGLYPH H005
-+<U00013184> /xf0/x93/x86/x84 EGYPTIAN HIEROGLYPH H006
-+<U00013185> /xf0/x93/x86/x85 EGYPTIAN HIEROGLYPH H006A
-+<U00013186> /xf0/x93/x86/x86 EGYPTIAN HIEROGLYPH H007
-+<U00013187> /xf0/x93/x86/x87 EGYPTIAN HIEROGLYPH H008
-+<U00013188> /xf0/x93/x86/x88 EGYPTIAN HIEROGLYPH I001
-+<U00013189> /xf0/x93/x86/x89 EGYPTIAN HIEROGLYPH I002
-+<U0001318A> /xf0/x93/x86/x8a EGYPTIAN HIEROGLYPH I003
-+<U0001318B> /xf0/x93/x86/x8b EGYPTIAN HIEROGLYPH I004
-+<U0001318C> /xf0/x93/x86/x8c EGYPTIAN HIEROGLYPH I005
-+<U0001318D> /xf0/x93/x86/x8d EGYPTIAN HIEROGLYPH I005A
-+<U0001318E> /xf0/x93/x86/x8e EGYPTIAN HIEROGLYPH I006
-+<U0001318F> /xf0/x93/x86/x8f EGYPTIAN HIEROGLYPH I007
-+<U00013190> /xf0/x93/x86/x90 EGYPTIAN HIEROGLYPH I008
-+<U00013191> /xf0/x93/x86/x91 EGYPTIAN HIEROGLYPH I009
-+<U00013192> /xf0/x93/x86/x92 EGYPTIAN HIEROGLYPH I009A
-+<U00013193> /xf0/x93/x86/x93 EGYPTIAN HIEROGLYPH I010
-+<U00013194> /xf0/x93/x86/x94 EGYPTIAN HIEROGLYPH I010A
-+<U00013195> /xf0/x93/x86/x95 EGYPTIAN HIEROGLYPH I011
-+<U00013196> /xf0/x93/x86/x96 EGYPTIAN HIEROGLYPH I011A
-+<U00013197> /xf0/x93/x86/x97 EGYPTIAN HIEROGLYPH I012
-+<U00013198> /xf0/x93/x86/x98 EGYPTIAN HIEROGLYPH I013
-+<U00013199> /xf0/x93/x86/x99 EGYPTIAN HIEROGLYPH I014
-+<U0001319A> /xf0/x93/x86/x9a EGYPTIAN HIEROGLYPH I015
-+<U0001319B> /xf0/x93/x86/x9b EGYPTIAN HIEROGLYPH K001
-+<U0001319C> /xf0/x93/x86/x9c EGYPTIAN HIEROGLYPH K002
-+<U0001319D> /xf0/x93/x86/x9d EGYPTIAN HIEROGLYPH K003
-+<U0001319E> /xf0/x93/x86/x9e EGYPTIAN HIEROGLYPH K004
-+<U0001319F> /xf0/x93/x86/x9f EGYPTIAN HIEROGLYPH K005
-+<U000131A0> /xf0/x93/x86/xa0 EGYPTIAN HIEROGLYPH K006
-+<U000131A1> /xf0/x93/x86/xa1 EGYPTIAN HIEROGLYPH K007
-+<U000131A2> /xf0/x93/x86/xa2 EGYPTIAN HIEROGLYPH K008
-+<U000131A3> /xf0/x93/x86/xa3 EGYPTIAN HIEROGLYPH L001
-+<U000131A4> /xf0/x93/x86/xa4 EGYPTIAN HIEROGLYPH L002
-+<U000131A5> /xf0/x93/x86/xa5 EGYPTIAN HIEROGLYPH L002A
-+<U000131A6> /xf0/x93/x86/xa6 EGYPTIAN HIEROGLYPH L003
-+<U000131A7> /xf0/x93/x86/xa7 EGYPTIAN HIEROGLYPH L004
-+<U000131A8> /xf0/x93/x86/xa8 EGYPTIAN HIEROGLYPH L005
-+<U000131A9> /xf0/x93/x86/xa9 EGYPTIAN HIEROGLYPH L006
-+<U000131AA> /xf0/x93/x86/xaa EGYPTIAN HIEROGLYPH L006A
-+<U000131AB> /xf0/x93/x86/xab EGYPTIAN HIEROGLYPH L007
-+<U000131AC> /xf0/x93/x86/xac EGYPTIAN HIEROGLYPH L008
-+<U000131AD> /xf0/x93/x86/xad EGYPTIAN HIEROGLYPH M001
-+<U000131AE> /xf0/x93/x86/xae EGYPTIAN HIEROGLYPH M001A
-+<U000131AF> /xf0/x93/x86/xaf EGYPTIAN HIEROGLYPH M001B
-+<U000131B0> /xf0/x93/x86/xb0 EGYPTIAN HIEROGLYPH M002
-+<U000131B1> /xf0/x93/x86/xb1 EGYPTIAN HIEROGLYPH M003
-+<U000131B2> /xf0/x93/x86/xb2 EGYPTIAN HIEROGLYPH M003A
-+<U000131B3> /xf0/x93/x86/xb3 EGYPTIAN HIEROGLYPH M004
-+<U000131B4> /xf0/x93/x86/xb4 EGYPTIAN HIEROGLYPH M005
-+<U000131B5> /xf0/x93/x86/xb5 EGYPTIAN HIEROGLYPH M006
-+<U000131B6> /xf0/x93/x86/xb6 EGYPTIAN HIEROGLYPH M007
-+<U000131B7> /xf0/x93/x86/xb7 EGYPTIAN HIEROGLYPH M008
-+<U000131B8> /xf0/x93/x86/xb8 EGYPTIAN HIEROGLYPH M009
-+<U000131B9> /xf0/x93/x86/xb9 EGYPTIAN HIEROGLYPH M010
-+<U000131BA> /xf0/x93/x86/xba EGYPTIAN HIEROGLYPH M010A
-+<U000131BB> /xf0/x93/x86/xbb EGYPTIAN HIEROGLYPH M011
-+<U000131BC> /xf0/x93/x86/xbc EGYPTIAN HIEROGLYPH M012
-+<U000131BD> /xf0/x93/x86/xbd EGYPTIAN HIEROGLYPH M012A
-+<U000131BE> /xf0/x93/x86/xbe EGYPTIAN HIEROGLYPH M012B
-+<U000131BF> /xf0/x93/x86/xbf EGYPTIAN HIEROGLYPH M012C
-+<U000131C0> /xf0/x93/x87/x80 EGYPTIAN HIEROGLYPH M012D
-+<U000131C1> /xf0/x93/x87/x81 EGYPTIAN HIEROGLYPH M012E
-+<U000131C2> /xf0/x93/x87/x82 EGYPTIAN HIEROGLYPH M012F
-+<U000131C3> /xf0/x93/x87/x83 EGYPTIAN HIEROGLYPH M012G
-+<U000131C4> /xf0/x93/x87/x84 EGYPTIAN HIEROGLYPH M012H
-+<U000131C5> /xf0/x93/x87/x85 EGYPTIAN HIEROGLYPH M013
-+<U000131C6> /xf0/x93/x87/x86 EGYPTIAN HIEROGLYPH M014
-+<U000131C7> /xf0/x93/x87/x87 EGYPTIAN HIEROGLYPH M015
-+<U000131C8> /xf0/x93/x87/x88 EGYPTIAN HIEROGLYPH M015A
-+<U000131C9> /xf0/x93/x87/x89 EGYPTIAN HIEROGLYPH M016
-+<U000131CA> /xf0/x93/x87/x8a EGYPTIAN HIEROGLYPH M016A
-+<U000131CB> /xf0/x93/x87/x8b EGYPTIAN HIEROGLYPH M017
-+<U000131CC> /xf0/x93/x87/x8c EGYPTIAN HIEROGLYPH M017A
-+<U000131CD> /xf0/x93/x87/x8d EGYPTIAN HIEROGLYPH M018
-+<U000131CE> /xf0/x93/x87/x8e EGYPTIAN HIEROGLYPH M019
-+<U000131CF> /xf0/x93/x87/x8f EGYPTIAN HIEROGLYPH M020
-+<U000131D0> /xf0/x93/x87/x90 EGYPTIAN HIEROGLYPH M021
-+<U000131D1> /xf0/x93/x87/x91 EGYPTIAN HIEROGLYPH M022
-+<U000131D2> /xf0/x93/x87/x92 EGYPTIAN HIEROGLYPH M022A
-+<U000131D3> /xf0/x93/x87/x93 EGYPTIAN HIEROGLYPH M023
-+<U000131D4> /xf0/x93/x87/x94 EGYPTIAN HIEROGLYPH M024
-+<U000131D5> /xf0/x93/x87/x95 EGYPTIAN HIEROGLYPH M024A
-+<U000131D6> /xf0/x93/x87/x96 EGYPTIAN HIEROGLYPH M025
-+<U000131D7> /xf0/x93/x87/x97 EGYPTIAN HIEROGLYPH M026
-+<U000131D8> /xf0/x93/x87/x98 EGYPTIAN HIEROGLYPH M027
-+<U000131D9> /xf0/x93/x87/x99 EGYPTIAN HIEROGLYPH M028
-+<U000131DA> /xf0/x93/x87/x9a EGYPTIAN HIEROGLYPH M028A
-+<U000131DB> /xf0/x93/x87/x9b EGYPTIAN HIEROGLYPH M029
-+<U000131DC> /xf0/x93/x87/x9c EGYPTIAN HIEROGLYPH M030
-+<U000131DD> /xf0/x93/x87/x9d EGYPTIAN HIEROGLYPH M031
-+<U000131DE> /xf0/x93/x87/x9e EGYPTIAN HIEROGLYPH M031A
-+<U000131DF> /xf0/x93/x87/x9f EGYPTIAN HIEROGLYPH M032
-+<U000131E0> /xf0/x93/x87/xa0 EGYPTIAN HIEROGLYPH M033
-+<U000131E1> /xf0/x93/x87/xa1 EGYPTIAN HIEROGLYPH M033A
-+<U000131E2> /xf0/x93/x87/xa2 EGYPTIAN HIEROGLYPH M033B
-+<U000131E3> /xf0/x93/x87/xa3 EGYPTIAN HIEROGLYPH M034
-+<U000131E4> /xf0/x93/x87/xa4 EGYPTIAN HIEROGLYPH M035
-+<U000131E5> /xf0/x93/x87/xa5 EGYPTIAN HIEROGLYPH M036
-+<U000131E6> /xf0/x93/x87/xa6 EGYPTIAN HIEROGLYPH M037
-+<U000131E7> /xf0/x93/x87/xa7 EGYPTIAN HIEROGLYPH M038
-+<U000131E8> /xf0/x93/x87/xa8 EGYPTIAN HIEROGLYPH M039
-+<U000131E9> /xf0/x93/x87/xa9 EGYPTIAN HIEROGLYPH M040
-+<U000131EA> /xf0/x93/x87/xaa EGYPTIAN HIEROGLYPH M040A
-+<U000131EB> /xf0/x93/x87/xab EGYPTIAN HIEROGLYPH M041
-+<U000131EC> /xf0/x93/x87/xac EGYPTIAN HIEROGLYPH M042
-+<U000131ED> /xf0/x93/x87/xad EGYPTIAN HIEROGLYPH M043
-+<U000131EE> /xf0/x93/x87/xae EGYPTIAN HIEROGLYPH M044
-+<U000131EF> /xf0/x93/x87/xaf EGYPTIAN HIEROGLYPH N001
-+<U000131F0> /xf0/x93/x87/xb0 EGYPTIAN HIEROGLYPH N002
-+<U000131F1> /xf0/x93/x87/xb1 EGYPTIAN HIEROGLYPH N003
-+<U000131F2> /xf0/x93/x87/xb2 EGYPTIAN HIEROGLYPH N004
-+<U000131F3> /xf0/x93/x87/xb3 EGYPTIAN HIEROGLYPH N005
-+<U000131F4> /xf0/x93/x87/xb4 EGYPTIAN HIEROGLYPH N006
-+<U000131F5> /xf0/x93/x87/xb5 EGYPTIAN HIEROGLYPH N007
-+<U000131F6> /xf0/x93/x87/xb6 EGYPTIAN HIEROGLYPH N008
-+<U000131F7> /xf0/x93/x87/xb7 EGYPTIAN HIEROGLYPH N009
-+<U000131F8> /xf0/x93/x87/xb8 EGYPTIAN HIEROGLYPH N010
-+<U000131F9> /xf0/x93/x87/xb9 EGYPTIAN HIEROGLYPH N011
-+<U000131FA> /xf0/x93/x87/xba EGYPTIAN HIEROGLYPH N012
-+<U000131FB> /xf0/x93/x87/xbb EGYPTIAN HIEROGLYPH N013
-+<U000131FC> /xf0/x93/x87/xbc EGYPTIAN HIEROGLYPH N014
-+<U000131FD> /xf0/x93/x87/xbd EGYPTIAN HIEROGLYPH N015
-+<U000131FE> /xf0/x93/x87/xbe EGYPTIAN HIEROGLYPH N016
-+<U000131FF> /xf0/x93/x87/xbf EGYPTIAN HIEROGLYPH N017
-+<U00013200> /xf0/x93/x88/x80 EGYPTIAN HIEROGLYPH N018
-+<U00013201> /xf0/x93/x88/x81 EGYPTIAN HIEROGLYPH N018A
-+<U00013202> /xf0/x93/x88/x82 EGYPTIAN HIEROGLYPH N018B
-+<U00013203> /xf0/x93/x88/x83 EGYPTIAN HIEROGLYPH N019
-+<U00013204> /xf0/x93/x88/x84 EGYPTIAN HIEROGLYPH N020
-+<U00013205> /xf0/x93/x88/x85 EGYPTIAN HIEROGLYPH N021
-+<U00013206> /xf0/x93/x88/x86 EGYPTIAN HIEROGLYPH N022
-+<U00013207> /xf0/x93/x88/x87 EGYPTIAN HIEROGLYPH N023
-+<U00013208> /xf0/x93/x88/x88 EGYPTIAN HIEROGLYPH N024
-+<U00013209> /xf0/x93/x88/x89 EGYPTIAN HIEROGLYPH N025
-+<U0001320A> /xf0/x93/x88/x8a EGYPTIAN HIEROGLYPH N025A
-+<U0001320B> /xf0/x93/x88/x8b EGYPTIAN HIEROGLYPH N026
-+<U0001320C> /xf0/x93/x88/x8c EGYPTIAN HIEROGLYPH N027
-+<U0001320D> /xf0/x93/x88/x8d EGYPTIAN HIEROGLYPH N028
-+<U0001320E> /xf0/x93/x88/x8e EGYPTIAN HIEROGLYPH N029
-+<U0001320F> /xf0/x93/x88/x8f EGYPTIAN HIEROGLYPH N030
-+<U00013210> /xf0/x93/x88/x90 EGYPTIAN HIEROGLYPH N031
-+<U00013211> /xf0/x93/x88/x91 EGYPTIAN HIEROGLYPH N032
-+<U00013212> /xf0/x93/x88/x92 EGYPTIAN HIEROGLYPH N033
-+<U00013213> /xf0/x93/x88/x93 EGYPTIAN HIEROGLYPH N033A
-+<U00013214> /xf0/x93/x88/x94 EGYPTIAN HIEROGLYPH N034
-+<U00013215> /xf0/x93/x88/x95 EGYPTIAN HIEROGLYPH N034A
-+<U00013216> /xf0/x93/x88/x96 EGYPTIAN HIEROGLYPH N035
-+<U00013217> /xf0/x93/x88/x97 EGYPTIAN HIEROGLYPH N035A
-+<U00013218> /xf0/x93/x88/x98 EGYPTIAN HIEROGLYPH N036
-+<U00013219> /xf0/x93/x88/x99 EGYPTIAN HIEROGLYPH N037
-+<U0001321A> /xf0/x93/x88/x9a EGYPTIAN HIEROGLYPH N037A
-+<U0001321B> /xf0/x93/x88/x9b EGYPTIAN HIEROGLYPH N038
-+<U0001321C> /xf0/x93/x88/x9c EGYPTIAN HIEROGLYPH N039
-+<U0001321D> /xf0/x93/x88/x9d EGYPTIAN HIEROGLYPH N040
-+<U0001321E> /xf0/x93/x88/x9e EGYPTIAN HIEROGLYPH N041
-+<U0001321F> /xf0/x93/x88/x9f EGYPTIAN HIEROGLYPH N042
-+<U00013220> /xf0/x93/x88/xa0 EGYPTIAN HIEROGLYPH NL001
-+<U00013221> /xf0/x93/x88/xa1 EGYPTIAN HIEROGLYPH NL002
-+<U00013222> /xf0/x93/x88/xa2 EGYPTIAN HIEROGLYPH NL003
-+<U00013223> /xf0/x93/x88/xa3 EGYPTIAN HIEROGLYPH NL004
-+<U00013224> /xf0/x93/x88/xa4 EGYPTIAN HIEROGLYPH NL005
-+<U00013225> /xf0/x93/x88/xa5 EGYPTIAN HIEROGLYPH NL005A
-+<U00013226> /xf0/x93/x88/xa6 EGYPTIAN HIEROGLYPH NL006
-+<U00013227> /xf0/x93/x88/xa7 EGYPTIAN HIEROGLYPH NL007
-+<U00013228> /xf0/x93/x88/xa8 EGYPTIAN HIEROGLYPH NL008
-+<U00013229> /xf0/x93/x88/xa9 EGYPTIAN HIEROGLYPH NL009
-+<U0001322A> /xf0/x93/x88/xaa EGYPTIAN HIEROGLYPH NL010
-+<U0001322B> /xf0/x93/x88/xab EGYPTIAN HIEROGLYPH NL011
-+<U0001322C> /xf0/x93/x88/xac EGYPTIAN HIEROGLYPH NL012
-+<U0001322D> /xf0/x93/x88/xad EGYPTIAN HIEROGLYPH NL013
-+<U0001322E> /xf0/x93/x88/xae EGYPTIAN HIEROGLYPH NL014
-+<U0001322F> /xf0/x93/x88/xaf EGYPTIAN HIEROGLYPH NL015
-+<U00013230> /xf0/x93/x88/xb0 EGYPTIAN HIEROGLYPH NL016
-+<U00013231> /xf0/x93/x88/xb1 EGYPTIAN HIEROGLYPH NL017
-+<U00013232> /xf0/x93/x88/xb2 EGYPTIAN HIEROGLYPH NL017A
-+<U00013233> /xf0/x93/x88/xb3 EGYPTIAN HIEROGLYPH NL018
-+<U00013234> /xf0/x93/x88/xb4 EGYPTIAN HIEROGLYPH NL019
-+<U00013235> /xf0/x93/x88/xb5 EGYPTIAN HIEROGLYPH NL020
-+<U00013236> /xf0/x93/x88/xb6 EGYPTIAN HIEROGLYPH NU001
-+<U00013237> /xf0/x93/x88/xb7 EGYPTIAN HIEROGLYPH NU002
-+<U00013238> /xf0/x93/x88/xb8 EGYPTIAN HIEROGLYPH NU003
-+<U00013239> /xf0/x93/x88/xb9 EGYPTIAN HIEROGLYPH NU004
-+<U0001323A> /xf0/x93/x88/xba EGYPTIAN HIEROGLYPH NU005
-+<U0001323B> /xf0/x93/x88/xbb EGYPTIAN HIEROGLYPH NU006
-+<U0001323C> /xf0/x93/x88/xbc EGYPTIAN HIEROGLYPH NU007
-+<U0001323D> /xf0/x93/x88/xbd EGYPTIAN HIEROGLYPH NU008
-+<U0001323E> /xf0/x93/x88/xbe EGYPTIAN HIEROGLYPH NU009
-+<U0001323F> /xf0/x93/x88/xbf EGYPTIAN HIEROGLYPH NU010
-+<U00013240> /xf0/x93/x89/x80 EGYPTIAN HIEROGLYPH NU010A
-+<U00013241> /xf0/x93/x89/x81 EGYPTIAN HIEROGLYPH NU011
-+<U00013242> /xf0/x93/x89/x82 EGYPTIAN HIEROGLYPH NU011A
-+<U00013243> /xf0/x93/x89/x83 EGYPTIAN HIEROGLYPH NU012
-+<U00013244> /xf0/x93/x89/x84 EGYPTIAN HIEROGLYPH NU013
-+<U00013245> /xf0/x93/x89/x85 EGYPTIAN HIEROGLYPH NU014
-+<U00013246> /xf0/x93/x89/x86 EGYPTIAN HIEROGLYPH NU015
-+<U00013247> /xf0/x93/x89/x87 EGYPTIAN HIEROGLYPH NU016
-+<U00013248> /xf0/x93/x89/x88 EGYPTIAN HIEROGLYPH NU017
-+<U00013249> /xf0/x93/x89/x89 EGYPTIAN HIEROGLYPH NU018
-+<U0001324A> /xf0/x93/x89/x8a EGYPTIAN HIEROGLYPH NU018A
-+<U0001324B> /xf0/x93/x89/x8b EGYPTIAN HIEROGLYPH NU019
-+<U0001324C> /xf0/x93/x89/x8c EGYPTIAN HIEROGLYPH NU020
-+<U0001324D> /xf0/x93/x89/x8d EGYPTIAN HIEROGLYPH NU021
-+<U0001324E> /xf0/x93/x89/x8e EGYPTIAN HIEROGLYPH NU022
-+<U0001324F> /xf0/x93/x89/x8f EGYPTIAN HIEROGLYPH NU022A
-+<U00013250> /xf0/x93/x89/x90 EGYPTIAN HIEROGLYPH O001
-+<U00013251> /xf0/x93/x89/x91 EGYPTIAN HIEROGLYPH O001A
-+<U00013252> /xf0/x93/x89/x92 EGYPTIAN HIEROGLYPH O002
-+<U00013253> /xf0/x93/x89/x93 EGYPTIAN HIEROGLYPH O003
-+<U00013254> /xf0/x93/x89/x94 EGYPTIAN HIEROGLYPH O004
-+<U00013255> /xf0/x93/x89/x95 EGYPTIAN HIEROGLYPH O005
-+<U00013256> /xf0/x93/x89/x96 EGYPTIAN HIEROGLYPH O005A
-+<U00013257> /xf0/x93/x89/x97 EGYPTIAN HIEROGLYPH O006
-+<U00013258> /xf0/x93/x89/x98 EGYPTIAN HIEROGLYPH O006A
-+<U00013259> /xf0/x93/x89/x99 EGYPTIAN HIEROGLYPH O006B
-+<U0001325A> /xf0/x93/x89/x9a EGYPTIAN HIEROGLYPH O006C
-+<U0001325B> /xf0/x93/x89/x9b EGYPTIAN HIEROGLYPH O006D
-+<U0001325C> /xf0/x93/x89/x9c EGYPTIAN HIEROGLYPH O006E
-+<U0001325D> /xf0/x93/x89/x9d EGYPTIAN HIEROGLYPH O006F
-+<U0001325E> /xf0/x93/x89/x9e EGYPTIAN HIEROGLYPH O007
-+<U0001325F> /xf0/x93/x89/x9f EGYPTIAN HIEROGLYPH O008
-+<U00013260> /xf0/x93/x89/xa0 EGYPTIAN HIEROGLYPH O009
-+<U00013261> /xf0/x93/x89/xa1 EGYPTIAN HIEROGLYPH O010
-+<U00013262> /xf0/x93/x89/xa2 EGYPTIAN HIEROGLYPH O010A
-+<U00013263> /xf0/x93/x89/xa3 EGYPTIAN HIEROGLYPH O010B
-+<U00013264> /xf0/x93/x89/xa4 EGYPTIAN HIEROGLYPH O010C
-+<U00013265> /xf0/x93/x89/xa5 EGYPTIAN HIEROGLYPH O011
-+<U00013266> /xf0/x93/x89/xa6 EGYPTIAN HIEROGLYPH O012
-+<U00013267> /xf0/x93/x89/xa7 EGYPTIAN HIEROGLYPH O013
-+<U00013268> /xf0/x93/x89/xa8 EGYPTIAN HIEROGLYPH O014
-+<U00013269> /xf0/x93/x89/xa9 EGYPTIAN HIEROGLYPH O015
-+<U0001326A> /xf0/x93/x89/xaa EGYPTIAN HIEROGLYPH O016
-+<U0001326B> /xf0/x93/x89/xab EGYPTIAN HIEROGLYPH O017
-+<U0001326C> /xf0/x93/x89/xac EGYPTIAN HIEROGLYPH O018
-+<U0001326D> /xf0/x93/x89/xad EGYPTIAN HIEROGLYPH O019
-+<U0001326E> /xf0/x93/x89/xae EGYPTIAN HIEROGLYPH O019A
-+<U0001326F> /xf0/x93/x89/xaf EGYPTIAN HIEROGLYPH O020
-+<U00013270> /xf0/x93/x89/xb0 EGYPTIAN HIEROGLYPH O020A
-+<U00013271> /xf0/x93/x89/xb1 EGYPTIAN HIEROGLYPH O021
-+<U00013272> /xf0/x93/x89/xb2 EGYPTIAN HIEROGLYPH O022
-+<U00013273> /xf0/x93/x89/xb3 EGYPTIAN HIEROGLYPH O023
-+<U00013274> /xf0/x93/x89/xb4 EGYPTIAN HIEROGLYPH O024
-+<U00013275> /xf0/x93/x89/xb5 EGYPTIAN HIEROGLYPH O024A
-+<U00013276> /xf0/x93/x89/xb6 EGYPTIAN HIEROGLYPH O025
-+<U00013277> /xf0/x93/x89/xb7 EGYPTIAN HIEROGLYPH O025A
-+<U00013278> /xf0/x93/x89/xb8 EGYPTIAN HIEROGLYPH O026
-+<U00013279> /xf0/x93/x89/xb9 EGYPTIAN HIEROGLYPH O027
-+<U0001327A> /xf0/x93/x89/xba EGYPTIAN HIEROGLYPH O028
-+<U0001327B> /xf0/x93/x89/xbb EGYPTIAN HIEROGLYPH O029
-+<U0001327C> /xf0/x93/x89/xbc EGYPTIAN HIEROGLYPH O029A
-+<U0001327D> /xf0/x93/x89/xbd EGYPTIAN HIEROGLYPH O030
-+<U0001327E> /xf0/x93/x89/xbe EGYPTIAN HIEROGLYPH O030A
-+<U0001327F> /xf0/x93/x89/xbf EGYPTIAN HIEROGLYPH O031
-+<U00013280> /xf0/x93/x8a/x80 EGYPTIAN HIEROGLYPH O032
-+<U00013281> /xf0/x93/x8a/x81 EGYPTIAN HIEROGLYPH O033
-+<U00013282> /xf0/x93/x8a/x82 EGYPTIAN HIEROGLYPH O033A
-+<U00013283> /xf0/x93/x8a/x83 EGYPTIAN HIEROGLYPH O034
-+<U00013284> /xf0/x93/x8a/x84 EGYPTIAN HIEROGLYPH O035
-+<U00013285> /xf0/x93/x8a/x85 EGYPTIAN HIEROGLYPH O036
-+<U00013286> /xf0/x93/x8a/x86 EGYPTIAN HIEROGLYPH O036A
-+<U00013287> /xf0/x93/x8a/x87 EGYPTIAN HIEROGLYPH O036B
-+<U00013288> /xf0/x93/x8a/x88 EGYPTIAN HIEROGLYPH O036C
-+<U00013289> /xf0/x93/x8a/x89 EGYPTIAN HIEROGLYPH O036D
-+<U0001328A> /xf0/x93/x8a/x8a EGYPTIAN HIEROGLYPH O037
-+<U0001328B> /xf0/x93/x8a/x8b EGYPTIAN HIEROGLYPH O038
-+<U0001328C> /xf0/x93/x8a/x8c EGYPTIAN HIEROGLYPH O039
-+<U0001328D> /xf0/x93/x8a/x8d EGYPTIAN HIEROGLYPH O040
-+<U0001328E> /xf0/x93/x8a/x8e EGYPTIAN HIEROGLYPH O041
-+<U0001328F> /xf0/x93/x8a/x8f EGYPTIAN HIEROGLYPH O042
-+<U00013290> /xf0/x93/x8a/x90 EGYPTIAN HIEROGLYPH O043
-+<U00013291> /xf0/x93/x8a/x91 EGYPTIAN HIEROGLYPH O044
-+<U00013292> /xf0/x93/x8a/x92 EGYPTIAN HIEROGLYPH O045
-+<U00013293> /xf0/x93/x8a/x93 EGYPTIAN HIEROGLYPH O046
-+<U00013294> /xf0/x93/x8a/x94 EGYPTIAN HIEROGLYPH O047
-+<U00013295> /xf0/x93/x8a/x95 EGYPTIAN HIEROGLYPH O048
-+<U00013296> /xf0/x93/x8a/x96 EGYPTIAN HIEROGLYPH O049
-+<U00013297> /xf0/x93/x8a/x97 EGYPTIAN HIEROGLYPH O050
-+<U00013298> /xf0/x93/x8a/x98 EGYPTIAN HIEROGLYPH O050A
-+<U00013299> /xf0/x93/x8a/x99 EGYPTIAN HIEROGLYPH O050B
-+<U0001329A> /xf0/x93/x8a/x9a EGYPTIAN HIEROGLYPH O051
-+<U0001329B> /xf0/x93/x8a/x9b EGYPTIAN HIEROGLYPH P001
-+<U0001329C> /xf0/x93/x8a/x9c EGYPTIAN HIEROGLYPH P001A
-+<U0001329D> /xf0/x93/x8a/x9d EGYPTIAN HIEROGLYPH P002
-+<U0001329E> /xf0/x93/x8a/x9e EGYPTIAN HIEROGLYPH P003
-+<U0001329F> /xf0/x93/x8a/x9f EGYPTIAN HIEROGLYPH P003A
-+<U000132A0> /xf0/x93/x8a/xa0 EGYPTIAN HIEROGLYPH P004
-+<U000132A1> /xf0/x93/x8a/xa1 EGYPTIAN HIEROGLYPH P005
-+<U000132A2> /xf0/x93/x8a/xa2 EGYPTIAN HIEROGLYPH P006
-+<U000132A3> /xf0/x93/x8a/xa3 EGYPTIAN HIEROGLYPH P007
-+<U000132A4> /xf0/x93/x8a/xa4 EGYPTIAN HIEROGLYPH P008
-+<U000132A5> /xf0/x93/x8a/xa5 EGYPTIAN HIEROGLYPH P009
-+<U000132A6> /xf0/x93/x8a/xa6 EGYPTIAN HIEROGLYPH P010
-+<U000132A7> /xf0/x93/x8a/xa7 EGYPTIAN HIEROGLYPH P011
-+<U000132A8> /xf0/x93/x8a/xa8 EGYPTIAN HIEROGLYPH Q001
-+<U000132A9> /xf0/x93/x8a/xa9 EGYPTIAN HIEROGLYPH Q002
-+<U000132AA> /xf0/x93/x8a/xaa EGYPTIAN HIEROGLYPH Q003
-+<U000132AB> /xf0/x93/x8a/xab EGYPTIAN HIEROGLYPH Q004
-+<U000132AC> /xf0/x93/x8a/xac EGYPTIAN HIEROGLYPH Q005
-+<U000132AD> /xf0/x93/x8a/xad EGYPTIAN HIEROGLYPH Q006
-+<U000132AE> /xf0/x93/x8a/xae EGYPTIAN HIEROGLYPH Q007
-+<U000132AF> /xf0/x93/x8a/xaf EGYPTIAN HIEROGLYPH R001
-+<U000132B0> /xf0/x93/x8a/xb0 EGYPTIAN HIEROGLYPH R002
-+<U000132B1> /xf0/x93/x8a/xb1 EGYPTIAN HIEROGLYPH R002A
-+<U000132B2> /xf0/x93/x8a/xb2 EGYPTIAN HIEROGLYPH R003
-+<U000132B3> /xf0/x93/x8a/xb3 EGYPTIAN HIEROGLYPH R003A
-+<U000132B4> /xf0/x93/x8a/xb4 EGYPTIAN HIEROGLYPH R003B
-+<U000132B5> /xf0/x93/x8a/xb5 EGYPTIAN HIEROGLYPH R004
-+<U000132B6> /xf0/x93/x8a/xb6 EGYPTIAN HIEROGLYPH R005
-+<U000132B7> /xf0/x93/x8a/xb7 EGYPTIAN HIEROGLYPH R006
-+<U000132B8> /xf0/x93/x8a/xb8 EGYPTIAN HIEROGLYPH R007
-+<U000132B9> /xf0/x93/x8a/xb9 EGYPTIAN HIEROGLYPH R008
-+<U000132BA> /xf0/x93/x8a/xba EGYPTIAN HIEROGLYPH R009
-+<U000132BB> /xf0/x93/x8a/xbb EGYPTIAN HIEROGLYPH R010
-+<U000132BC> /xf0/x93/x8a/xbc EGYPTIAN HIEROGLYPH R010A
-+<U000132BD> /xf0/x93/x8a/xbd EGYPTIAN HIEROGLYPH R011
-+<U000132BE> /xf0/x93/x8a/xbe EGYPTIAN HIEROGLYPH R012
-+<U000132BF> /xf0/x93/x8a/xbf EGYPTIAN HIEROGLYPH R013
-+<U000132C0> /xf0/x93/x8b/x80 EGYPTIAN HIEROGLYPH R014
-+<U000132C1> /xf0/x93/x8b/x81 EGYPTIAN HIEROGLYPH R015
-+<U000132C2> /xf0/x93/x8b/x82 EGYPTIAN HIEROGLYPH R016
-+<U000132C3> /xf0/x93/x8b/x83 EGYPTIAN HIEROGLYPH R016A
-+<U000132C4> /xf0/x93/x8b/x84 EGYPTIAN HIEROGLYPH R017
-+<U000132C5> /xf0/x93/x8b/x85 EGYPTIAN HIEROGLYPH R018
-+<U000132C6> /xf0/x93/x8b/x86 EGYPTIAN HIEROGLYPH R019
-+<U000132C7> /xf0/x93/x8b/x87 EGYPTIAN HIEROGLYPH R020
-+<U000132C8> /xf0/x93/x8b/x88 EGYPTIAN HIEROGLYPH R021
-+<U000132C9> /xf0/x93/x8b/x89 EGYPTIAN HIEROGLYPH R022
-+<U000132CA> /xf0/x93/x8b/x8a EGYPTIAN HIEROGLYPH R023
-+<U000132CB> /xf0/x93/x8b/x8b EGYPTIAN HIEROGLYPH R024
-+<U000132CC> /xf0/x93/x8b/x8c EGYPTIAN HIEROGLYPH R025
-+<U000132CD> /xf0/x93/x8b/x8d EGYPTIAN HIEROGLYPH R026
-+<U000132CE> /xf0/x93/x8b/x8e EGYPTIAN HIEROGLYPH R027
-+<U000132CF> /xf0/x93/x8b/x8f EGYPTIAN HIEROGLYPH R028
-+<U000132D0> /xf0/x93/x8b/x90 EGYPTIAN HIEROGLYPH R029
-+<U000132D1> /xf0/x93/x8b/x91 EGYPTIAN HIEROGLYPH S001
-+<U000132D2> /xf0/x93/x8b/x92 EGYPTIAN HIEROGLYPH S002
-+<U000132D3> /xf0/x93/x8b/x93 EGYPTIAN HIEROGLYPH S002A
-+<U000132D4> /xf0/x93/x8b/x94 EGYPTIAN HIEROGLYPH S003
-+<U000132D5> /xf0/x93/x8b/x95 EGYPTIAN HIEROGLYPH S004
-+<U000132D6> /xf0/x93/x8b/x96 EGYPTIAN HIEROGLYPH S005
-+<U000132D7> /xf0/x93/x8b/x97 EGYPTIAN HIEROGLYPH S006
-+<U000132D8> /xf0/x93/x8b/x98 EGYPTIAN HIEROGLYPH S006A
-+<U000132D9> /xf0/x93/x8b/x99 EGYPTIAN HIEROGLYPH S007
-+<U000132DA> /xf0/x93/x8b/x9a EGYPTIAN HIEROGLYPH S008
-+<U000132DB> /xf0/x93/x8b/x9b EGYPTIAN HIEROGLYPH S009
-+<U000132DC> /xf0/x93/x8b/x9c EGYPTIAN HIEROGLYPH S010
-+<U000132DD> /xf0/x93/x8b/x9d EGYPTIAN HIEROGLYPH S011
-+<U000132DE> /xf0/x93/x8b/x9e EGYPTIAN HIEROGLYPH S012
-+<U000132DF> /xf0/x93/x8b/x9f EGYPTIAN HIEROGLYPH S013
-+<U000132E0> /xf0/x93/x8b/xa0 EGYPTIAN HIEROGLYPH S014
-+<U000132E1> /xf0/x93/x8b/xa1 EGYPTIAN HIEROGLYPH S014A
-+<U000132E2> /xf0/x93/x8b/xa2 EGYPTIAN HIEROGLYPH S014B
-+<U000132E3> /xf0/x93/x8b/xa3 EGYPTIAN HIEROGLYPH S015
-+<U000132E4> /xf0/x93/x8b/xa4 EGYPTIAN HIEROGLYPH S016
-+<U000132E5> /xf0/x93/x8b/xa5 EGYPTIAN HIEROGLYPH S017
-+<U000132E6> /xf0/x93/x8b/xa6 EGYPTIAN HIEROGLYPH S017A
-+<U000132E7> /xf0/x93/x8b/xa7 EGYPTIAN HIEROGLYPH S018
-+<U000132E8> /xf0/x93/x8b/xa8 EGYPTIAN HIEROGLYPH S019
-+<U000132E9> /xf0/x93/x8b/xa9 EGYPTIAN HIEROGLYPH S020
-+<U000132EA> /xf0/x93/x8b/xaa EGYPTIAN HIEROGLYPH S021
-+<U000132EB> /xf0/x93/x8b/xab EGYPTIAN HIEROGLYPH S022
-+<U000132EC> /xf0/x93/x8b/xac EGYPTIAN HIEROGLYPH S023
-+<U000132ED> /xf0/x93/x8b/xad EGYPTIAN HIEROGLYPH S024
-+<U000132EE> /xf0/x93/x8b/xae EGYPTIAN HIEROGLYPH S025
-+<U000132EF> /xf0/x93/x8b/xaf EGYPTIAN HIEROGLYPH S026
-+<U000132F0> /xf0/x93/x8b/xb0 EGYPTIAN HIEROGLYPH S026A
-+<U000132F1> /xf0/x93/x8b/xb1 EGYPTIAN HIEROGLYPH S026B
-+<U000132F2> /xf0/x93/x8b/xb2 EGYPTIAN HIEROGLYPH S027
-+<U000132F3> /xf0/x93/x8b/xb3 EGYPTIAN HIEROGLYPH S028
-+<U000132F4> /xf0/x93/x8b/xb4 EGYPTIAN HIEROGLYPH S029
-+<U000132F5> /xf0/x93/x8b/xb5 EGYPTIAN HIEROGLYPH S030
-+<U000132F6> /xf0/x93/x8b/xb6 EGYPTIAN HIEROGLYPH S031
-+<U000132F7> /xf0/x93/x8b/xb7 EGYPTIAN HIEROGLYPH S032
-+<U000132F8> /xf0/x93/x8b/xb8 EGYPTIAN HIEROGLYPH S033
-+<U000132F9> /xf0/x93/x8b/xb9 EGYPTIAN HIEROGLYPH S034
-+<U000132FA> /xf0/x93/x8b/xba EGYPTIAN HIEROGLYPH S035
-+<U000132FB> /xf0/x93/x8b/xbb EGYPTIAN HIEROGLYPH S035A
-+<U000132FC> /xf0/x93/x8b/xbc EGYPTIAN HIEROGLYPH S036
-+<U000132FD> /xf0/x93/x8b/xbd EGYPTIAN HIEROGLYPH S037
-+<U000132FE> /xf0/x93/x8b/xbe EGYPTIAN HIEROGLYPH S038
-+<U000132FF> /xf0/x93/x8b/xbf EGYPTIAN HIEROGLYPH S039
-+<U00013300> /xf0/x93/x8c/x80 EGYPTIAN HIEROGLYPH S040
-+<U00013301> /xf0/x93/x8c/x81 EGYPTIAN HIEROGLYPH S041
-+<U00013302> /xf0/x93/x8c/x82 EGYPTIAN HIEROGLYPH S042
-+<U00013303> /xf0/x93/x8c/x83 EGYPTIAN HIEROGLYPH S043
-+<U00013304> /xf0/x93/x8c/x84 EGYPTIAN HIEROGLYPH S044
-+<U00013305> /xf0/x93/x8c/x85 EGYPTIAN HIEROGLYPH S045
-+<U00013306> /xf0/x93/x8c/x86 EGYPTIAN HIEROGLYPH S046
-+<U00013307> /xf0/x93/x8c/x87 EGYPTIAN HIEROGLYPH T001
-+<U00013308> /xf0/x93/x8c/x88 EGYPTIAN HIEROGLYPH T002
-+<U00013309> /xf0/x93/x8c/x89 EGYPTIAN HIEROGLYPH T003
-+<U0001330A> /xf0/x93/x8c/x8a EGYPTIAN HIEROGLYPH T003A
-+<U0001330B> /xf0/x93/x8c/x8b EGYPTIAN HIEROGLYPH T004
-+<U0001330C> /xf0/x93/x8c/x8c EGYPTIAN HIEROGLYPH T005
-+<U0001330D> /xf0/x93/x8c/x8d EGYPTIAN HIEROGLYPH T006
-+<U0001330E> /xf0/x93/x8c/x8e EGYPTIAN HIEROGLYPH T007
-+<U0001330F> /xf0/x93/x8c/x8f EGYPTIAN HIEROGLYPH T007A
-+<U00013310> /xf0/x93/x8c/x90 EGYPTIAN HIEROGLYPH T008
-+<U00013311> /xf0/x93/x8c/x91 EGYPTIAN HIEROGLYPH T008A
-+<U00013312> /xf0/x93/x8c/x92 EGYPTIAN HIEROGLYPH T009
-+<U00013313> /xf0/x93/x8c/x93 EGYPTIAN HIEROGLYPH T009A
-+<U00013314> /xf0/x93/x8c/x94 EGYPTIAN HIEROGLYPH T010
-+<U00013315> /xf0/x93/x8c/x95 EGYPTIAN HIEROGLYPH T011
-+<U00013316> /xf0/x93/x8c/x96 EGYPTIAN HIEROGLYPH T011A
-+<U00013317> /xf0/x93/x8c/x97 EGYPTIAN HIEROGLYPH T012
-+<U00013318> /xf0/x93/x8c/x98 EGYPTIAN HIEROGLYPH T013
-+<U00013319> /xf0/x93/x8c/x99 EGYPTIAN HIEROGLYPH T014
-+<U0001331A> /xf0/x93/x8c/x9a EGYPTIAN HIEROGLYPH T015
-+<U0001331B> /xf0/x93/x8c/x9b EGYPTIAN HIEROGLYPH T016
-+<U0001331C> /xf0/x93/x8c/x9c EGYPTIAN HIEROGLYPH T016A
-+<U0001331D> /xf0/x93/x8c/x9d EGYPTIAN HIEROGLYPH T017
-+<U0001331E> /xf0/x93/x8c/x9e EGYPTIAN HIEROGLYPH T018
-+<U0001331F> /xf0/x93/x8c/x9f EGYPTIAN HIEROGLYPH T019
-+<U00013320> /xf0/x93/x8c/xa0 EGYPTIAN HIEROGLYPH T020
-+<U00013321> /xf0/x93/x8c/xa1 EGYPTIAN HIEROGLYPH T021
-+<U00013322> /xf0/x93/x8c/xa2 EGYPTIAN HIEROGLYPH T022
-+<U00013323> /xf0/x93/x8c/xa3 EGYPTIAN HIEROGLYPH T023
-+<U00013324> /xf0/x93/x8c/xa4 EGYPTIAN HIEROGLYPH T024
-+<U00013325> /xf0/x93/x8c/xa5 EGYPTIAN HIEROGLYPH T025
-+<U00013326> /xf0/x93/x8c/xa6 EGYPTIAN HIEROGLYPH T026
-+<U00013327> /xf0/x93/x8c/xa7 EGYPTIAN HIEROGLYPH T027
-+<U00013328> /xf0/x93/x8c/xa8 EGYPTIAN HIEROGLYPH T028
-+<U00013329> /xf0/x93/x8c/xa9 EGYPTIAN HIEROGLYPH T029
-+<U0001332A> /xf0/x93/x8c/xaa EGYPTIAN HIEROGLYPH T030
-+<U0001332B> /xf0/x93/x8c/xab EGYPTIAN HIEROGLYPH T031
-+<U0001332C> /xf0/x93/x8c/xac EGYPTIAN HIEROGLYPH T032
-+<U0001332D> /xf0/x93/x8c/xad EGYPTIAN HIEROGLYPH T032A
-+<U0001332E> /xf0/x93/x8c/xae EGYPTIAN HIEROGLYPH T033
-+<U0001332F> /xf0/x93/x8c/xaf EGYPTIAN HIEROGLYPH T033A
-+<U00013330> /xf0/x93/x8c/xb0 EGYPTIAN HIEROGLYPH T034
-+<U00013331> /xf0/x93/x8c/xb1 EGYPTIAN HIEROGLYPH T035
-+<U00013332> /xf0/x93/x8c/xb2 EGYPTIAN HIEROGLYPH T036
-+<U00013333> /xf0/x93/x8c/xb3 EGYPTIAN HIEROGLYPH U001
-+<U00013334> /xf0/x93/x8c/xb4 EGYPTIAN HIEROGLYPH U002
-+<U00013335> /xf0/x93/x8c/xb5 EGYPTIAN HIEROGLYPH U003
-+<U00013336> /xf0/x93/x8c/xb6 EGYPTIAN HIEROGLYPH U004
-+<U00013337> /xf0/x93/x8c/xb7 EGYPTIAN HIEROGLYPH U005
-+<U00013338> /xf0/x93/x8c/xb8 EGYPTIAN HIEROGLYPH U006
-+<U00013339> /xf0/x93/x8c/xb9 EGYPTIAN HIEROGLYPH U006A
-+<U0001333A> /xf0/x93/x8c/xba EGYPTIAN HIEROGLYPH U006B
-+<U0001333B> /xf0/x93/x8c/xbb EGYPTIAN HIEROGLYPH U007
-+<U0001333C> /xf0/x93/x8c/xbc EGYPTIAN HIEROGLYPH U008
-+<U0001333D> /xf0/x93/x8c/xbd EGYPTIAN HIEROGLYPH U009
-+<U0001333E> /xf0/x93/x8c/xbe EGYPTIAN HIEROGLYPH U010
-+<U0001333F> /xf0/x93/x8c/xbf EGYPTIAN HIEROGLYPH U011
-+<U00013340> /xf0/x93/x8d/x80 EGYPTIAN HIEROGLYPH U012
-+<U00013341> /xf0/x93/x8d/x81 EGYPTIAN HIEROGLYPH U013
-+<U00013342> /xf0/x93/x8d/x82 EGYPTIAN HIEROGLYPH U014
-+<U00013343> /xf0/x93/x8d/x83 EGYPTIAN HIEROGLYPH U015
-+<U00013344> /xf0/x93/x8d/x84 EGYPTIAN HIEROGLYPH U016
-+<U00013345> /xf0/x93/x8d/x85 EGYPTIAN HIEROGLYPH U017
-+<U00013346> /xf0/x93/x8d/x86 EGYPTIAN HIEROGLYPH U018
-+<U00013347> /xf0/x93/x8d/x87 EGYPTIAN HIEROGLYPH U019
-+<U00013348> /xf0/x93/x8d/x88 EGYPTIAN HIEROGLYPH U020
-+<U00013349> /xf0/x93/x8d/x89 EGYPTIAN HIEROGLYPH U021
-+<U0001334A> /xf0/x93/x8d/x8a EGYPTIAN HIEROGLYPH U022
-+<U0001334B> /xf0/x93/x8d/x8b EGYPTIAN HIEROGLYPH U023
-+<U0001334C> /xf0/x93/x8d/x8c EGYPTIAN HIEROGLYPH U023A
-+<U0001334D> /xf0/x93/x8d/x8d EGYPTIAN HIEROGLYPH U024
-+<U0001334E> /xf0/x93/x8d/x8e EGYPTIAN HIEROGLYPH U025
-+<U0001334F> /xf0/x93/x8d/x8f EGYPTIAN HIEROGLYPH U026
-+<U00013350> /xf0/x93/x8d/x90 EGYPTIAN HIEROGLYPH U027
-+<U00013351> /xf0/x93/x8d/x91 EGYPTIAN HIEROGLYPH U028
-+<U00013352> /xf0/x93/x8d/x92 EGYPTIAN HIEROGLYPH U029
-+<U00013353> /xf0/x93/x8d/x93 EGYPTIAN HIEROGLYPH U029A
-+<U00013354> /xf0/x93/x8d/x94 EGYPTIAN HIEROGLYPH U030
-+<U00013355> /xf0/x93/x8d/x95 EGYPTIAN HIEROGLYPH U031
-+<U00013356> /xf0/x93/x8d/x96 EGYPTIAN HIEROGLYPH U032
-+<U00013357> /xf0/x93/x8d/x97 EGYPTIAN HIEROGLYPH U032A
-+<U00013358> /xf0/x93/x8d/x98 EGYPTIAN HIEROGLYPH U033
-+<U00013359> /xf0/x93/x8d/x99 EGYPTIAN HIEROGLYPH U034
-+<U0001335A> /xf0/x93/x8d/x9a EGYPTIAN HIEROGLYPH U035
-+<U0001335B> /xf0/x93/x8d/x9b EGYPTIAN HIEROGLYPH U036
-+<U0001335C> /xf0/x93/x8d/x9c EGYPTIAN HIEROGLYPH U037
-+<U0001335D> /xf0/x93/x8d/x9d EGYPTIAN HIEROGLYPH U038
-+<U0001335E> /xf0/x93/x8d/x9e EGYPTIAN HIEROGLYPH U039
-+<U0001335F> /xf0/x93/x8d/x9f EGYPTIAN HIEROGLYPH U040
-+<U00013360> /xf0/x93/x8d/xa0 EGYPTIAN HIEROGLYPH U041
-+<U00013361> /xf0/x93/x8d/xa1 EGYPTIAN HIEROGLYPH U042
-+<U00013362> /xf0/x93/x8d/xa2 EGYPTIAN HIEROGLYPH V001
-+<U00013363> /xf0/x93/x8d/xa3 EGYPTIAN HIEROGLYPH V001A
-+<U00013364> /xf0/x93/x8d/xa4 EGYPTIAN HIEROGLYPH V001B
-+<U00013365> /xf0/x93/x8d/xa5 EGYPTIAN HIEROGLYPH V001C
-+<U00013366> /xf0/x93/x8d/xa6 EGYPTIAN HIEROGLYPH V001D
-+<U00013367> /xf0/x93/x8d/xa7 EGYPTIAN HIEROGLYPH V001E
-+<U00013368> /xf0/x93/x8d/xa8 EGYPTIAN HIEROGLYPH V001F
-+<U00013369> /xf0/x93/x8d/xa9 EGYPTIAN HIEROGLYPH V001G
-+<U0001336A> /xf0/x93/x8d/xaa EGYPTIAN HIEROGLYPH V001H
-+<U0001336B> /xf0/x93/x8d/xab EGYPTIAN HIEROGLYPH V001I
-+<U0001336C> /xf0/x93/x8d/xac EGYPTIAN HIEROGLYPH V002
-+<U0001336D> /xf0/x93/x8d/xad EGYPTIAN HIEROGLYPH V002A
-+<U0001336E> /xf0/x93/x8d/xae EGYPTIAN HIEROGLYPH V003
-+<U0001336F> /xf0/x93/x8d/xaf EGYPTIAN HIEROGLYPH V004
-+<U00013370> /xf0/x93/x8d/xb0 EGYPTIAN HIEROGLYPH V005
-+<U00013371> /xf0/x93/x8d/xb1 EGYPTIAN HIEROGLYPH V006
-+<U00013372> /xf0/x93/x8d/xb2 EGYPTIAN HIEROGLYPH V007
-+<U00013373> /xf0/x93/x8d/xb3 EGYPTIAN HIEROGLYPH V007A
-+<U00013374> /xf0/x93/x8d/xb4 EGYPTIAN HIEROGLYPH V007B
-+<U00013375> /xf0/x93/x8d/xb5 EGYPTIAN HIEROGLYPH V008
-+<U00013376> /xf0/x93/x8d/xb6 EGYPTIAN HIEROGLYPH V009
-+<U00013377> /xf0/x93/x8d/xb7 EGYPTIAN HIEROGLYPH V010
-+<U00013378> /xf0/x93/x8d/xb8 EGYPTIAN HIEROGLYPH V011
-+<U00013379> /xf0/x93/x8d/xb9 EGYPTIAN HIEROGLYPH V011A
-+<U0001337A> /xf0/x93/x8d/xba EGYPTIAN HIEROGLYPH V011B
-+<U0001337B> /xf0/x93/x8d/xbb EGYPTIAN HIEROGLYPH V011C
-+<U0001337C> /xf0/x93/x8d/xbc EGYPTIAN HIEROGLYPH V012
-+<U0001337D> /xf0/x93/x8d/xbd EGYPTIAN HIEROGLYPH V012A
-+<U0001337E> /xf0/x93/x8d/xbe EGYPTIAN HIEROGLYPH V012B
-+<U0001337F> /xf0/x93/x8d/xbf EGYPTIAN HIEROGLYPH V013
-+<U00013380> /xf0/x93/x8e/x80 EGYPTIAN HIEROGLYPH V014
-+<U00013381> /xf0/x93/x8e/x81 EGYPTIAN HIEROGLYPH V015
-+<U00013382> /xf0/x93/x8e/x82 EGYPTIAN HIEROGLYPH V016
-+<U00013383> /xf0/x93/x8e/x83 EGYPTIAN HIEROGLYPH V017
-+<U00013384> /xf0/x93/x8e/x84 EGYPTIAN HIEROGLYPH V018
-+<U00013385> /xf0/x93/x8e/x85 EGYPTIAN HIEROGLYPH V019
-+<U00013386> /xf0/x93/x8e/x86 EGYPTIAN HIEROGLYPH V020
-+<U00013387> /xf0/x93/x8e/x87 EGYPTIAN HIEROGLYPH V020A
-+<U00013388> /xf0/x93/x8e/x88 EGYPTIAN HIEROGLYPH V020B
-+<U00013389> /xf0/x93/x8e/x89 EGYPTIAN HIEROGLYPH V020C
-+<U0001338A> /xf0/x93/x8e/x8a EGYPTIAN HIEROGLYPH V020D
-+<U0001338B> /xf0/x93/x8e/x8b EGYPTIAN HIEROGLYPH V020E
-+<U0001338C> /xf0/x93/x8e/x8c EGYPTIAN HIEROGLYPH V020F
-+<U0001338D> /xf0/x93/x8e/x8d EGYPTIAN HIEROGLYPH V020G
-+<U0001338E> /xf0/x93/x8e/x8e EGYPTIAN HIEROGLYPH V020H
-+<U0001338F> /xf0/x93/x8e/x8f EGYPTIAN HIEROGLYPH V020I
-+<U00013390> /xf0/x93/x8e/x90 EGYPTIAN HIEROGLYPH V020J
-+<U00013391> /xf0/x93/x8e/x91 EGYPTIAN HIEROGLYPH V020K
-+<U00013392> /xf0/x93/x8e/x92 EGYPTIAN HIEROGLYPH V020L
-+<U00013393> /xf0/x93/x8e/x93 EGYPTIAN HIEROGLYPH V021
-+<U00013394> /xf0/x93/x8e/x94 EGYPTIAN HIEROGLYPH V022
-+<U00013395> /xf0/x93/x8e/x95 EGYPTIAN HIEROGLYPH V023
-+<U00013396> /xf0/x93/x8e/x96 EGYPTIAN HIEROGLYPH V023A
-+<U00013397> /xf0/x93/x8e/x97 EGYPTIAN HIEROGLYPH V024
-+<U00013398> /xf0/x93/x8e/x98 EGYPTIAN HIEROGLYPH V025
-+<U00013399> /xf0/x93/x8e/x99 EGYPTIAN HIEROGLYPH V026
-+<U0001339A> /xf0/x93/x8e/x9a EGYPTIAN HIEROGLYPH V027
-+<U0001339B> /xf0/x93/x8e/x9b EGYPTIAN HIEROGLYPH V028
-+<U0001339C> /xf0/x93/x8e/x9c EGYPTIAN HIEROGLYPH V028A
-+<U0001339D> /xf0/x93/x8e/x9d EGYPTIAN HIEROGLYPH V029
-+<U0001339E> /xf0/x93/x8e/x9e EGYPTIAN HIEROGLYPH V029A
-+<U0001339F> /xf0/x93/x8e/x9f EGYPTIAN HIEROGLYPH V030
-+<U000133A0> /xf0/x93/x8e/xa0 EGYPTIAN HIEROGLYPH V030A
-+<U000133A1> /xf0/x93/x8e/xa1 EGYPTIAN HIEROGLYPH V031
-+<U000133A2> /xf0/x93/x8e/xa2 EGYPTIAN HIEROGLYPH V031A
-+<U000133A3> /xf0/x93/x8e/xa3 EGYPTIAN HIEROGLYPH V032
-+<U000133A4> /xf0/x93/x8e/xa4 EGYPTIAN HIEROGLYPH V033
-+<U000133A5> /xf0/x93/x8e/xa5 EGYPTIAN HIEROGLYPH V033A
-+<U000133A6> /xf0/x93/x8e/xa6 EGYPTIAN HIEROGLYPH V034
-+<U000133A7> /xf0/x93/x8e/xa7 EGYPTIAN HIEROGLYPH V035
-+<U000133A8> /xf0/x93/x8e/xa8 EGYPTIAN HIEROGLYPH V036
-+<U000133A9> /xf0/x93/x8e/xa9 EGYPTIAN HIEROGLYPH V037
-+<U000133AA> /xf0/x93/x8e/xaa EGYPTIAN HIEROGLYPH V037A
-+<U000133AB> /xf0/x93/x8e/xab EGYPTIAN HIEROGLYPH V038
-+<U000133AC> /xf0/x93/x8e/xac EGYPTIAN HIEROGLYPH V039
-+<U000133AD> /xf0/x93/x8e/xad EGYPTIAN HIEROGLYPH V040
-+<U000133AE> /xf0/x93/x8e/xae EGYPTIAN HIEROGLYPH V040A
-+<U000133AF> /xf0/x93/x8e/xaf EGYPTIAN HIEROGLYPH W001
-+<U000133B0> /xf0/x93/x8e/xb0 EGYPTIAN HIEROGLYPH W002
-+<U000133B1> /xf0/x93/x8e/xb1 EGYPTIAN HIEROGLYPH W003
-+<U000133B2> /xf0/x93/x8e/xb2 EGYPTIAN HIEROGLYPH W003A
-+<U000133B3> /xf0/x93/x8e/xb3 EGYPTIAN HIEROGLYPH W004
-+<U000133B4> /xf0/x93/x8e/xb4 EGYPTIAN HIEROGLYPH W005
-+<U000133B5> /xf0/x93/x8e/xb5 EGYPTIAN HIEROGLYPH W006
-+<U000133B6> /xf0/x93/x8e/xb6 EGYPTIAN HIEROGLYPH W007
-+<U000133B7> /xf0/x93/x8e/xb7 EGYPTIAN HIEROGLYPH W008
-+<U000133B8> /xf0/x93/x8e/xb8 EGYPTIAN HIEROGLYPH W009
-+<U000133B9> /xf0/x93/x8e/xb9 EGYPTIAN HIEROGLYPH W009A
-+<U000133BA> /xf0/x93/x8e/xba EGYPTIAN HIEROGLYPH W010
-+<U000133BB> /xf0/x93/x8e/xbb EGYPTIAN HIEROGLYPH W010A
-+<U000133BC> /xf0/x93/x8e/xbc EGYPTIAN HIEROGLYPH W011
-+<U000133BD> /xf0/x93/x8e/xbd EGYPTIAN HIEROGLYPH W012
-+<U000133BE> /xf0/x93/x8e/xbe EGYPTIAN HIEROGLYPH W013
-+<U000133BF> /xf0/x93/x8e/xbf EGYPTIAN HIEROGLYPH W014
-+<U000133C0> /xf0/x93/x8f/x80 EGYPTIAN HIEROGLYPH W014A
-+<U000133C1> /xf0/x93/x8f/x81 EGYPTIAN HIEROGLYPH W015
-+<U000133C2> /xf0/x93/x8f/x82 EGYPTIAN HIEROGLYPH W016
-+<U000133C3> /xf0/x93/x8f/x83 EGYPTIAN HIEROGLYPH W017
-+<U000133C4> /xf0/x93/x8f/x84 EGYPTIAN HIEROGLYPH W017A
-+<U000133C5> /xf0/x93/x8f/x85 EGYPTIAN HIEROGLYPH W018
-+<U000133C6> /xf0/x93/x8f/x86 EGYPTIAN HIEROGLYPH W018A
-+<U000133C7> /xf0/x93/x8f/x87 EGYPTIAN HIEROGLYPH W019
-+<U000133C8> /xf0/x93/x8f/x88 EGYPTIAN HIEROGLYPH W020
-+<U000133C9> /xf0/x93/x8f/x89 EGYPTIAN HIEROGLYPH W021
-+<U000133CA> /xf0/x93/x8f/x8a EGYPTIAN HIEROGLYPH W022
-+<U000133CB> /xf0/x93/x8f/x8b EGYPTIAN HIEROGLYPH W023
-+<U000133CC> /xf0/x93/x8f/x8c EGYPTIAN HIEROGLYPH W024
-+<U000133CD> /xf0/x93/x8f/x8d EGYPTIAN HIEROGLYPH W024A
-+<U000133CE> /xf0/x93/x8f/x8e EGYPTIAN HIEROGLYPH W025
-+<U000133CF> /xf0/x93/x8f/x8f EGYPTIAN HIEROGLYPH X001
-+<U000133D0> /xf0/x93/x8f/x90 EGYPTIAN HIEROGLYPH X002
-+<U000133D1> /xf0/x93/x8f/x91 EGYPTIAN HIEROGLYPH X003
-+<U000133D2> /xf0/x93/x8f/x92 EGYPTIAN HIEROGLYPH X004
-+<U000133D3> /xf0/x93/x8f/x93 EGYPTIAN HIEROGLYPH X004A
-+<U000133D4> /xf0/x93/x8f/x94 EGYPTIAN HIEROGLYPH X004B
-+<U000133D5> /xf0/x93/x8f/x95 EGYPTIAN HIEROGLYPH X005
-+<U000133D6> /xf0/x93/x8f/x96 EGYPTIAN HIEROGLYPH X006
-+<U000133D7> /xf0/x93/x8f/x97 EGYPTIAN HIEROGLYPH X006A
-+<U000133D8> /xf0/x93/x8f/x98 EGYPTIAN HIEROGLYPH X007
-+<U000133D9> /xf0/x93/x8f/x99 EGYPTIAN HIEROGLYPH X008
-+<U000133DA> /xf0/x93/x8f/x9a EGYPTIAN HIEROGLYPH X008A
-+<U000133DB> /xf0/x93/x8f/x9b EGYPTIAN HIEROGLYPH Y001
-+<U000133DC> /xf0/x93/x8f/x9c EGYPTIAN HIEROGLYPH Y001A
-+<U000133DD> /xf0/x93/x8f/x9d EGYPTIAN HIEROGLYPH Y002
-+<U000133DE> /xf0/x93/x8f/x9e EGYPTIAN HIEROGLYPH Y003
-+<U000133DF> /xf0/x93/x8f/x9f EGYPTIAN HIEROGLYPH Y004
-+<U000133E0> /xf0/x93/x8f/xa0 EGYPTIAN HIEROGLYPH Y005
-+<U000133E1> /xf0/x93/x8f/xa1 EGYPTIAN HIEROGLYPH Y006
-+<U000133E2> /xf0/x93/x8f/xa2 EGYPTIAN HIEROGLYPH Y007
-+<U000133E3> /xf0/x93/x8f/xa3 EGYPTIAN HIEROGLYPH Y008
-+<U000133E4> /xf0/x93/x8f/xa4 EGYPTIAN HIEROGLYPH Z001
-+<U000133E5> /xf0/x93/x8f/xa5 EGYPTIAN HIEROGLYPH Z002
-+<U000133E6> /xf0/x93/x8f/xa6 EGYPTIAN HIEROGLYPH Z002A
-+<U000133E7> /xf0/x93/x8f/xa7 EGYPTIAN HIEROGLYPH Z002B
-+<U000133E8> /xf0/x93/x8f/xa8 EGYPTIAN HIEROGLYPH Z002C
-+<U000133E9> /xf0/x93/x8f/xa9 EGYPTIAN HIEROGLYPH Z002D
-+<U000133EA> /xf0/x93/x8f/xaa EGYPTIAN HIEROGLYPH Z003
-+<U000133EB> /xf0/x93/x8f/xab EGYPTIAN HIEROGLYPH Z003A
-+<U000133EC> /xf0/x93/x8f/xac EGYPTIAN HIEROGLYPH Z003B
-+<U000133ED> /xf0/x93/x8f/xad EGYPTIAN HIEROGLYPH Z004
-+<U000133EE> /xf0/x93/x8f/xae EGYPTIAN HIEROGLYPH Z004A
-+<U000133EF> /xf0/x93/x8f/xaf EGYPTIAN HIEROGLYPH Z005
-+<U000133F0> /xf0/x93/x8f/xb0 EGYPTIAN HIEROGLYPH Z005A
-+<U000133F1> /xf0/x93/x8f/xb1 EGYPTIAN HIEROGLYPH Z006
-+<U000133F2> /xf0/x93/x8f/xb2 EGYPTIAN HIEROGLYPH Z007
-+<U000133F3> /xf0/x93/x8f/xb3 EGYPTIAN HIEROGLYPH Z008
-+<U000133F4> /xf0/x93/x8f/xb4 EGYPTIAN HIEROGLYPH Z009
-+<U000133F5> /xf0/x93/x8f/xb5 EGYPTIAN HIEROGLYPH Z010
-+<U000133F6> /xf0/x93/x8f/xb6 EGYPTIAN HIEROGLYPH Z011
-+<U000133F7> /xf0/x93/x8f/xb7 EGYPTIAN HIEROGLYPH Z012
-+<U000133F8> /xf0/x93/x8f/xb8 EGYPTIAN HIEROGLYPH Z013
-+<U000133F9> /xf0/x93/x8f/xb9 EGYPTIAN HIEROGLYPH Z014
-+<U000133FA> /xf0/x93/x8f/xba EGYPTIAN HIEROGLYPH Z015
-+<U000133FB> /xf0/x93/x8f/xbb EGYPTIAN HIEROGLYPH Z015A
-+<U000133FC> /xf0/x93/x8f/xbc EGYPTIAN HIEROGLYPH Z015B
-+<U000133FD> /xf0/x93/x8f/xbd EGYPTIAN HIEROGLYPH Z015C
-+<U000133FE> /xf0/x93/x8f/xbe EGYPTIAN HIEROGLYPH Z015D
-+<U000133FF> /xf0/x93/x8f/xbf EGYPTIAN HIEROGLYPH Z015E
-+<U00013400> /xf0/x93/x90/x80 EGYPTIAN HIEROGLYPH Z015F
-+<U00013401> /xf0/x93/x90/x81 EGYPTIAN HIEROGLYPH Z015G
-+<U00013402> /xf0/x93/x90/x82 EGYPTIAN HIEROGLYPH Z015H
-+<U00013403> /xf0/x93/x90/x83 EGYPTIAN HIEROGLYPH Z015I
-+<U00013404> /xf0/x93/x90/x84 EGYPTIAN HIEROGLYPH Z016
-+<U00013405> /xf0/x93/x90/x85 EGYPTIAN HIEROGLYPH Z016A
-+<U00013406> /xf0/x93/x90/x86 EGYPTIAN HIEROGLYPH Z016B
-+<U00013407> /xf0/x93/x90/x87 EGYPTIAN HIEROGLYPH Z016C
-+<U00013408> /xf0/x93/x90/x88 EGYPTIAN HIEROGLYPH Z016D
-+<U00013409> /xf0/x93/x90/x89 EGYPTIAN HIEROGLYPH Z016E
-+<U0001340A> /xf0/x93/x90/x8a EGYPTIAN HIEROGLYPH Z016F
-+<U0001340B> /xf0/x93/x90/x8b EGYPTIAN HIEROGLYPH Z016G
-+<U0001340C> /xf0/x93/x90/x8c EGYPTIAN HIEROGLYPH Z016H
-+<U0001340D> /xf0/x93/x90/x8d EGYPTIAN HIEROGLYPH AA001
-+<U0001340E> /xf0/x93/x90/x8e EGYPTIAN HIEROGLYPH AA002
-+<U0001340F> /xf0/x93/x90/x8f EGYPTIAN HIEROGLYPH AA003
-+<U00013410> /xf0/x93/x90/x90 EGYPTIAN HIEROGLYPH AA004
-+<U00013411> /xf0/x93/x90/x91 EGYPTIAN HIEROGLYPH AA005
-+<U00013412> /xf0/x93/x90/x92 EGYPTIAN HIEROGLYPH AA006
-+<U00013413> /xf0/x93/x90/x93 EGYPTIAN HIEROGLYPH AA007
-+<U00013414> /xf0/x93/x90/x94 EGYPTIAN HIEROGLYPH AA007A
-+<U00013415> /xf0/x93/x90/x95 EGYPTIAN HIEROGLYPH AA007B
-+<U00013416> /xf0/x93/x90/x96 EGYPTIAN HIEROGLYPH AA008
-+<U00013417> /xf0/x93/x90/x97 EGYPTIAN HIEROGLYPH AA009
-+<U00013418> /xf0/x93/x90/x98 EGYPTIAN HIEROGLYPH AA010
-+<U00013419> /xf0/x93/x90/x99 EGYPTIAN HIEROGLYPH AA011
-+<U0001341A> /xf0/x93/x90/x9a EGYPTIAN HIEROGLYPH AA012
-+<U0001341B> /xf0/x93/x90/x9b EGYPTIAN HIEROGLYPH AA013
-+<U0001341C> /xf0/x93/x90/x9c EGYPTIAN HIEROGLYPH AA014
-+<U0001341D> /xf0/x93/x90/x9d EGYPTIAN HIEROGLYPH AA015
-+<U0001341E> /xf0/x93/x90/x9e EGYPTIAN HIEROGLYPH AA016
-+<U0001341F> /xf0/x93/x90/x9f EGYPTIAN HIEROGLYPH AA017
-+<U00013420> /xf0/x93/x90/xa0 EGYPTIAN HIEROGLYPH AA018
-+<U00013421> /xf0/x93/x90/xa1 EGYPTIAN HIEROGLYPH AA019
-+<U00013422> /xf0/x93/x90/xa2 EGYPTIAN HIEROGLYPH AA020
-+<U00013423> /xf0/x93/x90/xa3 EGYPTIAN HIEROGLYPH AA021
-+<U00013424> /xf0/x93/x90/xa4 EGYPTIAN HIEROGLYPH AA022
-+<U00013425> /xf0/x93/x90/xa5 EGYPTIAN HIEROGLYPH AA023
-+<U00013426> /xf0/x93/x90/xa6 EGYPTIAN HIEROGLYPH AA024
-+<U00013427> /xf0/x93/x90/xa7 EGYPTIAN HIEROGLYPH AA025
-+<U00013428> /xf0/x93/x90/xa8 EGYPTIAN HIEROGLYPH AA026
-+<U00013429> /xf0/x93/x90/xa9 EGYPTIAN HIEROGLYPH AA027
-+<U0001342A> /xf0/x93/x90/xaa EGYPTIAN HIEROGLYPH AA028
-+<U0001342B> /xf0/x93/x90/xab EGYPTIAN HIEROGLYPH AA029
-+<U0001342C> /xf0/x93/x90/xac EGYPTIAN HIEROGLYPH AA030
-+<U0001342D> /xf0/x93/x90/xad EGYPTIAN HIEROGLYPH AA031
-+<U0001342E> /xf0/x93/x90/xae EGYPTIAN HIEROGLYPH AA032
-+<U00016800> /xf0/x96/xa0/x80 BAMUM LETTER PHASE-A NGKUE MFON
-+<U00016801> /xf0/x96/xa0/x81 BAMUM LETTER PHASE-A GBIEE FON
-+<U00016802> /xf0/x96/xa0/x82 BAMUM LETTER PHASE-A PON MFON PIPAEMGBIEE
-+<U00016803> /xf0/x96/xa0/x83 BAMUM LETTER PHASE-A PON MFON PIPAEMBA
-+<U00016804> /xf0/x96/xa0/x84 BAMUM LETTER PHASE-A NAA MFON
-+<U00016805> /xf0/x96/xa0/x85 BAMUM LETTER PHASE-A SHUENSHUET
-+<U00016806> /xf0/x96/xa0/x86 BAMUM LETTER PHASE-A TITA MFON
-+<U00016807> /xf0/x96/xa0/x87 BAMUM LETTER PHASE-A NZA MFON
-+<U00016808> /xf0/x96/xa0/x88 BAMUM LETTER PHASE-A SHINDA PA NJI
-+<U00016809> /xf0/x96/xa0/x89 BAMUM LETTER PHASE-A PON PA NJI PIPAEMGBIEE
-+<U0001680A> /xf0/x96/xa0/x8a BAMUM LETTER PHASE-A PON PA NJI PIPAEMBA
-+<U0001680B> /xf0/x96/xa0/x8b BAMUM LETTER PHASE-A MAEMBGBIEE
-+<U0001680C> /xf0/x96/xa0/x8c BAMUM LETTER PHASE-A TU MAEMBA
-+<U0001680D> /xf0/x96/xa0/x8d BAMUM LETTER PHASE-A NGANGU
-+<U0001680E> /xf0/x96/xa0/x8e BAMUM LETTER PHASE-A MAEMVEUX
-+<U0001680F> /xf0/x96/xa0/x8f BAMUM LETTER PHASE-A MANSUAE
-+<U00016810> /xf0/x96/xa0/x90 BAMUM LETTER PHASE-A MVEUAENGAM
-+<U00016811> /xf0/x96/xa0/x91 BAMUM LETTER PHASE-A SEUNYAM
-+<U00016812> /xf0/x96/xa0/x92 BAMUM LETTER PHASE-A NTOQPEN
-+<U00016813> /xf0/x96/xa0/x93 BAMUM LETTER PHASE-A KEUKEUTNDA
-+<U00016814> /xf0/x96/xa0/x94 BAMUM LETTER PHASE-A NKINDI
-+<U00016815> /xf0/x96/xa0/x95 BAMUM LETTER PHASE-A SUU
-+<U00016816> /xf0/x96/xa0/x96 BAMUM LETTER PHASE-A NGKUENZEUM
-+<U00016817> /xf0/x96/xa0/x97 BAMUM LETTER PHASE-A LAPAQ
-+<U00016818> /xf0/x96/xa0/x98 BAMUM LETTER PHASE-A LET KUT
-+<U00016819> /xf0/x96/xa0/x99 BAMUM LETTER PHASE-A NTAP MFAA
-+<U0001681A> /xf0/x96/xa0/x9a BAMUM LETTER PHASE-A MAEKEUP
-+<U0001681B> /xf0/x96/xa0/x9b BAMUM LETTER PHASE-A PASHAE
-+<U0001681C> /xf0/x96/xa0/x9c BAMUM LETTER PHASE-A GHEUAERAE
-+<U0001681D> /xf0/x96/xa0/x9d BAMUM LETTER PHASE-A PAMSHAE
-+<U0001681E> /xf0/x96/xa0/x9e BAMUM LETTER PHASE-A MON NGGEUAET
-+<U0001681F> /xf0/x96/xa0/x9f BAMUM LETTER PHASE-A NZUN MEUT
-+<U00016820> /xf0/x96/xa0/xa0 BAMUM LETTER PHASE-A U YUQ NAE
-+<U00016821> /xf0/x96/xa0/xa1 BAMUM LETTER PHASE-A GHEUAEGHEUAE
-+<U00016822> /xf0/x96/xa0/xa2 BAMUM LETTER PHASE-A NTAP NTAA
-+<U00016823> /xf0/x96/xa0/xa3 BAMUM LETTER PHASE-A SISA
-+<U00016824> /xf0/x96/xa0/xa4 BAMUM LETTER PHASE-A MGBASA
-+<U00016825> /xf0/x96/xa0/xa5 BAMUM LETTER PHASE-A MEUNJOMNDEUQ
-+<U00016826> /xf0/x96/xa0/xa6 BAMUM LETTER PHASE-A MOOMPUQ
-+<U00016827> /xf0/x96/xa0/xa7 BAMUM LETTER PHASE-A KAFA
-+<U00016828> /xf0/x96/xa0/xa8 BAMUM LETTER PHASE-A PA LEERAEWA
-+<U00016829> /xf0/x96/xa0/xa9 BAMUM LETTER PHASE-A NDA LEERAEWA
-+<U0001682A> /xf0/x96/xa0/xaa BAMUM LETTER PHASE-A PET
-+<U0001682B> /xf0/x96/xa0/xab BAMUM LETTER PHASE-A MAEMKPEN
-+<U0001682C> /xf0/x96/xa0/xac BAMUM LETTER PHASE-A NIKA
-+<U0001682D> /xf0/x96/xa0/xad BAMUM LETTER PHASE-A PUP
-+<U0001682E> /xf0/x96/xa0/xae BAMUM LETTER PHASE-A TUAEP
-+<U0001682F> /xf0/x96/xa0/xaf BAMUM LETTER PHASE-A LUAEP
-+<U00016830> /xf0/x96/xa0/xb0 BAMUM LETTER PHASE-A SONJAM
-+<U00016831> /xf0/x96/xa0/xb1 BAMUM LETTER PHASE-A TEUTEUWEN
-+<U00016832> /xf0/x96/xa0/xb2 BAMUM LETTER PHASE-A MAENYI
-+<U00016833> /xf0/x96/xa0/xb3 BAMUM LETTER PHASE-A KET
-+<U00016834> /xf0/x96/xa0/xb4 BAMUM LETTER PHASE-A NDAANGGEUAET
-+<U00016835> /xf0/x96/xa0/xb5 BAMUM LETTER PHASE-A KUOQ
-+<U00016836> /xf0/x96/xa0/xb6 BAMUM LETTER PHASE-A MOOMEUT
-+<U00016837> /xf0/x96/xa0/xb7 BAMUM LETTER PHASE-A SHUM
-+<U00016838> /xf0/x96/xa0/xb8 BAMUM LETTER PHASE-A LOMMAE
-+<U00016839> /xf0/x96/xa0/xb9 BAMUM LETTER PHASE-A FIRI
-+<U0001683A> /xf0/x96/xa0/xba BAMUM LETTER PHASE-A ROM
-+<U0001683B> /xf0/x96/xa0/xbb BAMUM LETTER PHASE-A KPOQ
-+<U0001683C> /xf0/x96/xa0/xbc BAMUM LETTER PHASE-A SOQ
-+<U0001683D> /xf0/x96/xa0/xbd BAMUM LETTER PHASE-A MAP PIEET
-+<U0001683E> /xf0/x96/xa0/xbe BAMUM LETTER PHASE-A SHIRAE
-+<U0001683F> /xf0/x96/xa0/xbf BAMUM LETTER PHASE-A NTAP
-+<U00016840> /xf0/x96/xa1/x80 BAMUM LETTER PHASE-A SHOQ NSHUT YUM
-+<U00016841> /xf0/x96/xa1/x81 BAMUM LETTER PHASE-A NYIT MONGKEUAEQ
-+<U00016842> /xf0/x96/xa1/x82 BAMUM LETTER PHASE-A PAARAE
-+<U00016843> /xf0/x96/xa1/x83 BAMUM LETTER PHASE-A NKAARAE
-+<U00016844> /xf0/x96/xa1/x84 BAMUM LETTER PHASE-A UNKNOWN
-+<U00016845> /xf0/x96/xa1/x85 BAMUM LETTER PHASE-A NGGEN
-+<U00016846> /xf0/x96/xa1/x86 BAMUM LETTER PHASE-A MAESI
-+<U00016847> /xf0/x96/xa1/x87 BAMUM LETTER PHASE-A NJAM
-+<U00016848> /xf0/x96/xa1/x88 BAMUM LETTER PHASE-A MBANYI
-+<U00016849> /xf0/x96/xa1/x89 BAMUM LETTER PHASE-A NYET
-+<U0001684A> /xf0/x96/xa1/x8a BAMUM LETTER PHASE-A TEUAEN
-+<U0001684B> /xf0/x96/xa1/x8b BAMUM LETTER PHASE-A SOT
-+<U0001684C> /xf0/x96/xa1/x8c BAMUM LETTER PHASE-A PAAM
-+<U0001684D> /xf0/x96/xa1/x8d BAMUM LETTER PHASE-A NSHIEE
-+<U0001684E> /xf0/x96/xa1/x8e BAMUM LETTER PHASE-A MAEM
-+<U0001684F> /xf0/x96/xa1/x8f BAMUM LETTER PHASE-A NYI
-+<U00016850> /xf0/x96/xa1/x90 BAMUM LETTER PHASE-A KAQ
-+<U00016851> /xf0/x96/xa1/x91 BAMUM LETTER PHASE-A NSHA
-+<U00016852> /xf0/x96/xa1/x92 BAMUM LETTER PHASE-A VEE
-+<U00016853> /xf0/x96/xa1/x93 BAMUM LETTER PHASE-A LU
-+<U00016854> /xf0/x96/xa1/x94 BAMUM LETTER PHASE-A NEN
-+<U00016855> /xf0/x96/xa1/x95 BAMUM LETTER PHASE-A NAQ
-+<U00016856> /xf0/x96/xa1/x96 BAMUM LETTER PHASE-A MBAQ
-+<U00016857> /xf0/x96/xa1/x97 BAMUM LETTER PHASE-B NSHUET
-+<U00016858> /xf0/x96/xa1/x98 BAMUM LETTER PHASE-B TU MAEMGBIEE
-+<U00016859> /xf0/x96/xa1/x99 BAMUM LETTER PHASE-B SIEE
-+<U0001685A> /xf0/x96/xa1/x9a BAMUM LETTER PHASE-B SET TU
-+<U0001685B> /xf0/x96/xa1/x9b BAMUM LETTER PHASE-B LOM NTEUM
-+<U0001685C> /xf0/x96/xa1/x9c BAMUM LETTER PHASE-B MBA MAELEE
-+<U0001685D> /xf0/x96/xa1/x9d BAMUM LETTER PHASE-B KIEEM
-+<U0001685E> /xf0/x96/xa1/x9e BAMUM LETTER PHASE-B YEURAE
-+<U0001685F> /xf0/x96/xa1/x9f BAMUM LETTER PHASE-B MBAARAE
-+<U00016860> /xf0/x96/xa1/xa0 BAMUM LETTER PHASE-B KAM
-+<U00016861> /xf0/x96/xa1/xa1 BAMUM LETTER PHASE-B PEESHI
-+<U00016862> /xf0/x96/xa1/xa2 BAMUM LETTER PHASE-B YAFU LEERAEWA
-+<U00016863> /xf0/x96/xa1/xa3 BAMUM LETTER PHASE-B LAM NSHUT NYAM
-+<U00016864> /xf0/x96/xa1/xa4 BAMUM LETTER PHASE-B NTIEE SHEUOQ
-+<U00016865> /xf0/x96/xa1/xa5 BAMUM LETTER PHASE-B NDU NJAA
-+<U00016866> /xf0/x96/xa1/xa6 BAMUM LETTER PHASE-B GHEUGHEUAEM
-+<U00016867> /xf0/x96/xa1/xa7 BAMUM LETTER PHASE-B PIT
-+<U00016868> /xf0/x96/xa1/xa8 BAMUM LETTER PHASE-B TU NSIEE
-+<U00016869> /xf0/x96/xa1/xa9 BAMUM LETTER PHASE-B SHET NJAQ
-+<U0001686A> /xf0/x96/xa1/xaa BAMUM LETTER PHASE-B SHEUAEQTU
-+<U0001686B> /xf0/x96/xa1/xab BAMUM LETTER PHASE-B MFON TEUAEQ
-+<U0001686C> /xf0/x96/xa1/xac BAMUM LETTER PHASE-B MBIT MBAAKET
-+<U0001686D> /xf0/x96/xa1/xad BAMUM LETTER PHASE-B NYI NTEUM
-+<U0001686E> /xf0/x96/xa1/xae BAMUM LETTER PHASE-B KEUPUQ
-+<U0001686F> /xf0/x96/xa1/xaf BAMUM LETTER PHASE-B GHEUGHEN
-+<U00016870> /xf0/x96/xa1/xb0 BAMUM LETTER PHASE-B KEUYEUX
-+<U00016871> /xf0/x96/xa1/xb1 BAMUM LETTER PHASE-B LAANAE
-+<U00016872> /xf0/x96/xa1/xb2 BAMUM LETTER PHASE-B PARUM
-+<U00016873> /xf0/x96/xa1/xb3 BAMUM LETTER PHASE-B VEUM
-+<U00016874> /xf0/x96/xa1/xb4 BAMUM LETTER PHASE-B NGKINDI MVOP
-+<U00016875> /xf0/x96/xa1/xb5 BAMUM LETTER PHASE-B NGGEU MBU
-+<U00016876> /xf0/x96/xa1/xb6 BAMUM LETTER PHASE-B WUAET
-+<U00016877> /xf0/x96/xa1/xb7 BAMUM LETTER PHASE-B SAKEUAE
-+<U00016878> /xf0/x96/xa1/xb8 BAMUM LETTER PHASE-B TAAM
-+<U00016879> /xf0/x96/xa1/xb9 BAMUM LETTER PHASE-B MEUQ
-+<U0001687A> /xf0/x96/xa1/xba BAMUM LETTER PHASE-B NGGUOQ
-+<U0001687B> /xf0/x96/xa1/xbb BAMUM LETTER PHASE-B NGGUOQ LARGE
-+<U0001687C> /xf0/x96/xa1/xbc BAMUM LETTER PHASE-B MFIYAQ
-+<U0001687D> /xf0/x96/xa1/xbd BAMUM LETTER PHASE-B SUE
-+<U0001687E> /xf0/x96/xa1/xbe BAMUM LETTER PHASE-B MBEURI
-+<U0001687F> /xf0/x96/xa1/xbf BAMUM LETTER PHASE-B MONTIEEN
-+<U00016880> /xf0/x96/xa2/x80 BAMUM LETTER PHASE-B NYAEMAE
-+<U00016881> /xf0/x96/xa2/x81 BAMUM LETTER PHASE-B PUNGAAM
-+<U00016882> /xf0/x96/xa2/x82 BAMUM LETTER PHASE-B MEUT NGGEET
-+<U00016883> /xf0/x96/xa2/x83 BAMUM LETTER PHASE-B FEUX
-+<U00016884> /xf0/x96/xa2/x84 BAMUM LETTER PHASE-B MBUOQ
-+<U00016885> /xf0/x96/xa2/x85 BAMUM LETTER PHASE-B FEE
-+<U00016886> /xf0/x96/xa2/x86 BAMUM LETTER PHASE-B KEUAEM
-+<U00016887> /xf0/x96/xa2/x87 BAMUM LETTER PHASE-B MA NJEUAENA
-+<U00016888> /xf0/x96/xa2/x88 BAMUM LETTER PHASE-B MA NJUQA
-+<U00016889> /xf0/x96/xa2/x89 BAMUM LETTER PHASE-B LET
-+<U0001688A> /xf0/x96/xa2/x8a BAMUM LETTER PHASE-B NGGAAM
-+<U0001688B> /xf0/x96/xa2/x8b BAMUM LETTER PHASE-B NSEN
-+<U0001688C> /xf0/x96/xa2/x8c BAMUM LETTER PHASE-B MA
-+<U0001688D> /xf0/x96/xa2/x8d BAMUM LETTER PHASE-B KIQ
-+<U0001688E> /xf0/x96/xa2/x8e BAMUM LETTER PHASE-B NGOM
-+<U0001688F> /xf0/x96/xa2/x8f BAMUM LETTER PHASE-C NGKUE MAEMBA
-+<U00016890> /xf0/x96/xa2/x90 BAMUM LETTER PHASE-C NZA
-+<U00016891> /xf0/x96/xa2/x91 BAMUM LETTER PHASE-C YUM
-+<U00016892> /xf0/x96/xa2/x92 BAMUM LETTER PHASE-C WANGKUOQ
-+<U00016893> /xf0/x96/xa2/x93 BAMUM LETTER PHASE-C NGGEN
-+<U00016894> /xf0/x96/xa2/x94 BAMUM LETTER PHASE-C NDEUAEREE
-+<U00016895> /xf0/x96/xa2/x95 BAMUM LETTER PHASE-C NGKAQ
-+<U00016896> /xf0/x96/xa2/x96 BAMUM LETTER PHASE-C GHARAE
-+<U00016897> /xf0/x96/xa2/x97 BAMUM LETTER PHASE-C MBEEKEET
-+<U00016898> /xf0/x96/xa2/x98 BAMUM LETTER PHASE-C GBAYI
-+<U00016899> /xf0/x96/xa2/x99 BAMUM LETTER PHASE-C NYIR MKPARAQ MEUN
-+<U0001689A> /xf0/x96/xa2/x9a BAMUM LETTER PHASE-C NTU MBIT
-+<U0001689B> /xf0/x96/xa2/x9b BAMUM LETTER PHASE-C MBEUM
-+<U0001689C> /xf0/x96/xa2/x9c BAMUM LETTER PHASE-C PIRIEEN
-+<U0001689D> /xf0/x96/xa2/x9d BAMUM LETTER PHASE-C NDOMBU
-+<U0001689E> /xf0/x96/xa2/x9e BAMUM LETTER PHASE-C MBAA CABBAGE-TREE
-+<U0001689F> /xf0/x96/xa2/x9f BAMUM LETTER PHASE-C KEUSHEUAEP
-+<U000168A0> /xf0/x96/xa2/xa0 BAMUM LETTER PHASE-C GHAP
-+<U000168A1> /xf0/x96/xa2/xa1 BAMUM LETTER PHASE-C KEUKAQ
-+<U000168A2> /xf0/x96/xa2/xa2 BAMUM LETTER PHASE-C YU MUOMAE
-+<U000168A3> /xf0/x96/xa2/xa3 BAMUM LETTER PHASE-C NZEUM
-+<U000168A4> /xf0/x96/xa2/xa4 BAMUM LETTER PHASE-C MBUE
-+<U000168A5> /xf0/x96/xa2/xa5 BAMUM LETTER PHASE-C NSEUAEN
-+<U000168A6> /xf0/x96/xa2/xa6 BAMUM LETTER PHASE-C MBIT
-+<U000168A7> /xf0/x96/xa2/xa7 BAMUM LETTER PHASE-C YEUQ
-+<U000168A8> /xf0/x96/xa2/xa8 BAMUM LETTER PHASE-C KPARAQ
-+<U000168A9> /xf0/x96/xa2/xa9 BAMUM LETTER PHASE-C KAA
-+<U000168AA> /xf0/x96/xa2/xaa BAMUM LETTER PHASE-C SEUX
-+<U000168AB> /xf0/x96/xa2/xab BAMUM LETTER PHASE-C NDIDA
-+<U000168AC> /xf0/x96/xa2/xac BAMUM LETTER PHASE-C TAASHAE
-+<U000168AD> /xf0/x96/xa2/xad BAMUM LETTER PHASE-C NJUEQ
-+<U000168AE> /xf0/x96/xa2/xae BAMUM LETTER PHASE-C TITA YUE
-+<U000168AF> /xf0/x96/xa2/xaf BAMUM LETTER PHASE-C SUAET
-+<U000168B0> /xf0/x96/xa2/xb0 BAMUM LETTER PHASE-C NGGUAEN NYAM
-+<U000168B1> /xf0/x96/xa2/xb1 BAMUM LETTER PHASE-C VEUX
-+<U000168B2> /xf0/x96/xa2/xb2 BAMUM LETTER PHASE-C NANSANAQ
-+<U000168B3> /xf0/x96/xa2/xb3 BAMUM LETTER PHASE-C MA KEUAERI
-+<U000168B4> /xf0/x96/xa2/xb4 BAMUM LETTER PHASE-C NTAA
-+<U000168B5> /xf0/x96/xa2/xb5 BAMUM LETTER PHASE-C NGGUON
-+<U000168B6> /xf0/x96/xa2/xb6 BAMUM LETTER PHASE-C LAP
-+<U000168B7> /xf0/x96/xa2/xb7 BAMUM LETTER PHASE-C MBIRIEEN
-+<U000168B8> /xf0/x96/xa2/xb8 BAMUM LETTER PHASE-C MGBASAQ
-+<U000168B9> /xf0/x96/xa2/xb9 BAMUM LETTER PHASE-C NTEUNGBA
-+<U000168BA> /xf0/x96/xa2/xba BAMUM LETTER PHASE-C TEUTEUX
-+<U000168BB> /xf0/x96/xa2/xbb BAMUM LETTER PHASE-C NGGUM
-+<U000168BC> /xf0/x96/xa2/xbc BAMUM LETTER PHASE-C FUE
-+<U000168BD> /xf0/x96/xa2/xbd BAMUM LETTER PHASE-C NDEUT
-+<U000168BE> /xf0/x96/xa2/xbe BAMUM LETTER PHASE-C NSA
-+<U000168BF> /xf0/x96/xa2/xbf BAMUM LETTER PHASE-C NSHAQ
-+<U000168C0> /xf0/x96/xa3/x80 BAMUM LETTER PHASE-C BUNG
-+<U000168C1> /xf0/x96/xa3/x81 BAMUM LETTER PHASE-C VEUAEPEN
-+<U000168C2> /xf0/x96/xa3/x82 BAMUM LETTER PHASE-C MBERAE
-+<U000168C3> /xf0/x96/xa3/x83 BAMUM LETTER PHASE-C RU
-+<U000168C4> /xf0/x96/xa3/x84 BAMUM LETTER PHASE-C NJAEM
-+<U000168C5> /xf0/x96/xa3/x85 BAMUM LETTER PHASE-C LAM
-+<U000168C6> /xf0/x96/xa3/x86 BAMUM LETTER PHASE-C TITUAEP
-+<U000168C7> /xf0/x96/xa3/x87 BAMUM LETTER PHASE-C NSUOT NGOM
-+<U000168C8> /xf0/x96/xa3/x88 BAMUM LETTER PHASE-C NJEEEE
-+<U000168C9> /xf0/x96/xa3/x89 BAMUM LETTER PHASE-C KET
-+<U000168CA> /xf0/x96/xa3/x8a BAMUM LETTER PHASE-C NGGU
-+<U000168CB> /xf0/x96/xa3/x8b BAMUM LETTER PHASE-C MAESI
-+<U000168CC> /xf0/x96/xa3/x8c BAMUM LETTER PHASE-C MBUAEM
-+<U000168CD> /xf0/x96/xa3/x8d BAMUM LETTER PHASE-C LU
-+<U000168CE> /xf0/x96/xa3/x8e BAMUM LETTER PHASE-C KUT
-+<U000168CF> /xf0/x96/xa3/x8f BAMUM LETTER PHASE-C NJAM
-+<U000168D0> /xf0/x96/xa3/x90 BAMUM LETTER PHASE-C NGOM
-+<U000168D1> /xf0/x96/xa3/x91 BAMUM LETTER PHASE-C WUP
-+<U000168D2> /xf0/x96/xa3/x92 BAMUM LETTER PHASE-C NGGUEET
-+<U000168D3> /xf0/x96/xa3/x93 BAMUM LETTER PHASE-C NSOM
-+<U000168D4> /xf0/x96/xa3/x94 BAMUM LETTER PHASE-C NTEN
-+<U000168D5> /xf0/x96/xa3/x95 BAMUM LETTER PHASE-C KUOP NKAARAE
-+<U000168D6> /xf0/x96/xa3/x96 BAMUM LETTER PHASE-C NSUN
-+<U000168D7> /xf0/x96/xa3/x97 BAMUM LETTER PHASE-C NDAM
-+<U000168D8> /xf0/x96/xa3/x98 BAMUM LETTER PHASE-C MA NSIEE
-+<U000168D9> /xf0/x96/xa3/x99 BAMUM LETTER PHASE-C YAA
-+<U000168DA> /xf0/x96/xa3/x9a BAMUM LETTER PHASE-C NDAP
-+<U000168DB> /xf0/x96/xa3/x9b BAMUM LETTER PHASE-C SHUEQ
-+<U000168DC> /xf0/x96/xa3/x9c BAMUM LETTER PHASE-C SETFON
-+<U000168DD> /xf0/x96/xa3/x9d BAMUM LETTER PHASE-C MBI
-+<U000168DE> /xf0/x96/xa3/x9e BAMUM LETTER PHASE-C MAEMBA
-+<U000168DF> /xf0/x96/xa3/x9f BAMUM LETTER PHASE-C MBANYI
-+<U000168E0> /xf0/x96/xa3/xa0 BAMUM LETTER PHASE-C KEUSEUX
-+<U000168E1> /xf0/x96/xa3/xa1 BAMUM LETTER PHASE-C MBEUX
-+<U000168E2> /xf0/x96/xa3/xa2 BAMUM LETTER PHASE-C KEUM
-+<U000168E3> /xf0/x96/xa3/xa3 BAMUM LETTER PHASE-C MBAA PICKET
-+<U000168E4> /xf0/x96/xa3/xa4 BAMUM LETTER PHASE-C YUWOQ
-+<U000168E5> /xf0/x96/xa3/xa5 BAMUM LETTER PHASE-C NJEUX
-+<U000168E6> /xf0/x96/xa3/xa6 BAMUM LETTER PHASE-C MIEE
-+<U000168E7> /xf0/x96/xa3/xa7 BAMUM LETTER PHASE-C MUAE
-+<U000168E8> /xf0/x96/xa3/xa8 BAMUM LETTER PHASE-C SHIQ
-+<U000168E9> /xf0/x96/xa3/xa9 BAMUM LETTER PHASE-C KEN LAW
-+<U000168EA> /xf0/x96/xa3/xaa BAMUM LETTER PHASE-C KEN FATIGUE
-+<U000168EB> /xf0/x96/xa3/xab BAMUM LETTER PHASE-C NGAQ
-+<U000168EC> /xf0/x96/xa3/xac BAMUM LETTER PHASE-C NAQ
-+<U000168ED> /xf0/x96/xa3/xad BAMUM LETTER PHASE-C LIQ
-+<U000168EE> /xf0/x96/xa3/xae BAMUM LETTER PHASE-C PIN
-+<U000168EF> /xf0/x96/xa3/xaf BAMUM LETTER PHASE-C PEN
-+<U000168F0> /xf0/x96/xa3/xb0 BAMUM LETTER PHASE-C TET
-+<U000168F1> /xf0/x96/xa3/xb1 BAMUM LETTER PHASE-D MBUO
-+<U000168F2> /xf0/x96/xa3/xb2 BAMUM LETTER PHASE-D WAP
-+<U000168F3> /xf0/x96/xa3/xb3 BAMUM LETTER PHASE-D NJI
-+<U000168F4> /xf0/x96/xa3/xb4 BAMUM LETTER PHASE-D MFON
-+<U000168F5> /xf0/x96/xa3/xb5 BAMUM LETTER PHASE-D NJIEE
-+<U000168F6> /xf0/x96/xa3/xb6 BAMUM LETTER PHASE-D LIEE
-+<U000168F7> /xf0/x96/xa3/xb7 BAMUM LETTER PHASE-D NJEUT
-+<U000168F8> /xf0/x96/xa3/xb8 BAMUM LETTER PHASE-D NSHEE
-+<U000168F9> /xf0/x96/xa3/xb9 BAMUM LETTER PHASE-D NGGAAMAE
-+<U000168FA> /xf0/x96/xa3/xba BAMUM LETTER PHASE-D NYAM
-+<U000168FB> /xf0/x96/xa3/xbb BAMUM LETTER PHASE-D WUAEN
-+<U000168FC> /xf0/x96/xa3/xbc BAMUM LETTER PHASE-D NGKUN
-+<U000168FD> /xf0/x96/xa3/xbd BAMUM LETTER PHASE-D SHEE
-+<U000168FE> /xf0/x96/xa3/xbe BAMUM LETTER PHASE-D NGKAP
-+<U000168FF> /xf0/x96/xa3/xbf BAMUM LETTER PHASE-D KEUAETMEUN
-+<U00016900> /xf0/x96/xa4/x80 BAMUM LETTER PHASE-D TEUT
-+<U00016901> /xf0/x96/xa4/x81 BAMUM LETTER PHASE-D SHEUAE
-+<U00016902> /xf0/x96/xa4/x82 BAMUM LETTER PHASE-D NJAP
-+<U00016903> /xf0/x96/xa4/x83 BAMUM LETTER PHASE-D SUE
-+<U00016904> /xf0/x96/xa4/x84 BAMUM LETTER PHASE-D KET
-+<U00016905> /xf0/x96/xa4/x85 BAMUM LETTER PHASE-D YAEMMAE
-+<U00016906> /xf0/x96/xa4/x86 BAMUM LETTER PHASE-D KUOM
-+<U00016907> /xf0/x96/xa4/x87 BAMUM LETTER PHASE-D SAP
-+<U00016908> /xf0/x96/xa4/x88 BAMUM LETTER PHASE-D MFEUT
-+<U00016909> /xf0/x96/xa4/x89 BAMUM LETTER PHASE-D NDEUX
-+<U0001690A> /xf0/x96/xa4/x8a BAMUM LETTER PHASE-D MALEERI
-+<U0001690B> /xf0/x96/xa4/x8b BAMUM LETTER PHASE-D MEUT
-+<U0001690C> /xf0/x96/xa4/x8c BAMUM LETTER PHASE-D SEUAEQ
-+<U0001690D> /xf0/x96/xa4/x8d BAMUM LETTER PHASE-D YEN
-+<U0001690E> /xf0/x96/xa4/x8e BAMUM LETTER PHASE-D NJEUAEM
-+<U0001690F> /xf0/x96/xa4/x8f BAMUM LETTER PHASE-D KEUOT MBUAE
-+<U00016910> /xf0/x96/xa4/x90 BAMUM LETTER PHASE-D NGKEURI
-+<U00016911> /xf0/x96/xa4/x91 BAMUM LETTER PHASE-D TU
-+<U00016912> /xf0/x96/xa4/x92 BAMUM LETTER PHASE-D GHAA
-+<U00016913> /xf0/x96/xa4/x93 BAMUM LETTER PHASE-D NGKYEE
-+<U00016914> /xf0/x96/xa4/x94 BAMUM LETTER PHASE-D FEUFEUAET
-+<U00016915> /xf0/x96/xa4/x95 BAMUM LETTER PHASE-D NDEE
-+<U00016916> /xf0/x96/xa4/x96 BAMUM LETTER PHASE-D MGBOFUM
-+<U00016917> /xf0/x96/xa4/x97 BAMUM LETTER PHASE-D LEUAEP
-+<U00016918> /xf0/x96/xa4/x98 BAMUM LETTER PHASE-D NDON
-+<U00016919> /xf0/x96/xa4/x99 BAMUM LETTER PHASE-D MONI
-+<U0001691A> /xf0/x96/xa4/x9a BAMUM LETTER PHASE-D MGBEUN
-+<U0001691B> /xf0/x96/xa4/x9b BAMUM LETTER PHASE-D PUUT
-+<U0001691C> /xf0/x96/xa4/x9c BAMUM LETTER PHASE-D MGBIEE
-+<U0001691D> /xf0/x96/xa4/x9d BAMUM LETTER PHASE-D MFO
-+<U0001691E> /xf0/x96/xa4/x9e BAMUM LETTER PHASE-D LUM
-+<U0001691F> /xf0/x96/xa4/x9f BAMUM LETTER PHASE-D NSIEEP
-+<U00016920> /xf0/x96/xa4/xa0 BAMUM LETTER PHASE-D MBAA
-+<U00016921> /xf0/x96/xa4/xa1 BAMUM LETTER PHASE-D KWAET
-+<U00016922> /xf0/x96/xa4/xa2 BAMUM LETTER PHASE-D NYET
-+<U00016923> /xf0/x96/xa4/xa3 BAMUM LETTER PHASE-D TEUAEN
-+<U00016924> /xf0/x96/xa4/xa4 BAMUM LETTER PHASE-D SOT
-+<U00016925> /xf0/x96/xa4/xa5 BAMUM LETTER PHASE-D YUWOQ
-+<U00016926> /xf0/x96/xa4/xa6 BAMUM LETTER PHASE-D KEUM
-+<U00016927> /xf0/x96/xa4/xa7 BAMUM LETTER PHASE-D RAEM
-+<U00016928> /xf0/x96/xa4/xa8 BAMUM LETTER PHASE-D TEEEE
-+<U00016929> /xf0/x96/xa4/xa9 BAMUM LETTER PHASE-D NGKEUAEQ
-+<U0001692A> /xf0/x96/xa4/xaa BAMUM LETTER PHASE-D MFEUAE
-+<U0001692B> /xf0/x96/xa4/xab BAMUM LETTER PHASE-D NSIEET
-+<U0001692C> /xf0/x96/xa4/xac BAMUM LETTER PHASE-D KEUP
-+<U0001692D> /xf0/x96/xa4/xad BAMUM LETTER PHASE-D PIP
-+<U0001692E> /xf0/x96/xa4/xae BAMUM LETTER PHASE-D PEUTAE
-+<U0001692F> /xf0/x96/xa4/xaf BAMUM LETTER PHASE-D NYUE
-+<U00016930> /xf0/x96/xa4/xb0 BAMUM LETTER PHASE-D LET
-+<U00016931> /xf0/x96/xa4/xb1 BAMUM LETTER PHASE-D NGGAAM
-+<U00016932> /xf0/x96/xa4/xb2 BAMUM LETTER PHASE-D MFIEE
-+<U00016933> /xf0/x96/xa4/xb3 BAMUM LETTER PHASE-D NGGWAEN
-+<U00016934> /xf0/x96/xa4/xb4 BAMUM LETTER PHASE-D YUOM
-+<U00016935> /xf0/x96/xa4/xb5 BAMUM LETTER PHASE-D PAP
-+<U00016936> /xf0/x96/xa4/xb6 BAMUM LETTER PHASE-D YUOP
-+<U00016937> /xf0/x96/xa4/xb7 BAMUM LETTER PHASE-D NDAM
-+<U00016938> /xf0/x96/xa4/xb8 BAMUM LETTER PHASE-D NTEUM
-+<U00016939> /xf0/x96/xa4/xb9 BAMUM LETTER PHASE-D SUAE
-+<U0001693A> /xf0/x96/xa4/xba BAMUM LETTER PHASE-D KUN
-+<U0001693B> /xf0/x96/xa4/xbb BAMUM LETTER PHASE-D NGGEUX
-+<U0001693C> /xf0/x96/xa4/xbc BAMUM LETTER PHASE-D NGKIEE
-+<U0001693D> /xf0/x96/xa4/xbd BAMUM LETTER PHASE-D TUOT
-+<U0001693E> /xf0/x96/xa4/xbe BAMUM LETTER PHASE-D MEUN
-+<U0001693F> /xf0/x96/xa4/xbf BAMUM LETTER PHASE-D KUQ
-+<U00016940> /xf0/x96/xa5/x80 BAMUM LETTER PHASE-D NSUM
-+<U00016941> /xf0/x96/xa5/x81 BAMUM LETTER PHASE-D TEUN
-+<U00016942> /xf0/x96/xa5/x82 BAMUM LETTER PHASE-D MAENJET
-+<U00016943> /xf0/x96/xa5/x83 BAMUM LETTER PHASE-D NGGAP
-+<U00016944> /xf0/x96/xa5/x84 BAMUM LETTER PHASE-D LEUM
-+<U00016945> /xf0/x96/xa5/x85 BAMUM LETTER PHASE-D NGGUOM
-+<U00016946> /xf0/x96/xa5/x86 BAMUM LETTER PHASE-D NSHUT
-+<U00016947> /xf0/x96/xa5/x87 BAMUM LETTER PHASE-D NJUEQ
-+<U00016948> /xf0/x96/xa5/x88 BAMUM LETTER PHASE-D GHEUAE
-+<U00016949> /xf0/x96/xa5/x89 BAMUM LETTER PHASE-D KU
-+<U0001694A> /xf0/x96/xa5/x8a BAMUM LETTER PHASE-D REN OLD
-+<U0001694B> /xf0/x96/xa5/x8b BAMUM LETTER PHASE-D TAE
-+<U0001694C> /xf0/x96/xa5/x8c BAMUM LETTER PHASE-D TOQ
-+<U0001694D> /xf0/x96/xa5/x8d BAMUM LETTER PHASE-D NYI
-+<U0001694E> /xf0/x96/xa5/x8e BAMUM LETTER PHASE-D RII
-+<U0001694F> /xf0/x96/xa5/x8f BAMUM LETTER PHASE-D LEEEE
-+<U00016950> /xf0/x96/xa5/x90 BAMUM LETTER PHASE-D MEEEE
-+<U00016951> /xf0/x96/xa5/x91 BAMUM LETTER PHASE-D M
-+<U00016952> /xf0/x96/xa5/x92 BAMUM LETTER PHASE-D SUU
-+<U00016953> /xf0/x96/xa5/x93 BAMUM LETTER PHASE-D MU
-+<U00016954> /xf0/x96/xa5/x94 BAMUM LETTER PHASE-D SHII
-+<U00016955> /xf0/x96/xa5/x95 BAMUM LETTER PHASE-D SHEUX
-+<U00016956> /xf0/x96/xa5/x96 BAMUM LETTER PHASE-D KYEE
-+<U00016957> /xf0/x96/xa5/x97 BAMUM LETTER PHASE-D NU
-+<U00016958> /xf0/x96/xa5/x98 BAMUM LETTER PHASE-D SHU
-+<U00016959> /xf0/x96/xa5/x99 BAMUM LETTER PHASE-D NTEE
-+<U0001695A> /xf0/x96/xa5/x9a BAMUM LETTER PHASE-D PEE
-+<U0001695B> /xf0/x96/xa5/x9b BAMUM LETTER PHASE-D NI
-+<U0001695C> /xf0/x96/xa5/x9c BAMUM LETTER PHASE-D SHOQ
-+<U0001695D> /xf0/x96/xa5/x9d BAMUM LETTER PHASE-D PUQ
-+<U0001695E> /xf0/x96/xa5/x9e BAMUM LETTER PHASE-D MVOP
-+<U0001695F> /xf0/x96/xa5/x9f BAMUM LETTER PHASE-D LOQ
-+<U00016960> /xf0/x96/xa5/xa0 BAMUM LETTER PHASE-D REN MUCH
-+<U00016961> /xf0/x96/xa5/xa1 BAMUM LETTER PHASE-D TI
-+<U00016962> /xf0/x96/xa5/xa2 BAMUM LETTER PHASE-D NTUU
-+<U00016963> /xf0/x96/xa5/xa3 BAMUM LETTER PHASE-D MBAA SEVEN
-+<U00016964> /xf0/x96/xa5/xa4 BAMUM LETTER PHASE-D SAQ
-+<U00016965> /xf0/x96/xa5/xa5 BAMUM LETTER PHASE-D FAA
-+<U00016966> /xf0/x96/xa5/xa6 BAMUM LETTER PHASE-E NDAP
-+<U00016967> /xf0/x96/xa5/xa7 BAMUM LETTER PHASE-E TOON
-+<U00016968> /xf0/x96/xa5/xa8 BAMUM LETTER PHASE-E MBEUM
-+<U00016969> /xf0/x96/xa5/xa9 BAMUM LETTER PHASE-E LAP
-+<U0001696A> /xf0/x96/xa5/xaa BAMUM LETTER PHASE-E VOM
-+<U0001696B> /xf0/x96/xa5/xab BAMUM LETTER PHASE-E LOON
-+<U0001696C> /xf0/x96/xa5/xac BAMUM LETTER PHASE-E PAA
-+<U0001696D> /xf0/x96/xa5/xad BAMUM LETTER PHASE-E SOM
-+<U0001696E> /xf0/x96/xa5/xae BAMUM LETTER PHASE-E RAQ
-+<U0001696F> /xf0/x96/xa5/xaf BAMUM LETTER PHASE-E NSHUOP
-+<U00016970> /xf0/x96/xa5/xb0 BAMUM LETTER PHASE-E NDUN
-+<U00016971> /xf0/x96/xa5/xb1 BAMUM LETTER PHASE-E PUAE
-+<U00016972> /xf0/x96/xa5/xb2 BAMUM LETTER PHASE-E TAM
-+<U00016973> /xf0/x96/xa5/xb3 BAMUM LETTER PHASE-E NGKA
-+<U00016974> /xf0/x96/xa5/xb4 BAMUM LETTER PHASE-E KPEUX
-+<U00016975> /xf0/x96/xa5/xb5 BAMUM LETTER PHASE-E WUO
-+<U00016976> /xf0/x96/xa5/xb6 BAMUM LETTER PHASE-E SEE
-+<U00016977> /xf0/x96/xa5/xb7 BAMUM LETTER PHASE-E NGGEUAET
-+<U00016978> /xf0/x96/xa5/xb8 BAMUM LETTER PHASE-E PAAM
-+<U00016979> /xf0/x96/xa5/xb9 BAMUM LETTER PHASE-E TOO
-+<U0001697A> /xf0/x96/xa5/xba BAMUM LETTER PHASE-E KUOP
-+<U0001697B> /xf0/x96/xa5/xbb BAMUM LETTER PHASE-E LOM
-+<U0001697C> /xf0/x96/xa5/xbc BAMUM LETTER PHASE-E NSHIEE
-+<U0001697D> /xf0/x96/xa5/xbd BAMUM LETTER PHASE-E NGOP
-+<U0001697E> /xf0/x96/xa5/xbe BAMUM LETTER PHASE-E MAEM
-+<U0001697F> /xf0/x96/xa5/xbf BAMUM LETTER PHASE-E NGKEUX
-+<U00016980> /xf0/x96/xa6/x80 BAMUM LETTER PHASE-E NGOQ
-+<U00016981> /xf0/x96/xa6/x81 BAMUM LETTER PHASE-E NSHUE
-+<U00016982> /xf0/x96/xa6/x82 BAMUM LETTER PHASE-E RIMGBA
-+<U00016983> /xf0/x96/xa6/x83 BAMUM LETTER PHASE-E NJEUX
-+<U00016984> /xf0/x96/xa6/x84 BAMUM LETTER PHASE-E PEEM
-+<U00016985> /xf0/x96/xa6/x85 BAMUM LETTER PHASE-E SAA
-+<U00016986> /xf0/x96/xa6/x86 BAMUM LETTER PHASE-E NGGURAE
-+<U00016987> /xf0/x96/xa6/x87 BAMUM LETTER PHASE-E MGBA
-+<U00016988> /xf0/x96/xa6/x88 BAMUM LETTER PHASE-E GHEUX
-+<U00016989> /xf0/x96/xa6/x89 BAMUM LETTER PHASE-E NGKEUAEM
-+<U0001698A> /xf0/x96/xa6/x8a BAMUM LETTER PHASE-E NJAEMLI
-+<U0001698B> /xf0/x96/xa6/x8b BAMUM LETTER PHASE-E MAP
-+<U0001698C> /xf0/x96/xa6/x8c BAMUM LETTER PHASE-E LOOT
-+<U0001698D> /xf0/x96/xa6/x8d BAMUM LETTER PHASE-E NGGEEEE
-+<U0001698E> /xf0/x96/xa6/x8e BAMUM LETTER PHASE-E NDIQ
-+<U0001698F> /xf0/x96/xa6/x8f BAMUM LETTER PHASE-E TAEN NTEUM
-+<U00016990> /xf0/x96/xa6/x90 BAMUM LETTER PHASE-E SET
-+<U00016991> /xf0/x96/xa6/x91 BAMUM LETTER PHASE-E PUM
-+<U00016992> /xf0/x96/xa6/x92 BAMUM LETTER PHASE-E NDAA SOFTNESS
-+<U00016993> /xf0/x96/xa6/x93 BAMUM LETTER PHASE-E NGGUAESHAE NYAM
-+<U00016994> /xf0/x96/xa6/x94 BAMUM LETTER PHASE-E YIEE
-+<U00016995> /xf0/x96/xa6/x95 BAMUM LETTER PHASE-E GHEUN
-+<U00016996> /xf0/x96/xa6/x96 BAMUM LETTER PHASE-E TUAE
-+<U00016997> /xf0/x96/xa6/x97 BAMUM LETTER PHASE-E YEUAE
-+<U00016998> /xf0/x96/xa6/x98 BAMUM LETTER PHASE-E PO
-+<U00016999> /xf0/x96/xa6/x99 BAMUM LETTER PHASE-E TUMAE
-+<U0001699A> /xf0/x96/xa6/x9a BAMUM LETTER PHASE-E KEUAE
-+<U0001699B> /xf0/x96/xa6/x9b BAMUM LETTER PHASE-E SUAEN
-+<U0001699C> /xf0/x96/xa6/x9c BAMUM LETTER PHASE-E TEUAEQ
-+<U0001699D> /xf0/x96/xa6/x9d BAMUM LETTER PHASE-E VEUAE
-+<U0001699E> /xf0/x96/xa6/x9e BAMUM LETTER PHASE-E WEUX
-+<U0001699F> /xf0/x96/xa6/x9f BAMUM LETTER PHASE-E LAAM
-+<U000169A0> /xf0/x96/xa6/xa0 BAMUM LETTER PHASE-E PU
-+<U000169A1> /xf0/x96/xa6/xa1 BAMUM LETTER PHASE-E TAAQ
-+<U000169A2> /xf0/x96/xa6/xa2 BAMUM LETTER PHASE-E GHAAMAE
-+<U000169A3> /xf0/x96/xa6/xa3 BAMUM LETTER PHASE-E NGEUREUT
-+<U000169A4> /xf0/x96/xa6/xa4 BAMUM LETTER PHASE-E SHEUAEQ
-+<U000169A5> /xf0/x96/xa6/xa5 BAMUM LETTER PHASE-E MGBEN
-+<U000169A6> /xf0/x96/xa6/xa6 BAMUM LETTER PHASE-E MBEE
-+<U000169A7> /xf0/x96/xa6/xa7 BAMUM LETTER PHASE-E NZAQ
-+<U000169A8> /xf0/x96/xa6/xa8 BAMUM LETTER PHASE-E NKOM
-+<U000169A9> /xf0/x96/xa6/xa9 BAMUM LETTER PHASE-E GBET
-+<U000169AA> /xf0/x96/xa6/xaa BAMUM LETTER PHASE-E TUM
-+<U000169AB> /xf0/x96/xa6/xab BAMUM LETTER PHASE-E KUET
-+<U000169AC> /xf0/x96/xa6/xac BAMUM LETTER PHASE-E YAP
-+<U000169AD> /xf0/x96/xa6/xad BAMUM LETTER PHASE-E NYI CLEAVER
-+<U000169AE> /xf0/x96/xa6/xae BAMUM LETTER PHASE-E YIT
-+<U000169AF> /xf0/x96/xa6/xaf BAMUM LETTER PHASE-E MFEUQ
-+<U000169B0> /xf0/x96/xa6/xb0 BAMUM LETTER PHASE-E NDIAQ
-+<U000169B1> /xf0/x96/xa6/xb1 BAMUM LETTER PHASE-E PIEEQ
-+<U000169B2> /xf0/x96/xa6/xb2 BAMUM LETTER PHASE-E YUEQ
-+<U000169B3> /xf0/x96/xa6/xb3 BAMUM LETTER PHASE-E LEUAEM
-+<U000169B4> /xf0/x96/xa6/xb4 BAMUM LETTER PHASE-E FUE
-+<U000169B5> /xf0/x96/xa6/xb5 BAMUM LETTER PHASE-E GBEUX
-+<U000169B6> /xf0/x96/xa6/xb6 BAMUM LETTER PHASE-E NGKUP
-+<U000169B7> /xf0/x96/xa6/xb7 BAMUM LETTER PHASE-E KET
-+<U000169B8> /xf0/x96/xa6/xb8 BAMUM LETTER PHASE-E MAE
-+<U000169B9> /xf0/x96/xa6/xb9 BAMUM LETTER PHASE-E NGKAAMI
-+<U000169BA> /xf0/x96/xa6/xba BAMUM LETTER PHASE-E GHET
-+<U000169BB> /xf0/x96/xa6/xbb BAMUM LETTER PHASE-E FA
-+<U000169BC> /xf0/x96/xa6/xbc BAMUM LETTER PHASE-E NTUM
-+<U000169BD> /xf0/x96/xa6/xbd BAMUM LETTER PHASE-E PEUT
-+<U000169BE> /xf0/x96/xa6/xbe BAMUM LETTER PHASE-E YEUM
-+<U000169BF> /xf0/x96/xa6/xbf BAMUM LETTER PHASE-E NGGEUAE
-+<U000169C0> /xf0/x96/xa7/x80 BAMUM LETTER PHASE-E NYI BETWEEN
-+<U000169C1> /xf0/x96/xa7/x81 BAMUM LETTER PHASE-E NZUQ
-+<U000169C2> /xf0/x96/xa7/x82 BAMUM LETTER PHASE-E POON
-+<U000169C3> /xf0/x96/xa7/x83 BAMUM LETTER PHASE-E MIEE
-+<U000169C4> /xf0/x96/xa7/x84 BAMUM LETTER PHASE-E FUET
-+<U000169C5> /xf0/x96/xa7/x85 BAMUM LETTER PHASE-E NAE
-+<U000169C6> /xf0/x96/xa7/x86 BAMUM LETTER PHASE-E MUAE
-+<U000169C7> /xf0/x96/xa7/x87 BAMUM LETTER PHASE-E GHEUAE
-+<U000169C8> /xf0/x96/xa7/x88 BAMUM LETTER PHASE-E FU I
-+<U000169C9> /xf0/x96/xa7/x89 BAMUM LETTER PHASE-E MVI
-+<U000169CA> /xf0/x96/xa7/x8a BAMUM LETTER PHASE-E PUAQ
-+<U000169CB> /xf0/x96/xa7/x8b BAMUM LETTER PHASE-E NGKUM
-+<U000169CC> /xf0/x96/xa7/x8c BAMUM LETTER PHASE-E KUT
-+<U000169CD> /xf0/x96/xa7/x8d BAMUM LETTER PHASE-E PIET
-+<U000169CE> /xf0/x96/xa7/x8e BAMUM LETTER PHASE-E NTAP
-+<U000169CF> /xf0/x96/xa7/x8f BAMUM LETTER PHASE-E YEUAET
-+<U000169D0> /xf0/x96/xa7/x90 BAMUM LETTER PHASE-E NGGUP
-+<U000169D1> /xf0/x96/xa7/x91 BAMUM LETTER PHASE-E PA PEOPLE
-+<U000169D2> /xf0/x96/xa7/x92 BAMUM LETTER PHASE-E FU CALL
-+<U000169D3> /xf0/x96/xa7/x93 BAMUM LETTER PHASE-E FOM
-+<U000169D4> /xf0/x96/xa7/x94 BAMUM LETTER PHASE-E NJEE
-+<U000169D5> /xf0/x96/xa7/x95 BAMUM LETTER PHASE-E A
-+<U000169D6> /xf0/x96/xa7/x96 BAMUM LETTER PHASE-E TOQ
-+<U000169D7> /xf0/x96/xa7/x97 BAMUM LETTER PHASE-E O
-+<U000169D8> /xf0/x96/xa7/x98 BAMUM LETTER PHASE-E I
-+<U000169D9> /xf0/x96/xa7/x99 BAMUM LETTER PHASE-E LAQ
-+<U000169DA> /xf0/x96/xa7/x9a BAMUM LETTER PHASE-E PA PLURAL
-+<U000169DB> /xf0/x96/xa7/x9b BAMUM LETTER PHASE-E TAA
-+<U000169DC> /xf0/x96/xa7/x9c BAMUM LETTER PHASE-E TAQ
-+<U000169DD> /xf0/x96/xa7/x9d BAMUM LETTER PHASE-E NDAA MY HOUSE
-+<U000169DE> /xf0/x96/xa7/x9e BAMUM LETTER PHASE-E SHIQ
-+<U000169DF> /xf0/x96/xa7/x9f BAMUM LETTER PHASE-E YEUX
-+<U000169E0> /xf0/x96/xa7/xa0 BAMUM LETTER PHASE-E NGUAE
-+<U000169E1> /xf0/x96/xa7/xa1 BAMUM LETTER PHASE-E YUAEN
-+<U000169E2> /xf0/x96/xa7/xa2 BAMUM LETTER PHASE-E YOQ SWIMMING
-+<U000169E3> /xf0/x96/xa7/xa3 BAMUM LETTER PHASE-E YOQ COVER
-+<U000169E4> /xf0/x96/xa7/xa4 BAMUM LETTER PHASE-E YUQ
-+<U000169E5> /xf0/x96/xa7/xa5 BAMUM LETTER PHASE-E YUN
-+<U000169E6> /xf0/x96/xa7/xa6 BAMUM LETTER PHASE-E KEUX
-+<U000169E7> /xf0/x96/xa7/xa7 BAMUM LETTER PHASE-E PEUX
-+<U000169E8> /xf0/x96/xa7/xa8 BAMUM LETTER PHASE-E NJEE EPOCH
-+<U000169E9> /xf0/x96/xa7/xa9 BAMUM LETTER PHASE-E PUE
-+<U000169EA> /xf0/x96/xa7/xaa BAMUM LETTER PHASE-E WUE
-+<U000169EB> /xf0/x96/xa7/xab BAMUM LETTER PHASE-E FEE
-+<U000169EC> /xf0/x96/xa7/xac BAMUM LETTER PHASE-E VEE
-+<U000169ED> /xf0/x96/xa7/xad BAMUM LETTER PHASE-E LU
-+<U000169EE> /xf0/x96/xa7/xae BAMUM LETTER PHASE-E MI
-+<U000169EF> /xf0/x96/xa7/xaf BAMUM LETTER PHASE-E REUX
-+<U000169F0> /xf0/x96/xa7/xb0 BAMUM LETTER PHASE-E RAE
-+<U000169F1> /xf0/x96/xa7/xb1 BAMUM LETTER PHASE-E NGUAET
-+<U000169F2> /xf0/x96/xa7/xb2 BAMUM LETTER PHASE-E NGA
-+<U000169F3> /xf0/x96/xa7/xb3 BAMUM LETTER PHASE-E SHO
-+<U000169F4> /xf0/x96/xa7/xb4 BAMUM LETTER PHASE-E SHOQ
-+<U000169F5> /xf0/x96/xa7/xb5 BAMUM LETTER PHASE-E FU REMEDY
-+<U000169F6> /xf0/x96/xa7/xb6 BAMUM LETTER PHASE-E NA
-+<U000169F7> /xf0/x96/xa7/xb7 BAMUM LETTER PHASE-E PI
-+<U000169F8> /xf0/x96/xa7/xb8 BAMUM LETTER PHASE-E LOQ
-+<U000169F9> /xf0/x96/xa7/xb9 BAMUM LETTER PHASE-E KO
-+<U000169FA> /xf0/x96/xa7/xba BAMUM LETTER PHASE-E MEN
-+<U000169FB> /xf0/x96/xa7/xbb BAMUM LETTER PHASE-E MA
-+<U000169FC> /xf0/x96/xa7/xbc BAMUM LETTER PHASE-E MAQ
-+<U000169FD> /xf0/x96/xa7/xbd BAMUM LETTER PHASE-E TEU
-+<U000169FE> /xf0/x96/xa7/xbe BAMUM LETTER PHASE-E KI
-+<U000169FF> /xf0/x96/xa7/xbf BAMUM LETTER PHASE-E MON
-+<U00016A00> /xf0/x96/xa8/x80 BAMUM LETTER PHASE-E TEN
-+<U00016A01> /xf0/x96/xa8/x81 BAMUM LETTER PHASE-E FAQ
-+<U00016A02> /xf0/x96/xa8/x82 BAMUM LETTER PHASE-E GHOM
-+<U00016A03> /xf0/x96/xa8/x83 BAMUM LETTER PHASE-F KA
-+<U00016A04> /xf0/x96/xa8/x84 BAMUM LETTER PHASE-F U
-+<U00016A05> /xf0/x96/xa8/x85 BAMUM LETTER PHASE-F KU
-+<U00016A06> /xf0/x96/xa8/x86 BAMUM LETTER PHASE-F EE
-+<U00016A07> /xf0/x96/xa8/x87 BAMUM LETTER PHASE-F REE
-+<U00016A08> /xf0/x96/xa8/x88 BAMUM LETTER PHASE-F TAE
-+<U00016A09> /xf0/x96/xa8/x89 BAMUM LETTER PHASE-F NYI
-+<U00016A0A> /xf0/x96/xa8/x8a BAMUM LETTER PHASE-F LA
-+<U00016A0B> /xf0/x96/xa8/x8b BAMUM LETTER PHASE-F RII
-+<U00016A0C> /xf0/x96/xa8/x8c BAMUM LETTER PHASE-F RIEE
-+<U00016A0D> /xf0/x96/xa8/x8d BAMUM LETTER PHASE-F MEEEE
-+<U00016A0E> /xf0/x96/xa8/x8e BAMUM LETTER PHASE-F TAA
-+<U00016A0F> /xf0/x96/xa8/x8f BAMUM LETTER PHASE-F NDAA
-+<U00016A10> /xf0/x96/xa8/x90 BAMUM LETTER PHASE-F NJAEM
-+<U00016A11> /xf0/x96/xa8/x91 BAMUM LETTER PHASE-F M
-+<U00016A12> /xf0/x96/xa8/x92 BAMUM LETTER PHASE-F SUU
-+<U00016A13> /xf0/x96/xa8/x93 BAMUM LETTER PHASE-F SHII
-+<U00016A14> /xf0/x96/xa8/x94 BAMUM LETTER PHASE-F SI
-+<U00016A15> /xf0/x96/xa8/x95 BAMUM LETTER PHASE-F SEUX
-+<U00016A16> /xf0/x96/xa8/x96 BAMUM LETTER PHASE-F KYEE
-+<U00016A17> /xf0/x96/xa8/x97 BAMUM LETTER PHASE-F KET
-+<U00016A18> /xf0/x96/xa8/x98 BAMUM LETTER PHASE-F NUAE
-+<U00016A19> /xf0/x96/xa8/x99 BAMUM LETTER PHASE-F NU
-+<U00016A1A> /xf0/x96/xa8/x9a BAMUM LETTER PHASE-F NJUAE
-+<U00016A1B> /xf0/x96/xa8/x9b BAMUM LETTER PHASE-F YOQ
-+<U00016A1C> /xf0/x96/xa8/x9c BAMUM LETTER PHASE-F SHU
-+<U00016A1D> /xf0/x96/xa8/x9d BAMUM LETTER PHASE-F YA
-+<U00016A1E> /xf0/x96/xa8/x9e BAMUM LETTER PHASE-F NSHA
-+<U00016A1F> /xf0/x96/xa8/x9f BAMUM LETTER PHASE-F PEUX
-+<U00016A20> /xf0/x96/xa8/xa0 BAMUM LETTER PHASE-F NTEE
-+<U00016A21> /xf0/x96/xa8/xa1 BAMUM LETTER PHASE-F WUE
-+<U00016A22> /xf0/x96/xa8/xa2 BAMUM LETTER PHASE-F PEE
-+<U00016A23> /xf0/x96/xa8/xa3 BAMUM LETTER PHASE-F RU
-+<U00016A24> /xf0/x96/xa8/xa4 BAMUM LETTER PHASE-F NI
-+<U00016A25> /xf0/x96/xa8/xa5 BAMUM LETTER PHASE-F REUX
-+<U00016A26> /xf0/x96/xa8/xa6 BAMUM LETTER PHASE-F KEN
-+<U00016A27> /xf0/x96/xa8/xa7 BAMUM LETTER PHASE-F NGKWAEN
-+<U00016A28> /xf0/x96/xa8/xa8 BAMUM LETTER PHASE-F NGGA
-+<U00016A29> /xf0/x96/xa8/xa9 BAMUM LETTER PHASE-F SHO
-+<U00016A2A> /xf0/x96/xa8/xaa BAMUM LETTER PHASE-F PUAE
-+<U00016A2B> /xf0/x96/xa8/xab BAMUM LETTER PHASE-F FOM
-+<U00016A2C> /xf0/x96/xa8/xac BAMUM LETTER PHASE-F WA
-+<U00016A2D> /xf0/x96/xa8/xad BAMUM LETTER PHASE-F LI
-+<U00016A2E> /xf0/x96/xa8/xae BAMUM LETTER PHASE-F LOQ
-+<U00016A2F> /xf0/x96/xa8/xaf BAMUM LETTER PHASE-F KO
-+<U00016A30> /xf0/x96/xa8/xb0 BAMUM LETTER PHASE-F MBEN
-+<U00016A31> /xf0/x96/xa8/xb1 BAMUM LETTER PHASE-F REN
-+<U00016A32> /xf0/x96/xa8/xb2 BAMUM LETTER PHASE-F MA
-+<U00016A33> /xf0/x96/xa8/xb3 BAMUM LETTER PHASE-F MO
-+<U00016A34> /xf0/x96/xa8/xb4 BAMUM LETTER PHASE-F MBAA
-+<U00016A35> /xf0/x96/xa8/xb5 BAMUM LETTER PHASE-F TET
-+<U00016A36> /xf0/x96/xa8/xb6 BAMUM LETTER PHASE-F KPA
-+<U00016A37> /xf0/x96/xa8/xb7 BAMUM LETTER PHASE-F SAMBA
-+<U00016A38> /xf0/x96/xa8/xb8 BAMUM LETTER PHASE-F VUEQ
-+<U0001B000> /xf0/x9b/x80/x80 KATAKANA LETTER ARCHAIC E
-+<U0001B001> /xf0/x9b/x80/x81 HIRAGANA LETTER ARCHAIC YE
- <U0001D000> /xf0/x9d/x80/x80 BYZANTINE MUSICAL SYMBOL PSILI
- <U0001D001> /xf0/x9d/x80/x81 BYZANTINE MUSICAL SYMBOL DASEIA
- <U0001D002> /xf0/x9d/x80/x82 BYZANTINE MUSICAL SYMBOL PERISPOMENI
-@@ -30151,6 +33445,1091 @@ CHARMAP
- <U0001F091> /xf0/x9f/x82/x91 DOMINO TILE VERTICAL-06-04
- <U0001F092> /xf0/x9f/x82/x92 DOMINO TILE VERTICAL-06-05
- <U0001F093> /xf0/x9f/x82/x93 DOMINO TILE VERTICAL-06-06
-+<U0001F0A0> /xf0/x9f/x82/xa0 PLAYING CARD BACK
-+<U0001F0A1> /xf0/x9f/x82/xa1 PLAYING CARD ACE OF SPADES
-+<U0001F0A2> /xf0/x9f/x82/xa2 PLAYING CARD TWO OF SPADES
-+<U0001F0A3> /xf0/x9f/x82/xa3 PLAYING CARD THREE OF SPADES
-+<U0001F0A4> /xf0/x9f/x82/xa4 PLAYING CARD FOUR OF SPADES
-+<U0001F0A5> /xf0/x9f/x82/xa5 PLAYING CARD FIVE OF SPADES
-+<U0001F0A6> /xf0/x9f/x82/xa6 PLAYING CARD SIX OF SPADES
-+<U0001F0A7> /xf0/x9f/x82/xa7 PLAYING CARD SEVEN OF SPADES
-+<U0001F0A8> /xf0/x9f/x82/xa8 PLAYING CARD EIGHT OF SPADES
-+<U0001F0A9> /xf0/x9f/x82/xa9 PLAYING CARD NINE OF SPADES
-+<U0001F0AA> /xf0/x9f/x82/xaa PLAYING CARD TEN OF SPADES
-+<U0001F0AB> /xf0/x9f/x82/xab PLAYING CARD JACK OF SPADES
-+<U0001F0AC> /xf0/x9f/x82/xac PLAYING CARD KNIGHT OF SPADES
-+<U0001F0AD> /xf0/x9f/x82/xad PLAYING CARD QUEEN OF SPADES
-+<U0001F0AE> /xf0/x9f/x82/xae PLAYING CARD KING OF SPADES
-+<U0001F0B1> /xf0/x9f/x82/xb1 PLAYING CARD ACE OF HEARTS
-+<U0001F0B2> /xf0/x9f/x82/xb2 PLAYING CARD TWO OF HEARTS
-+<U0001F0B3> /xf0/x9f/x82/xb3 PLAYING CARD THREE OF HEARTS
-+<U0001F0B4> /xf0/x9f/x82/xb4 PLAYING CARD FOUR OF HEARTS
-+<U0001F0B5> /xf0/x9f/x82/xb5 PLAYING CARD FIVE OF HEARTS
-+<U0001F0B6> /xf0/x9f/x82/xb6 PLAYING CARD SIX OF HEARTS
-+<U0001F0B7> /xf0/x9f/x82/xb7 PLAYING CARD SEVEN OF HEARTS
-+<U0001F0B8> /xf0/x9f/x82/xb8 PLAYING CARD EIGHT OF HEARTS
-+<U0001F0B9> /xf0/x9f/x82/xb9 PLAYING CARD NINE OF HEARTS
-+<U0001F0BA> /xf0/x9f/x82/xba PLAYING CARD TEN OF HEARTS
-+<U0001F0BB> /xf0/x9f/x82/xbb PLAYING CARD JACK OF HEARTS
-+<U0001F0BC> /xf0/x9f/x82/xbc PLAYING CARD KNIGHT OF HEARTS
-+<U0001F0BD> /xf0/x9f/x82/xbd PLAYING CARD QUEEN OF HEARTS
-+<U0001F0BE> /xf0/x9f/x82/xbe PLAYING CARD KING OF HEARTS
-+<U0001F0C1> /xf0/x9f/x83/x81 PLAYING CARD ACE OF DIAMONDS
-+<U0001F0C2> /xf0/x9f/x83/x82 PLAYING CARD TWO OF DIAMONDS
-+<U0001F0C3> /xf0/x9f/x83/x83 PLAYING CARD THREE OF DIAMONDS
-+<U0001F0C4> /xf0/x9f/x83/x84 PLAYING CARD FOUR OF DIAMONDS
-+<U0001F0C5> /xf0/x9f/x83/x85 PLAYING CARD FIVE OF DIAMONDS
-+<U0001F0C6> /xf0/x9f/x83/x86 PLAYING CARD SIX OF DIAMONDS
-+<U0001F0C7> /xf0/x9f/x83/x87 PLAYING CARD SEVEN OF DIAMONDS
-+<U0001F0C8> /xf0/x9f/x83/x88 PLAYING CARD EIGHT OF DIAMONDS
-+<U0001F0C9> /xf0/x9f/x83/x89 PLAYING CARD NINE OF DIAMONDS
-+<U0001F0CA> /xf0/x9f/x83/x8a PLAYING CARD TEN OF DIAMONDS
-+<U0001F0CB> /xf0/x9f/x83/x8b PLAYING CARD JACK OF DIAMONDS
-+<U0001F0CC> /xf0/x9f/x83/x8c PLAYING CARD KNIGHT OF DIAMONDS
-+<U0001F0CD> /xf0/x9f/x83/x8d PLAYING CARD QUEEN OF DIAMONDS
-+<U0001F0CE> /xf0/x9f/x83/x8e PLAYING CARD KING OF DIAMONDS
-+<U0001F0CF> /xf0/x9f/x83/x8f PLAYING CARD BLACK JOKER
-+<U0001F0D1> /xf0/x9f/x83/x91 PLAYING CARD ACE OF CLUBS
-+<U0001F0D2> /xf0/x9f/x83/x92 PLAYING CARD TWO OF CLUBS
-+<U0001F0D3> /xf0/x9f/x83/x93 PLAYING CARD THREE OF CLUBS
-+<U0001F0D4> /xf0/x9f/x83/x94 PLAYING CARD FOUR OF CLUBS
-+<U0001F0D5> /xf0/x9f/x83/x95 PLAYING CARD FIVE OF CLUBS
-+<U0001F0D6> /xf0/x9f/x83/x96 PLAYING CARD SIX OF CLUBS
-+<U0001F0D7> /xf0/x9f/x83/x97 PLAYING CARD SEVEN OF CLUBS
-+<U0001F0D8> /xf0/x9f/x83/x98 PLAYING CARD EIGHT OF CLUBS
-+<U0001F0D9> /xf0/x9f/x83/x99 PLAYING CARD NINE OF CLUBS
-+<U0001F0DA> /xf0/x9f/x83/x9a PLAYING CARD TEN OF CLUBS
-+<U0001F0DB> /xf0/x9f/x83/x9b PLAYING CARD JACK OF CLUBS
-+<U0001F0DC> /xf0/x9f/x83/x9c PLAYING CARD KNIGHT OF CLUBS
-+<U0001F0DD> /xf0/x9f/x83/x9d PLAYING CARD QUEEN OF CLUBS
-+<U0001F0DE> /xf0/x9f/x83/x9e PLAYING CARD KING OF CLUBS
-+<U0001F0DF> /xf0/x9f/x83/x9f PLAYING CARD WHITE JOKER
-+<U0001F100> /xf0/x9f/x84/x80 DIGIT ZERO FULL STOP
-+<U0001F101> /xf0/x9f/x84/x81 DIGIT ZERO COMMA
-+<U0001F102> /xf0/x9f/x84/x82 DIGIT ONE COMMA
-+<U0001F103> /xf0/x9f/x84/x83 DIGIT TWO COMMA
-+<U0001F104> /xf0/x9f/x84/x84 DIGIT THREE COMMA
-+<U0001F105> /xf0/x9f/x84/x85 DIGIT FOUR COMMA
-+<U0001F106> /xf0/x9f/x84/x86 DIGIT FIVE COMMA
-+<U0001F107> /xf0/x9f/x84/x87 DIGIT SIX COMMA
-+<U0001F108> /xf0/x9f/x84/x88 DIGIT SEVEN COMMA
-+<U0001F109> /xf0/x9f/x84/x89 DIGIT EIGHT COMMA
-+<U0001F10A> /xf0/x9f/x84/x8a DIGIT NINE COMMA
-+<U0001F110> /xf0/x9f/x84/x90 PARENTHESIZED LATIN CAPITAL LETTER A
-+<U0001F111> /xf0/x9f/x84/x91 PARENTHESIZED LATIN CAPITAL LETTER B
-+<U0001F112> /xf0/x9f/x84/x92 PARENTHESIZED LATIN CAPITAL LETTER C
-+<U0001F113> /xf0/x9f/x84/x93 PARENTHESIZED LATIN CAPITAL LETTER D
-+<U0001F114> /xf0/x9f/x84/x94 PARENTHESIZED LATIN CAPITAL LETTER E
-+<U0001F115> /xf0/x9f/x84/x95 PARENTHESIZED LATIN CAPITAL LETTER F
-+<U0001F116> /xf0/x9f/x84/x96 PARENTHESIZED LATIN CAPITAL LETTER G
-+<U0001F117> /xf0/x9f/x84/x97 PARENTHESIZED LATIN CAPITAL LETTER H
-+<U0001F118> /xf0/x9f/x84/x98 PARENTHESIZED LATIN CAPITAL LETTER I
-+<U0001F119> /xf0/x9f/x84/x99 PARENTHESIZED LATIN CAPITAL LETTER J
-+<U0001F11A> /xf0/x9f/x84/x9a PARENTHESIZED LATIN CAPITAL LETTER K
-+<U0001F11B> /xf0/x9f/x84/x9b PARENTHESIZED LATIN CAPITAL LETTER L
-+<U0001F11C> /xf0/x9f/x84/x9c PARENTHESIZED LATIN CAPITAL LETTER M
-+<U0001F11D> /xf0/x9f/x84/x9d PARENTHESIZED LATIN CAPITAL LETTER N
-+<U0001F11E> /xf0/x9f/x84/x9e PARENTHESIZED LATIN CAPITAL LETTER O
-+<U0001F11F> /xf0/x9f/x84/x9f PARENTHESIZED LATIN CAPITAL LETTER P
-+<U0001F120> /xf0/x9f/x84/xa0 PARENTHESIZED LATIN CAPITAL LETTER Q
-+<U0001F121> /xf0/x9f/x84/xa1 PARENTHESIZED LATIN CAPITAL LETTER R
-+<U0001F122> /xf0/x9f/x84/xa2 PARENTHESIZED LATIN CAPITAL LETTER S
-+<U0001F123> /xf0/x9f/x84/xa3 PARENTHESIZED LATIN CAPITAL LETTER T
-+<U0001F124> /xf0/x9f/x84/xa4 PARENTHESIZED LATIN CAPITAL LETTER U
-+<U0001F125> /xf0/x9f/x84/xa5 PARENTHESIZED LATIN CAPITAL LETTER V
-+<U0001F126> /xf0/x9f/x84/xa6 PARENTHESIZED LATIN CAPITAL LETTER W
-+<U0001F127> /xf0/x9f/x84/xa7 PARENTHESIZED LATIN CAPITAL LETTER X
-+<U0001F128> /xf0/x9f/x84/xa8 PARENTHESIZED LATIN CAPITAL LETTER Y
-+<U0001F129> /xf0/x9f/x84/xa9 PARENTHESIZED LATIN CAPITAL LETTER Z
-+<U0001F12A> /xf0/x9f/x84/xaa TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S
-+<U0001F12B> /xf0/x9f/x84/xab CIRCLED ITALIC LATIN CAPITAL LETTER C
-+<U0001F12C> /xf0/x9f/x84/xac CIRCLED ITALIC LATIN CAPITAL LETTER R
-+<U0001F12D> /xf0/x9f/x84/xad CIRCLED CD
-+<U0001F12E> /xf0/x9f/x84/xae CIRCLED WZ
-+<U0001F130> /xf0/x9f/x84/xb0 SQUARED LATIN CAPITAL LETTER A
-+<U0001F131> /xf0/x9f/x84/xb1 SQUARED LATIN CAPITAL LETTER B
-+<U0001F132> /xf0/x9f/x84/xb2 SQUARED LATIN CAPITAL LETTER C
-+<U0001F133> /xf0/x9f/x84/xb3 SQUARED LATIN CAPITAL LETTER D
-+<U0001F134> /xf0/x9f/x84/xb4 SQUARED LATIN CAPITAL LETTER E
-+<U0001F135> /xf0/x9f/x84/xb5 SQUARED LATIN CAPITAL LETTER F
-+<U0001F136> /xf0/x9f/x84/xb6 SQUARED LATIN CAPITAL LETTER G
-+<U0001F137> /xf0/x9f/x84/xb7 SQUARED LATIN CAPITAL LETTER H
-+<U0001F138> /xf0/x9f/x84/xb8 SQUARED LATIN CAPITAL LETTER I
-+<U0001F139> /xf0/x9f/x84/xb9 SQUARED LATIN CAPITAL LETTER J
-+<U0001F13A> /xf0/x9f/x84/xba SQUARED LATIN CAPITAL LETTER K
-+<U0001F13B> /xf0/x9f/x84/xbb SQUARED LATIN CAPITAL LETTER L
-+<U0001F13C> /xf0/x9f/x84/xbc SQUARED LATIN CAPITAL LETTER M
-+<U0001F13D> /xf0/x9f/x84/xbd SQUARED LATIN CAPITAL LETTER N
-+<U0001F13E> /xf0/x9f/x84/xbe SQUARED LATIN CAPITAL LETTER O
-+<U0001F13F> /xf0/x9f/x84/xbf SQUARED LATIN CAPITAL LETTER P
-+<U0001F140> /xf0/x9f/x85/x80 SQUARED LATIN CAPITAL LETTER Q
-+<U0001F141> /xf0/x9f/x85/x81 SQUARED LATIN CAPITAL LETTER R
-+<U0001F142> /xf0/x9f/x85/x82 SQUARED LATIN CAPITAL LETTER S
-+<U0001F143> /xf0/x9f/x85/x83 SQUARED LATIN CAPITAL LETTER T
-+<U0001F144> /xf0/x9f/x85/x84 SQUARED LATIN CAPITAL LETTER U
-+<U0001F145> /xf0/x9f/x85/x85 SQUARED LATIN CAPITAL LETTER V
-+<U0001F146> /xf0/x9f/x85/x86 SQUARED LATIN CAPITAL LETTER W
-+<U0001F147> /xf0/x9f/x85/x87 SQUARED LATIN CAPITAL LETTER X
-+<U0001F148> /xf0/x9f/x85/x88 SQUARED LATIN CAPITAL LETTER Y
-+<U0001F149> /xf0/x9f/x85/x89 SQUARED LATIN CAPITAL LETTER Z
-+<U0001F14A> /xf0/x9f/x85/x8a SQUARED HV
-+<U0001F14B> /xf0/x9f/x85/x8b SQUARED MV
-+<U0001F14C> /xf0/x9f/x85/x8c SQUARED SD
-+<U0001F14D> /xf0/x9f/x85/x8d SQUARED SS
-+<U0001F14E> /xf0/x9f/x85/x8e SQUARED PPV
-+<U0001F14F> /xf0/x9f/x85/x8f SQUARED WC
-+<U0001F150> /xf0/x9f/x85/x90 NEGATIVE CIRCLED LATIN CAPITAL LETTER A
-+<U0001F151> /xf0/x9f/x85/x91 NEGATIVE CIRCLED LATIN CAPITAL LETTER B
-+<U0001F152> /xf0/x9f/x85/x92 NEGATIVE CIRCLED LATIN CAPITAL LETTER C
-+<U0001F153> /xf0/x9f/x85/x93 NEGATIVE CIRCLED LATIN CAPITAL LETTER D
-+<U0001F154> /xf0/x9f/x85/x94 NEGATIVE CIRCLED LATIN CAPITAL LETTER E
-+<U0001F155> /xf0/x9f/x85/x95 NEGATIVE CIRCLED LATIN CAPITAL LETTER F
-+<U0001F156> /xf0/x9f/x85/x96 NEGATIVE CIRCLED LATIN CAPITAL LETTER G
-+<U0001F157> /xf0/x9f/x85/x97 NEGATIVE CIRCLED LATIN CAPITAL LETTER H
-+<U0001F158> /xf0/x9f/x85/x98 NEGATIVE CIRCLED LATIN CAPITAL LETTER I
-+<U0001F159> /xf0/x9f/x85/x99 NEGATIVE CIRCLED LATIN CAPITAL LETTER J
-+<U0001F15A> /xf0/x9f/x85/x9a NEGATIVE CIRCLED LATIN CAPITAL LETTER K
-+<U0001F15B> /xf0/x9f/x85/x9b NEGATIVE CIRCLED LATIN CAPITAL LETTER L
-+<U0001F15C> /xf0/x9f/x85/x9c NEGATIVE CIRCLED LATIN CAPITAL LETTER M
-+<U0001F15D> /xf0/x9f/x85/x9d NEGATIVE CIRCLED LATIN CAPITAL LETTER N
-+<U0001F15E> /xf0/x9f/x85/x9e NEGATIVE CIRCLED LATIN CAPITAL LETTER O
-+<U0001F15F> /xf0/x9f/x85/x9f NEGATIVE CIRCLED LATIN CAPITAL LETTER P
-+<U0001F160> /xf0/x9f/x85/xa0 NEGATIVE CIRCLED LATIN CAPITAL LETTER Q
-+<U0001F161> /xf0/x9f/x85/xa1 NEGATIVE CIRCLED LATIN CAPITAL LETTER R
-+<U0001F162> /xf0/x9f/x85/xa2 NEGATIVE CIRCLED LATIN CAPITAL LETTER S
-+<U0001F163> /xf0/x9f/x85/xa3 NEGATIVE CIRCLED LATIN CAPITAL LETTER T
-+<U0001F164> /xf0/x9f/x85/xa4 NEGATIVE CIRCLED LATIN CAPITAL LETTER U
-+<U0001F165> /xf0/x9f/x85/xa5 NEGATIVE CIRCLED LATIN CAPITAL LETTER V
-+<U0001F166> /xf0/x9f/x85/xa6 NEGATIVE CIRCLED LATIN CAPITAL LETTER W
-+<U0001F167> /xf0/x9f/x85/xa7 NEGATIVE CIRCLED LATIN CAPITAL LETTER X
-+<U0001F168> /xf0/x9f/x85/xa8 NEGATIVE CIRCLED LATIN CAPITAL LETTER Y
-+<U0001F169> /xf0/x9f/x85/xa9 NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
-+<U0001F170> /xf0/x9f/x85/xb0 NEGATIVE SQUARED LATIN CAPITAL LETTER A
-+<U0001F171> /xf0/x9f/x85/xb1 NEGATIVE SQUARED LATIN CAPITAL LETTER B
-+<U0001F172> /xf0/x9f/x85/xb2 NEGATIVE SQUARED LATIN CAPITAL LETTER C
-+<U0001F173> /xf0/x9f/x85/xb3 NEGATIVE SQUARED LATIN CAPITAL LETTER D
-+<U0001F174> /xf0/x9f/x85/xb4 NEGATIVE SQUARED LATIN CAPITAL LETTER E
-+<U0001F175> /xf0/x9f/x85/xb5 NEGATIVE SQUARED LATIN CAPITAL LETTER F
-+<U0001F176> /xf0/x9f/x85/xb6 NEGATIVE SQUARED LATIN CAPITAL LETTER G
-+<U0001F177> /xf0/x9f/x85/xb7 NEGATIVE SQUARED LATIN CAPITAL LETTER H
-+<U0001F178> /xf0/x9f/x85/xb8 NEGATIVE SQUARED LATIN CAPITAL LETTER I
-+<U0001F179> /xf0/x9f/x85/xb9 NEGATIVE SQUARED LATIN CAPITAL LETTER J
-+<U0001F17A> /xf0/x9f/x85/xba NEGATIVE SQUARED LATIN CAPITAL LETTER K
-+<U0001F17B> /xf0/x9f/x85/xbb NEGATIVE SQUARED LATIN CAPITAL LETTER L
-+<U0001F17C> /xf0/x9f/x85/xbc NEGATIVE SQUARED LATIN CAPITAL LETTER M
-+<U0001F17D> /xf0/x9f/x85/xbd NEGATIVE SQUARED LATIN CAPITAL LETTER N
-+<U0001F17E> /xf0/x9f/x85/xbe NEGATIVE SQUARED LATIN CAPITAL LETTER O
-+<U0001F17F> /xf0/x9f/x85/xbf NEGATIVE SQUARED LATIN CAPITAL LETTER P
-+<U0001F180> /xf0/x9f/x86/x80 NEGATIVE SQUARED LATIN CAPITAL LETTER Q
-+<U0001F181> /xf0/x9f/x86/x81 NEGATIVE SQUARED LATIN CAPITAL LETTER R
-+<U0001F182> /xf0/x9f/x86/x82 NEGATIVE SQUARED LATIN CAPITAL LETTER S
-+<U0001F183> /xf0/x9f/x86/x83 NEGATIVE SQUARED LATIN CAPITAL LETTER T
-+<U0001F184> /xf0/x9f/x86/x84 NEGATIVE SQUARED LATIN CAPITAL LETTER U
-+<U0001F185> /xf0/x9f/x86/x85 NEGATIVE SQUARED LATIN CAPITAL LETTER V
-+<U0001F186> /xf0/x9f/x86/x86 NEGATIVE SQUARED LATIN CAPITAL LETTER W
-+<U0001F187> /xf0/x9f/x86/x87 NEGATIVE SQUARED LATIN CAPITAL LETTER X
-+<U0001F188> /xf0/x9f/x86/x88 NEGATIVE SQUARED LATIN CAPITAL LETTER Y
-+<U0001F189> /xf0/x9f/x86/x89 NEGATIVE SQUARED LATIN CAPITAL LETTER Z
-+<U0001F18A> /xf0/x9f/x86/x8a CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P
-+<U0001F18B> /xf0/x9f/x86/x8b NEGATIVE SQUARED IC
-+<U0001F18C> /xf0/x9f/x86/x8c NEGATIVE SQUARED PA
-+<U0001F18D> /xf0/x9f/x86/x8d NEGATIVE SQUARED SA
-+<U0001F18E> /xf0/x9f/x86/x8e NEGATIVE SQUARED AB
-+<U0001F18F> /xf0/x9f/x86/x8f NEGATIVE SQUARED WC
-+<U0001F190> /xf0/x9f/x86/x90 SQUARE DJ
-+<U0001F191> /xf0/x9f/x86/x91 SQUARED CL
-+<U0001F192> /xf0/x9f/x86/x92 SQUARED COOL
-+<U0001F193> /xf0/x9f/x86/x93 SQUARED FREE
-+<U0001F194> /xf0/x9f/x86/x94 SQUARED ID
-+<U0001F195> /xf0/x9f/x86/x95 SQUARED NEW
-+<U0001F196> /xf0/x9f/x86/x96 SQUARED NG
-+<U0001F197> /xf0/x9f/x86/x97 SQUARED OK
-+<U0001F198> /xf0/x9f/x86/x98 SQUARED SOS
-+<U0001F199> /xf0/x9f/x86/x99 SQUARED UP WITH EXCLAMATION MARK
-+<U0001F19A> /xf0/x9f/x86/x9a SQUARED VS
-+<U0001F1E6> /xf0/x9f/x87/xa6 REGIONAL INDICATOR SYMBOL LETTER A
-+<U0001F1E7> /xf0/x9f/x87/xa7 REGIONAL INDICATOR SYMBOL LETTER B
-+<U0001F1E8> /xf0/x9f/x87/xa8 REGIONAL INDICATOR SYMBOL LETTER C
-+<U0001F1E9> /xf0/x9f/x87/xa9 REGIONAL INDICATOR SYMBOL LETTER D
-+<U0001F1EA> /xf0/x9f/x87/xaa REGIONAL INDICATOR SYMBOL LETTER E
-+<U0001F1EB> /xf0/x9f/x87/xab REGIONAL INDICATOR SYMBOL LETTER F
-+<U0001F1EC> /xf0/x9f/x87/xac REGIONAL INDICATOR SYMBOL LETTER G
-+<U0001F1ED> /xf0/x9f/x87/xad REGIONAL INDICATOR SYMBOL LETTER H
-+<U0001F1EE> /xf0/x9f/x87/xae REGIONAL INDICATOR SYMBOL LETTER I
-+<U0001F1EF> /xf0/x9f/x87/xaf REGIONAL INDICATOR SYMBOL LETTER J
-+<U0001F1F0> /xf0/x9f/x87/xb0 REGIONAL INDICATOR SYMBOL LETTER K
-+<U0001F1F1> /xf0/x9f/x87/xb1 REGIONAL INDICATOR SYMBOL LETTER L
-+<U0001F1F2> /xf0/x9f/x87/xb2 REGIONAL INDICATOR SYMBOL LETTER M
-+<U0001F1F3> /xf0/x9f/x87/xb3 REGIONAL INDICATOR SYMBOL LETTER N
-+<U0001F1F4> /xf0/x9f/x87/xb4 REGIONAL INDICATOR SYMBOL LETTER O
-+<U0001F1F5> /xf0/x9f/x87/xb5 REGIONAL INDICATOR SYMBOL LETTER P
-+<U0001F1F6> /xf0/x9f/x87/xb6 REGIONAL INDICATOR SYMBOL LETTER Q
-+<U0001F1F7> /xf0/x9f/x87/xb7 REGIONAL INDICATOR SYMBOL LETTER R
-+<U0001F1F8> /xf0/x9f/x87/xb8 REGIONAL INDICATOR SYMBOL LETTER S
-+<U0001F1F9> /xf0/x9f/x87/xb9 REGIONAL INDICATOR SYMBOL LETTER T
-+<U0001F1FA> /xf0/x9f/x87/xba REGIONAL INDICATOR SYMBOL LETTER U
-+<U0001F1FB> /xf0/x9f/x87/xbb REGIONAL INDICATOR SYMBOL LETTER V
-+<U0001F1FC> /xf0/x9f/x87/xbc REGIONAL INDICATOR SYMBOL LETTER W
-+<U0001F1FD> /xf0/x9f/x87/xbd REGIONAL INDICATOR SYMBOL LETTER X
-+<U0001F1FE> /xf0/x9f/x87/xbe REGIONAL INDICATOR SYMBOL LETTER Y
-+<U0001F1FF> /xf0/x9f/x87/xbf REGIONAL INDICATOR SYMBOL LETTER Z
-+<U0001F200> /xf0/x9f/x88/x80 SQUARE HIRAGANA HOKA
-+<U0001F201> /xf0/x9f/x88/x81 SQUARED KATAKANA KOKO
-+<U0001F202> /xf0/x9f/x88/x82 SQUARED KATAKANA SA
-+<U0001F210> /xf0/x9f/x88/x90 SQUARED CJK UNIFIED IDEOGRAPH-624B
-+<U0001F211> /xf0/x9f/x88/x91 SQUARED CJK UNIFIED IDEOGRAPH-5B57
-+<U0001F212> /xf0/x9f/x88/x92 SQUARED CJK UNIFIED IDEOGRAPH-53CC
-+<U0001F213> /xf0/x9f/x88/x93 SQUARED KATAKANA DE
-+<U0001F214> /xf0/x9f/x88/x94 SQUARED CJK UNIFIED IDEOGRAPH-4E8C
-+<U0001F215> /xf0/x9f/x88/x95 SQUARED CJK UNIFIED IDEOGRAPH-591A
-+<U0001F216> /xf0/x9f/x88/x96 SQUARED CJK UNIFIED IDEOGRAPH-89E3
-+<U0001F217> /xf0/x9f/x88/x97 SQUARED CJK UNIFIED IDEOGRAPH-5929
-+<U0001F218> /xf0/x9f/x88/x98 SQUARED CJK UNIFIED IDEOGRAPH-4EA4
-+<U0001F219> /xf0/x9f/x88/x99 SQUARED CJK UNIFIED IDEOGRAPH-6620
-+<U0001F21A> /xf0/x9f/x88/x9a SQUARED CJK UNIFIED IDEOGRAPH-7121
-+<U0001F21B> /xf0/x9f/x88/x9b SQUARED CJK UNIFIED IDEOGRAPH-6599
-+<U0001F21C> /xf0/x9f/x88/x9c SQUARED CJK UNIFIED IDEOGRAPH-524D
-+<U0001F21D> /xf0/x9f/x88/x9d SQUARED CJK UNIFIED IDEOGRAPH-5F8C
-+<U0001F21E> /xf0/x9f/x88/x9e SQUARED CJK UNIFIED IDEOGRAPH-518D
-+<U0001F21F> /xf0/x9f/x88/x9f SQUARED CJK UNIFIED IDEOGRAPH-65B0
-+<U0001F220> /xf0/x9f/x88/xa0 SQUARED CJK UNIFIED IDEOGRAPH-521D
-+<U0001F221> /xf0/x9f/x88/xa1 SQUARED CJK UNIFIED IDEOGRAPH-7D42
-+<U0001F222> /xf0/x9f/x88/xa2 SQUARED CJK UNIFIED IDEOGRAPH-751F
-+<U0001F223> /xf0/x9f/x88/xa3 SQUARED CJK UNIFIED IDEOGRAPH-8CA9
-+<U0001F224> /xf0/x9f/x88/xa4 SQUARED CJK UNIFIED IDEOGRAPH-58F0
-+<U0001F225> /xf0/x9f/x88/xa5 SQUARED CJK UNIFIED IDEOGRAPH-5439
-+<U0001F226> /xf0/x9f/x88/xa6 SQUARED CJK UNIFIED IDEOGRAPH-6F14
-+<U0001F227> /xf0/x9f/x88/xa7 SQUARED CJK UNIFIED IDEOGRAPH-6295
-+<U0001F228> /xf0/x9f/x88/xa8 SQUARED CJK UNIFIED IDEOGRAPH-6355
-+<U0001F229> /xf0/x9f/x88/xa9 SQUARED CJK UNIFIED IDEOGRAPH-4E00
-+<U0001F22A> /xf0/x9f/x88/xaa SQUARED CJK UNIFIED IDEOGRAPH-4E09
-+<U0001F22B> /xf0/x9f/x88/xab SQUARED CJK UNIFIED IDEOGRAPH-904A
-+<U0001F22C> /xf0/x9f/x88/xac SQUARED CJK UNIFIED IDEOGRAPH-5DE6
-+<U0001F22D> /xf0/x9f/x88/xad SQUARED CJK UNIFIED IDEOGRAPH-4E2D
-+<U0001F22E> /xf0/x9f/x88/xae SQUARED CJK UNIFIED IDEOGRAPH-53F3
-+<U0001F22F> /xf0/x9f/x88/xaf SQUARED CJK UNIFIED IDEOGRAPH-6307
-+<U0001F230> /xf0/x9f/x88/xb0 SQUARED CJK UNIFIED IDEOGRAPH-8D70
-+<U0001F231> /xf0/x9f/x88/xb1 SQUARED CJK UNIFIED IDEOGRAPH-6253
-+<U0001F232> /xf0/x9f/x88/xb2 SQUARED CJK UNIFIED IDEOGRAPH-7981
-+<U0001F233> /xf0/x9f/x88/xb3 SQUARED CJK UNIFIED IDEOGRAPH-7A7A
-+<U0001F234> /xf0/x9f/x88/xb4 SQUARED CJK UNIFIED IDEOGRAPH-5408
-+<U0001F235> /xf0/x9f/x88/xb5 SQUARED CJK UNIFIED IDEOGRAPH-6E80
-+<U0001F236> /xf0/x9f/x88/xb6 SQUARED CJK UNIFIED IDEOGRAPH-6709
-+<U0001F237> /xf0/x9f/x88/xb7 SQUARED CJK UNIFIED IDEOGRAPH-6708
-+<U0001F238> /xf0/x9f/x88/xb8 SQUARED CJK UNIFIED IDEOGRAPH-7533
-+<U0001F239> /xf0/x9f/x88/xb9 SQUARED CJK UNIFIED IDEOGRAPH-5272
-+<U0001F23A> /xf0/x9f/x88/xba SQUARED CJK UNIFIED IDEOGRAPH-55B6
-+<U0001F240> /xf0/x9f/x89/x80 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
-+<U0001F241> /xf0/x9f/x89/x81 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
-+<U0001F242> /xf0/x9f/x89/x82 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
-+<U0001F243> /xf0/x9f/x89/x83 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
-+<U0001F244> /xf0/x9f/x89/x84 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
-+<U0001F245> /xf0/x9f/x89/x85 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
-+<U0001F246> /xf0/x9f/x89/x86 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
-+<U0001F247> /xf0/x9f/x89/x87 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
-+<U0001F248> /xf0/x9f/x89/x88 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
-+<U0001F250> /xf0/x9f/x89/x90 CIRCLED IDEOGRAPH ADVANTAGE
-+<U0001F251> /xf0/x9f/x89/x91 CIRCLED IDEOGRAPH ACCEPT
-+<U0001F300> /xf0/x9f/x8c/x80 CYCLONE
-+<U0001F301> /xf0/x9f/x8c/x81 FOGGY
-+<U0001F302> /xf0/x9f/x8c/x82 CLOSED UMBRELLA
-+<U0001F303> /xf0/x9f/x8c/x83 NIGHT WITH STARS
-+<U0001F304> /xf0/x9f/x8c/x84 SUNRISE OVER MOUNTAINS
-+<U0001F305> /xf0/x9f/x8c/x85 SUNRISE
-+<U0001F306> /xf0/x9f/x8c/x86 CITYSCAPE AT DUSK
-+<U0001F307> /xf0/x9f/x8c/x87 SUNSET OVER BUILDINGS
-+<U0001F308> /xf0/x9f/x8c/x88 RAINBOW
-+<U0001F309> /xf0/x9f/x8c/x89 BRIDGE AT NIGHT
-+<U0001F30A> /xf0/x9f/x8c/x8a WATER WAVE
-+<U0001F30B> /xf0/x9f/x8c/x8b VOLCANO
-+<U0001F30C> /xf0/x9f/x8c/x8c MILKY WAY
-+<U0001F30D> /xf0/x9f/x8c/x8d EARTH GLOBE EUROPE-AFRICA
-+<U0001F30E> /xf0/x9f/x8c/x8e EARTH GLOBE AMERICAS
-+<U0001F30F> /xf0/x9f/x8c/x8f EARTH GLOBE ASIA-AUSTRALIA
-+<U0001F310> /xf0/x9f/x8c/x90 GLOBE WITH MERIDIANS
-+<U0001F311> /xf0/x9f/x8c/x91 NEW MOON SYMBOL
-+<U0001F312> /xf0/x9f/x8c/x92 WAXING CRESCENT MOON SYMBOL
-+<U0001F313> /xf0/x9f/x8c/x93 FIRST QUARTER MOON SYMBOL
-+<U0001F314> /xf0/x9f/x8c/x94 WAXING GIBBOUS MOON SYMBOL
-+<U0001F315> /xf0/x9f/x8c/x95 FULL MOON SYMBOL
-+<U0001F316> /xf0/x9f/x8c/x96 WANING GIBBOUS MOON SYMBOL
-+<U0001F317> /xf0/x9f/x8c/x97 LAST QUARTER MOON SYMBOL
-+<U0001F318> /xf0/x9f/x8c/x98 WANING CRESCENT MOON SYMBOL
-+<U0001F319> /xf0/x9f/x8c/x99 CRESCENT MOON
-+<U0001F31A> /xf0/x9f/x8c/x9a NEW MOON WITH FACE
-+<U0001F31B> /xf0/x9f/x8c/x9b FIRST QUARTER MOON WITH FACE
-+<U0001F31C> /xf0/x9f/x8c/x9c LAST QUARTER MOON WITH FACE
-+<U0001F31D> /xf0/x9f/x8c/x9d FULL MOON WITH FACE
-+<U0001F31E> /xf0/x9f/x8c/x9e SUN WITH FACE
-+<U0001F31F> /xf0/x9f/x8c/x9f GLOWING STAR
-+<U0001F320> /xf0/x9f/x8c/xa0 SHOOTING STAR
-+<U0001F330> /xf0/x9f/x8c/xb0 CHESTNUT
-+<U0001F331> /xf0/x9f/x8c/xb1 SEEDLING
-+<U0001F332> /xf0/x9f/x8c/xb2 EVERGREEN TREE
-+<U0001F333> /xf0/x9f/x8c/xb3 DECIDUOUS TREE
-+<U0001F334> /xf0/x9f/x8c/xb4 PALM TREE
-+<U0001F335> /xf0/x9f/x8c/xb5 CACTUS
-+<U0001F337> /xf0/x9f/x8c/xb7 TULIP
-+<U0001F338> /xf0/x9f/x8c/xb8 CHERRY BLOSSOM
-+<U0001F339> /xf0/x9f/x8c/xb9 ROSE
-+<U0001F33A> /xf0/x9f/x8c/xba HIBISCUS
-+<U0001F33B> /xf0/x9f/x8c/xbb SUNFLOWER
-+<U0001F33C> /xf0/x9f/x8c/xbc BLOSSOM
-+<U0001F33D> /xf0/x9f/x8c/xbd EAR OF MAIZE
-+<U0001F33E> /xf0/x9f/x8c/xbe EAR OF RICE
-+<U0001F33F> /xf0/x9f/x8c/xbf HERB
-+<U0001F340> /xf0/x9f/x8d/x80 FOUR LEAF CLOVER
-+<U0001F341> /xf0/x9f/x8d/x81 MAPLE LEAF
-+<U0001F342> /xf0/x9f/x8d/x82 FALLEN LEAF
-+<U0001F343> /xf0/x9f/x8d/x83 LEAF FLUTTERING IN WIND
-+<U0001F344> /xf0/x9f/x8d/x84 MUSHROOM
-+<U0001F345> /xf0/x9f/x8d/x85 TOMATO
-+<U0001F346> /xf0/x9f/x8d/x86 AUBERGINE
-+<U0001F347> /xf0/x9f/x8d/x87 GRAPES
-+<U0001F348> /xf0/x9f/x8d/x88 MELON
-+<U0001F349> /xf0/x9f/x8d/x89 WATERMELON
-+<U0001F34A> /xf0/x9f/x8d/x8a TANGERINE
-+<U0001F34B> /xf0/x9f/x8d/x8b LEMON
-+<U0001F34C> /xf0/x9f/x8d/x8c BANANA
-+<U0001F34D> /xf0/x9f/x8d/x8d PINEAPPLE
-+<U0001F34E> /xf0/x9f/x8d/x8e RED APPLE
-+<U0001F34F> /xf0/x9f/x8d/x8f GREEN APPLE
-+<U0001F350> /xf0/x9f/x8d/x90 PEAR
-+<U0001F351> /xf0/x9f/x8d/x91 PEACH
-+<U0001F352> /xf0/x9f/x8d/x92 CHERRIES
-+<U0001F353> /xf0/x9f/x8d/x93 STRAWBERRY
-+<U0001F354> /xf0/x9f/x8d/x94 HAMBURGER
-+<U0001F355> /xf0/x9f/x8d/x95 SLICE OF PIZZA
-+<U0001F356> /xf0/x9f/x8d/x96 MEAT ON BONE
-+<U0001F357> /xf0/x9f/x8d/x97 POULTRY LEG
-+<U0001F358> /xf0/x9f/x8d/x98 RICE CRACKER
-+<U0001F359> /xf0/x9f/x8d/x99 RICE BALL
-+<U0001F35A> /xf0/x9f/x8d/x9a COOKED RICE
-+<U0001F35B> /xf0/x9f/x8d/x9b CURRY AND RICE
-+<U0001F35C> /xf0/x9f/x8d/x9c STEAMING BOWL
-+<U0001F35D> /xf0/x9f/x8d/x9d SPAGHETTI
-+<U0001F35E> /xf0/x9f/x8d/x9e BREAD
-+<U0001F35F> /xf0/x9f/x8d/x9f FRENCH FRIES
-+<U0001F360> /xf0/x9f/x8d/xa0 ROASTED SWEET POTATO
-+<U0001F361> /xf0/x9f/x8d/xa1 DANGO
-+<U0001F362> /xf0/x9f/x8d/xa2 ODEN
-+<U0001F363> /xf0/x9f/x8d/xa3 SUSHI
-+<U0001F364> /xf0/x9f/x8d/xa4 FRIED SHRIMP
-+<U0001F365> /xf0/x9f/x8d/xa5 FISH CAKE WITH SWIRL DESIGN
-+<U0001F366> /xf0/x9f/x8d/xa6 SOFT ICE CREAM
-+<U0001F367> /xf0/x9f/x8d/xa7 SHAVED ICE
-+<U0001F368> /xf0/x9f/x8d/xa8 ICE CREAM
-+<U0001F369> /xf0/x9f/x8d/xa9 DOUGHNUT
-+<U0001F36A> /xf0/x9f/x8d/xaa COOKIE
-+<U0001F36B> /xf0/x9f/x8d/xab CHOCOLATE BAR
-+<U0001F36C> /xf0/x9f/x8d/xac CANDY
-+<U0001F36D> /xf0/x9f/x8d/xad LOLLIPOP
-+<U0001F36E> /xf0/x9f/x8d/xae CUSTARD
-+<U0001F36F> /xf0/x9f/x8d/xaf HONEY POT
-+<U0001F370> /xf0/x9f/x8d/xb0 SHORTCAKE
-+<U0001F371> /xf0/x9f/x8d/xb1 BENTO BOX
-+<U0001F372> /xf0/x9f/x8d/xb2 POT OF FOOD
-+<U0001F373> /xf0/x9f/x8d/xb3 COOKING
-+<U0001F374> /xf0/x9f/x8d/xb4 FORK AND KNIFE
-+<U0001F375> /xf0/x9f/x8d/xb5 TEACUP WITHOUT HANDLE
-+<U0001F376> /xf0/x9f/x8d/xb6 SAKE BOTTLE AND CUP
-+<U0001F377> /xf0/x9f/x8d/xb7 WINE GLASS
-+<U0001F378> /xf0/x9f/x8d/xb8 COCKTAIL GLASS
-+<U0001F379> /xf0/x9f/x8d/xb9 TROPICAL DRINK
-+<U0001F37A> /xf0/x9f/x8d/xba BEER MUG
-+<U0001F37B> /xf0/x9f/x8d/xbb CLINKING BEER MUGS
-+<U0001F37C> /xf0/x9f/x8d/xbc BABY BOTTLE
-+<U0001F380> /xf0/x9f/x8e/x80 RIBBON
-+<U0001F381> /xf0/x9f/x8e/x81 WRAPPED PRESENT
-+<U0001F382> /xf0/x9f/x8e/x82 BIRTHDAY CAKE
-+<U0001F383> /xf0/x9f/x8e/x83 JACK-O-LANTERN
-+<U0001F384> /xf0/x9f/x8e/x84 CHRISTMAS TREE
-+<U0001F385> /xf0/x9f/x8e/x85 FATHER CHRISTMAS
-+<U0001F386> /xf0/x9f/x8e/x86 FIREWORKS
-+<U0001F387> /xf0/x9f/x8e/x87 FIREWORK SPARKLER
-+<U0001F388> /xf0/x9f/x8e/x88 BALLOON
-+<U0001F389> /xf0/x9f/x8e/x89 PARTY POPPER
-+<U0001F38A> /xf0/x9f/x8e/x8a CONFETTI BALL
-+<U0001F38B> /xf0/x9f/x8e/x8b TANABATA TREE
-+<U0001F38C> /xf0/x9f/x8e/x8c CROSSED FLAGS
-+<U0001F38D> /xf0/x9f/x8e/x8d PINE DECORATION
-+<U0001F38E> /xf0/x9f/x8e/x8e JAPANESE DOLLS
-+<U0001F38F> /xf0/x9f/x8e/x8f CARP STREAMER
-+<U0001F390> /xf0/x9f/x8e/x90 WIND CHIME
-+<U0001F391> /xf0/x9f/x8e/x91 MOON VIEWING CEREMONY
-+<U0001F392> /xf0/x9f/x8e/x92 SCHOOL SATCHEL
-+<U0001F393> /xf0/x9f/x8e/x93 GRADUATION CAP
-+<U0001F3A0> /xf0/x9f/x8e/xa0 CAROUSEL HORSE
-+<U0001F3A1> /xf0/x9f/x8e/xa1 FERRIS WHEEL
-+<U0001F3A2> /xf0/x9f/x8e/xa2 ROLLER COASTER
-+<U0001F3A3> /xf0/x9f/x8e/xa3 FISHING POLE AND FISH
-+<U0001F3A4> /xf0/x9f/x8e/xa4 MICROPHONE
-+<U0001F3A5> /xf0/x9f/x8e/xa5 MOVIE CAMERA
-+<U0001F3A6> /xf0/x9f/x8e/xa6 CINEMA
-+<U0001F3A7> /xf0/x9f/x8e/xa7 HEADPHONE
-+<U0001F3A8> /xf0/x9f/x8e/xa8 ARTIST PALETTE
-+<U0001F3A9> /xf0/x9f/x8e/xa9 TOP HAT
-+<U0001F3AA> /xf0/x9f/x8e/xaa CIRCUS TENT
-+<U0001F3AB> /xf0/x9f/x8e/xab TICKET
-+<U0001F3AC> /xf0/x9f/x8e/xac CLAPPER BOARD
-+<U0001F3AD> /xf0/x9f/x8e/xad PERFORMING ARTS
-+<U0001F3AE> /xf0/x9f/x8e/xae VIDEO GAME
-+<U0001F3AF> /xf0/x9f/x8e/xaf DIRECT HIT
-+<U0001F3B0> /xf0/x9f/x8e/xb0 SLOT MACHINE
-+<U0001F3B1> /xf0/x9f/x8e/xb1 BILLIARDS
-+<U0001F3B2> /xf0/x9f/x8e/xb2 GAME DIE
-+<U0001F3B3> /xf0/x9f/x8e/xb3 BOWLING
-+<U0001F3B4> /xf0/x9f/x8e/xb4 FLOWER PLAYING CARDS
-+<U0001F3B5> /xf0/x9f/x8e/xb5 MUSICAL NOTE
-+<U0001F3B6> /xf0/x9f/x8e/xb6 MULTIPLE MUSICAL NOTES
-+<U0001F3B7> /xf0/x9f/x8e/xb7 SAXOPHONE
-+<U0001F3B8> /xf0/x9f/x8e/xb8 GUITAR
-+<U0001F3B9> /xf0/x9f/x8e/xb9 MUSICAL KEYBOARD
-+<U0001F3BA> /xf0/x9f/x8e/xba TRUMPET
-+<U0001F3BB> /xf0/x9f/x8e/xbb VIOLIN
-+<U0001F3BC> /xf0/x9f/x8e/xbc MUSICAL SCORE
-+<U0001F3BD> /xf0/x9f/x8e/xbd RUNNING SHIRT WITH SASH
-+<U0001F3BE> /xf0/x9f/x8e/xbe TENNIS RACQUET AND BALL
-+<U0001F3BF> /xf0/x9f/x8e/xbf SKI AND SKI BOOT
-+<U0001F3C0> /xf0/x9f/x8f/x80 BASKETBALL AND HOOP
-+<U0001F3C1> /xf0/x9f/x8f/x81 CHEQUERED FLAG
-+<U0001F3C2> /xf0/x9f/x8f/x82 SNOWBOARDER
-+<U0001F3C3> /xf0/x9f/x8f/x83 RUNNER
-+<U0001F3C4> /xf0/x9f/x8f/x84 SURFER
-+<U0001F3C6> /xf0/x9f/x8f/x86 TROPHY
-+<U0001F3C7> /xf0/x9f/x8f/x87 HORSE RACING
-+<U0001F3C8> /xf0/x9f/x8f/x88 AMERICAN FOOTBALL
-+<U0001F3C9> /xf0/x9f/x8f/x89 RUGBY FOOTBALL
-+<U0001F3CA> /xf0/x9f/x8f/x8a SWIMMER
-+<U0001F3E0> /xf0/x9f/x8f/xa0 HOUSE BUILDING
-+<U0001F3E1> /xf0/x9f/x8f/xa1 HOUSE WITH GARDEN
-+<U0001F3E2> /xf0/x9f/x8f/xa2 OFFICE BUILDING
-+<U0001F3E3> /xf0/x9f/x8f/xa3 JAPANESE POST OFFICE
-+<U0001F3E4> /xf0/x9f/x8f/xa4 EUROPEAN POST OFFICE
-+<U0001F3E5> /xf0/x9f/x8f/xa5 HOSPITAL
-+<U0001F3E6> /xf0/x9f/x8f/xa6 BANK
-+<U0001F3E7> /xf0/x9f/x8f/xa7 AUTOMATED TELLER MACHINE
-+<U0001F3E8> /xf0/x9f/x8f/xa8 HOTEL
-+<U0001F3E9> /xf0/x9f/x8f/xa9 LOVE HOTEL
-+<U0001F3EA> /xf0/x9f/x8f/xaa CONVENIENCE STORE
-+<U0001F3EB> /xf0/x9f/x8f/xab SCHOOL
-+<U0001F3EC> /xf0/x9f/x8f/xac DEPARTMENT STORE
-+<U0001F3ED> /xf0/x9f/x8f/xad FACTORY
-+<U0001F3EE> /xf0/x9f/x8f/xae IZAKAYA LANTERN
-+<U0001F3EF> /xf0/x9f/x8f/xaf JAPANESE CASTLE
-+<U0001F3F0> /xf0/x9f/x8f/xb0 EUROPEAN CASTLE
-+<U0001F400> /xf0/x9f/x90/x80 RAT
-+<U0001F401> /xf0/x9f/x90/x81 MOUSE
-+<U0001F402> /xf0/x9f/x90/x82 OX
-+<U0001F403> /xf0/x9f/x90/x83 WATER BUFFALO
-+<U0001F404> /xf0/x9f/x90/x84 COW
-+<U0001F405> /xf0/x9f/x90/x85 TIGER
-+<U0001F406> /xf0/x9f/x90/x86 LEOPARD
-+<U0001F407> /xf0/x9f/x90/x87 RABBIT
-+<U0001F408> /xf0/x9f/x90/x88 CAT
-+<U0001F409> /xf0/x9f/x90/x89 DRAGON
-+<U0001F40A> /xf0/x9f/x90/x8a CROCODILE
-+<U0001F40B> /xf0/x9f/x90/x8b WHALE
-+<U0001F40C> /xf0/x9f/x90/x8c SNAIL
-+<U0001F40D> /xf0/x9f/x90/x8d SNAKE
-+<U0001F40E> /xf0/x9f/x90/x8e HORSE
-+<U0001F40F> /xf0/x9f/x90/x8f RAM
-+<U0001F410> /xf0/x9f/x90/x90 GOAT
-+<U0001F411> /xf0/x9f/x90/x91 SHEEP
-+<U0001F412> /xf0/x9f/x90/x92 MONKEY
-+<U0001F413> /xf0/x9f/x90/x93 ROOSTER
-+<U0001F414> /xf0/x9f/x90/x94 CHICKEN
-+<U0001F415> /xf0/x9f/x90/x95 DOG
-+<U0001F416> /xf0/x9f/x90/x96 PIG
-+<U0001F417> /xf0/x9f/x90/x97 BOAR
-+<U0001F418> /xf0/x9f/x90/x98 ELEPHANT
-+<U0001F419> /xf0/x9f/x90/x99 OCTOPUS
-+<U0001F41A> /xf0/x9f/x90/x9a SPIRAL SHELL
-+<U0001F41B> /xf0/x9f/x90/x9b BUG
-+<U0001F41C> /xf0/x9f/x90/x9c ANT
-+<U0001F41D> /xf0/x9f/x90/x9d HONEYBEE
-+<U0001F41E> /xf0/x9f/x90/x9e LADY BEETLE
-+<U0001F41F> /xf0/x9f/x90/x9f FISH
-+<U0001F420> /xf0/x9f/x90/xa0 TROPICAL FISH
-+<U0001F421> /xf0/x9f/x90/xa1 BLOWFISH
-+<U0001F422> /xf0/x9f/x90/xa2 TURTLE
-+<U0001F423> /xf0/x9f/x90/xa3 HATCHING CHICK
-+<U0001F424> /xf0/x9f/x90/xa4 BABY CHICK
-+<U0001F425> /xf0/x9f/x90/xa5 FRONT-FACING BABY CHICK
-+<U0001F426> /xf0/x9f/x90/xa6 BIRD
-+<U0001F427> /xf0/x9f/x90/xa7 PENGUIN
-+<U0001F428> /xf0/x9f/x90/xa8 KOALA
-+<U0001F429> /xf0/x9f/x90/xa9 POODLE
-+<U0001F42A> /xf0/x9f/x90/xaa DROMEDARY CAMEL
-+<U0001F42B> /xf0/x9f/x90/xab BACTRIAN CAMEL
-+<U0001F42C> /xf0/x9f/x90/xac DOLPHIN
-+<U0001F42D> /xf0/x9f/x90/xad MOUSE FACE
-+<U0001F42E> /xf0/x9f/x90/xae COW FACE
-+<U0001F42F> /xf0/x9f/x90/xaf TIGER FACE
-+<U0001F430> /xf0/x9f/x90/xb0 RABBIT FACE
-+<U0001F431> /xf0/x9f/x90/xb1 CAT FACE
-+<U0001F432> /xf0/x9f/x90/xb2 DRAGON FACE
-+<U0001F433> /xf0/x9f/x90/xb3 SPOUTING WHALE
-+<U0001F434> /xf0/x9f/x90/xb4 HORSE FACE
-+<U0001F435> /xf0/x9f/x90/xb5 MONKEY FACE
-+<U0001F436> /xf0/x9f/x90/xb6 DOG FACE
-+<U0001F437> /xf0/x9f/x90/xb7 PIG FACE
-+<U0001F438> /xf0/x9f/x90/xb8 FROG FACE
-+<U0001F439> /xf0/x9f/x90/xb9 HAMSTER FACE
-+<U0001F43A> /xf0/x9f/x90/xba WOLF FACE
-+<U0001F43B> /xf0/x9f/x90/xbb BEAR FACE
-+<U0001F43C> /xf0/x9f/x90/xbc PANDA FACE
-+<U0001F43D> /xf0/x9f/x90/xbd PIG NOSE
-+<U0001F43E> /xf0/x9f/x90/xbe PAW PRINTS
-+<U0001F440> /xf0/x9f/x91/x80 EYES
-+<U0001F442> /xf0/x9f/x91/x82 EAR
-+<U0001F443> /xf0/x9f/x91/x83 NOSE
-+<U0001F444> /xf0/x9f/x91/x84 MOUTH
-+<U0001F445> /xf0/x9f/x91/x85 TONGUE
-+<U0001F446> /xf0/x9f/x91/x86 WHITE UP POINTING BACKHAND INDEX
-+<U0001F447> /xf0/x9f/x91/x87 WHITE DOWN POINTING BACKHAND INDEX
-+<U0001F448> /xf0/x9f/x91/x88 WHITE LEFT POINTING BACKHAND INDEX
-+<U0001F449> /xf0/x9f/x91/x89 WHITE RIGHT POINTING BACKHAND INDEX
-+<U0001F44A> /xf0/x9f/x91/x8a FISTED HAND SIGN
-+<U0001F44B> /xf0/x9f/x91/x8b WAVING HAND SIGN
-+<U0001F44C> /xf0/x9f/x91/x8c OK HAND SIGN
-+<U0001F44D> /xf0/x9f/x91/x8d THUMBS UP SIGN
-+<U0001F44E> /xf0/x9f/x91/x8e THUMBS DOWN SIGN
-+<U0001F44F> /xf0/x9f/x91/x8f CLAPPING HANDS SIGN
-+<U0001F450> /xf0/x9f/x91/x90 OPEN HANDS SIGN
-+<U0001F451> /xf0/x9f/x91/x91 CROWN
-+<U0001F452> /xf0/x9f/x91/x92 WOMANS HAT
-+<U0001F453> /xf0/x9f/x91/x93 EYEGLASSES
-+<U0001F454> /xf0/x9f/x91/x94 NECKTIE
-+<U0001F455> /xf0/x9f/x91/x95 T-SHIRT
-+<U0001F456> /xf0/x9f/x91/x96 JEANS
-+<U0001F457> /xf0/x9f/x91/x97 DRESS
-+<U0001F458> /xf0/x9f/x91/x98 KIMONO
-+<U0001F459> /xf0/x9f/x91/x99 BIKINI
-+<U0001F45A> /xf0/x9f/x91/x9a WOMANS CLOTHES
-+<U0001F45B> /xf0/x9f/x91/x9b PURSE
-+<U0001F45C> /xf0/x9f/x91/x9c HANDBAG
-+<U0001F45D> /xf0/x9f/x91/x9d POUCH
-+<U0001F45E> /xf0/x9f/x91/x9e MANS SHOE
-+<U0001F45F> /xf0/x9f/x91/x9f ATHLETIC SHOE
-+<U0001F460> /xf0/x9f/x91/xa0 HIGH-HEELED SHOE
-+<U0001F461> /xf0/x9f/x91/xa1 WOMANS SANDAL
-+<U0001F462> /xf0/x9f/x91/xa2 WOMANS BOOTS
-+<U0001F463> /xf0/x9f/x91/xa3 FOOTPRINTS
-+<U0001F464> /xf0/x9f/x91/xa4 BUST IN SILHOUETTE
-+<U0001F465> /xf0/x9f/x91/xa5 BUSTS IN SILHOUETTE
-+<U0001F466> /xf0/x9f/x91/xa6 BOY
-+<U0001F467> /xf0/x9f/x91/xa7 GIRL
-+<U0001F468> /xf0/x9f/x91/xa8 MAN
-+<U0001F469> /xf0/x9f/x91/xa9 WOMAN
-+<U0001F46A> /xf0/x9f/x91/xaa FAMILY
-+<U0001F46B> /xf0/x9f/x91/xab MAN AND WOMAN HOLDING HANDS
-+<U0001F46C> /xf0/x9f/x91/xac TWO MEN HOLDING HANDS
-+<U0001F46D> /xf0/x9f/x91/xad TWO WOMEN HOLDING HANDS
-+<U0001F46E> /xf0/x9f/x91/xae POLICE OFFICER
-+<U0001F46F> /xf0/x9f/x91/xaf WOMAN WITH BUNNY EARS
-+<U0001F470> /xf0/x9f/x91/xb0 BRIDE WITH VEIL
-+<U0001F471> /xf0/x9f/x91/xb1 PERSON WITH BLOND HAIR
-+<U0001F472> /xf0/x9f/x91/xb2 MAN WITH GUA PI MAO
-+<U0001F473> /xf0/x9f/x91/xb3 MAN WITH TURBAN
-+<U0001F474> /xf0/x9f/x91/xb4 OLDER MAN
-+<U0001F475> /xf0/x9f/x91/xb5 OLDER WOMAN
-+<U0001F476> /xf0/x9f/x91/xb6 BABY
-+<U0001F477> /xf0/x9f/x91/xb7 CONSTRUCTION WORKER
-+<U0001F478> /xf0/x9f/x91/xb8 PRINCESS
-+<U0001F479> /xf0/x9f/x91/xb9 JAPANESE OGRE
-+<U0001F47A> /xf0/x9f/x91/xba JAPANESE GOBLIN
-+<U0001F47B> /xf0/x9f/x91/xbb GHOST
-+<U0001F47C> /xf0/x9f/x91/xbc BABY ANGEL
-+<U0001F47D> /xf0/x9f/x91/xbd EXTRATERRESTRIAL ALIEN
-+<U0001F47E> /xf0/x9f/x91/xbe ALIEN MONSTER
-+<U0001F47F> /xf0/x9f/x91/xbf IMP
-+<U0001F480> /xf0/x9f/x92/x80 SKULL
-+<U0001F481> /xf0/x9f/x92/x81 INFORMATION DESK PERSON
-+<U0001F482> /xf0/x9f/x92/x82 GUARDSMAN
-+<U0001F483> /xf0/x9f/x92/x83 DANCER
-+<U0001F484> /xf0/x9f/x92/x84 LIPSTICK
-+<U0001F485> /xf0/x9f/x92/x85 NAIL POLISH
-+<U0001F486> /xf0/x9f/x92/x86 FACE MASSAGE
-+<U0001F487> /xf0/x9f/x92/x87 HAIRCUT
-+<U0001F488> /xf0/x9f/x92/x88 BARBER POLE
-+<U0001F489> /xf0/x9f/x92/x89 SYRINGE
-+<U0001F48A> /xf0/x9f/x92/x8a PILL
-+<U0001F48B> /xf0/x9f/x92/x8b KISS MARK
-+<U0001F48C> /xf0/x9f/x92/x8c LOVE LETTER
-+<U0001F48D> /xf0/x9f/x92/x8d RING
-+<U0001F48E> /xf0/x9f/x92/x8e GEM STONE
-+<U0001F48F> /xf0/x9f/x92/x8f KISS
-+<U0001F490> /xf0/x9f/x92/x90 BOUQUET
-+<U0001F491> /xf0/x9f/x92/x91 COUPLE WITH HEART
-+<U0001F492> /xf0/x9f/x92/x92 WEDDING
-+<U0001F493> /xf0/x9f/x92/x93 BEATING HEART
-+<U0001F494> /xf0/x9f/x92/x94 BROKEN HEART
-+<U0001F495> /xf0/x9f/x92/x95 TWO HEARTS
-+<U0001F496> /xf0/x9f/x92/x96 SPARKLING HEART
-+<U0001F497> /xf0/x9f/x92/x97 GROWING HEART
-+<U0001F498> /xf0/x9f/x92/x98 HEART WITH ARROW
-+<U0001F499> /xf0/x9f/x92/x99 BLUE HEART
-+<U0001F49A> /xf0/x9f/x92/x9a GREEN HEART
-+<U0001F49B> /xf0/x9f/x92/x9b YELLOW HEART
-+<U0001F49C> /xf0/x9f/x92/x9c PURPLE HEART
-+<U0001F49D> /xf0/x9f/x92/x9d HEART WITH RIBBON
-+<U0001F49E> /xf0/x9f/x92/x9e REVOLVING HEARTS
-+<U0001F49F> /xf0/x9f/x92/x9f HEART DECORATION
-+<U0001F4A0> /xf0/x9f/x92/xa0 DIAMOND SHAPE WITH A DOT INSIDE
-+<U0001F4A1> /xf0/x9f/x92/xa1 ELECTRIC LIGHT BULB
-+<U0001F4A2> /xf0/x9f/x92/xa2 ANGER SYMBOL
-+<U0001F4A3> /xf0/x9f/x92/xa3 BOMB
-+<U0001F4A4> /xf0/x9f/x92/xa4 SLEEPING SYMBOL
-+<U0001F4A5> /xf0/x9f/x92/xa5 COLLISION SYMBOL
-+<U0001F4A6> /xf0/x9f/x92/xa6 SPLASHING SWEAT SYMBOL
-+<U0001F4A7> /xf0/x9f/x92/xa7 DROPLET
-+<U0001F4A8> /xf0/x9f/x92/xa8 DASH SYMBOL
-+<U0001F4A9> /xf0/x9f/x92/xa9 PILE OF POO
-+<U0001F4AA> /xf0/x9f/x92/xaa FLEXED BICEPS
-+<U0001F4AB> /xf0/x9f/x92/xab DIZZY SYMBOL
-+<U0001F4AC> /xf0/x9f/x92/xac SPEECH BALLOON
-+<U0001F4AD> /xf0/x9f/x92/xad THOUGHT BALLOON
-+<U0001F4AE> /xf0/x9f/x92/xae WHITE FLOWER
-+<U0001F4AF> /xf0/x9f/x92/xaf HUNDRED POINTS SYMBOL
-+<U0001F4B0> /xf0/x9f/x92/xb0 MONEY BAG
-+<U0001F4B1> /xf0/x9f/x92/xb1 CURRENCY EXCHANGE
-+<U0001F4B2> /xf0/x9f/x92/xb2 HEAVY DOLLAR SIGN
-+<U0001F4B3> /xf0/x9f/x92/xb3 CREDIT CARD
-+<U0001F4B4> /xf0/x9f/x92/xb4 BANKNOTE WITH YEN SIGN
-+<U0001F4B5> /xf0/x9f/x92/xb5 BANKNOTE WITH DOLLAR SIGN
-+<U0001F4B6> /xf0/x9f/x92/xb6 BANKNOTE WITH EURO SIGN
-+<U0001F4B7> /xf0/x9f/x92/xb7 BANKNOTE WITH POUND SIGN
-+<U0001F4B8> /xf0/x9f/x92/xb8 MONEY WITH WINGS
-+<U0001F4B9> /xf0/x9f/x92/xb9 CHART WITH UPWARDS TREND AND YEN SIGN
-+<U0001F4BA> /xf0/x9f/x92/xba SEAT
-+<U0001F4BB> /xf0/x9f/x92/xbb PERSONAL COMPUTER
-+<U0001F4BC> /xf0/x9f/x92/xbc BRIEFCASE
-+<U0001F4BD> /xf0/x9f/x92/xbd MINIDISC
-+<U0001F4BE> /xf0/x9f/x92/xbe FLOPPY DISK
-+<U0001F4BF> /xf0/x9f/x92/xbf OPTICAL DISC
-+<U0001F4C0> /xf0/x9f/x93/x80 DVD
-+<U0001F4C1> /xf0/x9f/x93/x81 FILE FOLDER
-+<U0001F4C2> /xf0/x9f/x93/x82 OPEN FILE FOLDER
-+<U0001F4C3> /xf0/x9f/x93/x83 PAGE WITH CURL
-+<U0001F4C4> /xf0/x9f/x93/x84 PAGE FACING UP
-+<U0001F4C5> /xf0/x9f/x93/x85 CALENDAR
-+<U0001F4C6> /xf0/x9f/x93/x86 TEAR-OFF CALENDAR
-+<U0001F4C7> /xf0/x9f/x93/x87 CARD INDEX
-+<U0001F4C8> /xf0/x9f/x93/x88 CHART WITH UPWARDS TREND
-+<U0001F4C9> /xf0/x9f/x93/x89 CHART WITH DOWNWARDS TREND
-+<U0001F4CA> /xf0/x9f/x93/x8a BAR CHART
-+<U0001F4CB> /xf0/x9f/x93/x8b CLIPBOARD
-+<U0001F4CC> /xf0/x9f/x93/x8c PUSHPIN
-+<U0001F4CD> /xf0/x9f/x93/x8d ROUND PUSHPIN
-+<U0001F4CE> /xf0/x9f/x93/x8e PAPERCLIP
-+<U0001F4CF> /xf0/x9f/x93/x8f STRAIGHT RULER
-+<U0001F4D0> /xf0/x9f/x93/x90 TRIANGULAR RULER
-+<U0001F4D1> /xf0/x9f/x93/x91 BOOKMARK TABS
-+<U0001F4D2> /xf0/x9f/x93/x92 LEDGER
-+<U0001F4D3> /xf0/x9f/x93/x93 NOTEBOOK
-+<U0001F4D4> /xf0/x9f/x93/x94 NOTEBOOK WITH DECORATIVE COVER
-+<U0001F4D5> /xf0/x9f/x93/x95 CLOSED BOOK
-+<U0001F4D6> /xf0/x9f/x93/x96 OPEN BOOK
-+<U0001F4D7> /xf0/x9f/x93/x97 GREEN BOOK
-+<U0001F4D8> /xf0/x9f/x93/x98 BLUE BOOK
-+<U0001F4D9> /xf0/x9f/x93/x99 ORANGE BOOK
-+<U0001F4DA> /xf0/x9f/x93/x9a BOOKS
-+<U0001F4DB> /xf0/x9f/x93/x9b NAME BADGE
-+<U0001F4DC> /xf0/x9f/x93/x9c SCROLL
-+<U0001F4DD> /xf0/x9f/x93/x9d MEMO
-+<U0001F4DE> /xf0/x9f/x93/x9e TELEPHONE RECEIVER
-+<U0001F4DF> /xf0/x9f/x93/x9f PAGER
-+<U0001F4E0> /xf0/x9f/x93/xa0 FAX MACHINE
-+<U0001F4E1> /xf0/x9f/x93/xa1 SATELLITE ANTENNA
-+<U0001F4E2> /xf0/x9f/x93/xa2 PUBLIC ADDRESS LOUDSPEAKER
-+<U0001F4E3> /xf0/x9f/x93/xa3 CHEERING MEGAPHONE
-+<U0001F4E4> /xf0/x9f/x93/xa4 OUTBOX TRAY
-+<U0001F4E5> /xf0/x9f/x93/xa5 INBOX TRAY
-+<U0001F4E6> /xf0/x9f/x93/xa6 PACKAGE
-+<U0001F4E7> /xf0/x9f/x93/xa7 E-MAIL SYMBOL
-+<U0001F4E8> /xf0/x9f/x93/xa8 INCOMING ENVELOPE
-+<U0001F4E9> /xf0/x9f/x93/xa9 ENVELOPE WITH DOWNWARDS ARROW ABOVE
-+<U0001F4EA> /xf0/x9f/x93/xaa CLOSED MAILBOX WITH LOWERED FLAG
-+<U0001F4EB> /xf0/x9f/x93/xab CLOSED MAILBOX WITH RAISED FLAG
-+<U0001F4EC> /xf0/x9f/x93/xac OPEN MAILBOX WITH RAISED FLAG
-+<U0001F4ED> /xf0/x9f/x93/xad OPEN MAILBOX WITH LOWERED FLAG
-+<U0001F4EE> /xf0/x9f/x93/xae POSTBOX
-+<U0001F4EF> /xf0/x9f/x93/xaf POSTAL HORN
-+<U0001F4F0> /xf0/x9f/x93/xb0 NEWSPAPER
-+<U0001F4F1> /xf0/x9f/x93/xb1 MOBILE PHONE
-+<U0001F4F2> /xf0/x9f/x93/xb2 MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT
-+<U0001F4F3> /xf0/x9f/x93/xb3 VIBRATION MODE
-+<U0001F4F4> /xf0/x9f/x93/xb4 MOBILE PHONE OFF
-+<U0001F4F5> /xf0/x9f/x93/xb5 NO MOBILE PHONES
-+<U0001F4F6> /xf0/x9f/x93/xb6 ANTENNA WITH BARS
-+<U0001F4F7> /xf0/x9f/x93/xb7 CAMERA
-+<U0001F4F9> /xf0/x9f/x93/xb9 VIDEO CAMERA
-+<U0001F4FA> /xf0/x9f/x93/xba TELEVISION
-+<U0001F4FB> /xf0/x9f/x93/xbb RADIO
-+<U0001F4FC> /xf0/x9f/x93/xbc VIDEOCASSETTE
-+<U0001F500> /xf0/x9f/x94/x80 TWISTED RIGHTWARDS ARROWS
-+<U0001F501> /xf0/x9f/x94/x81 CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS
-+<U0001F502> /xf0/x9f/x94/x82 CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY
-+<U0001F503> /xf0/x9f/x94/x83 CLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
-+<U0001F504> /xf0/x9f/x94/x84 ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
-+<U0001F505> /xf0/x9f/x94/x85 LOW BRIGHTNESS SYMBOL
-+<U0001F506> /xf0/x9f/x94/x86 HIGH BRIGHTNESS SYMBOL
-+<U0001F507> /xf0/x9f/x94/x87 SPEAKER WITH CANCELLATION STROKE
-+<U0001F508> /xf0/x9f/x94/x88 SPEAKER
-+<U0001F509> /xf0/x9f/x94/x89 SPEAKER WITH ONE SOUND WAVE
-+<U0001F50A> /xf0/x9f/x94/x8a SPEAKER WITH THREE SOUND WAVES
-+<U0001F50B> /xf0/x9f/x94/x8b BATTERY
-+<U0001F50C> /xf0/x9f/x94/x8c ELECTRIC PLUG
-+<U0001F50D> /xf0/x9f/x94/x8d LEFT-POINTING MAGNIFYING GLASS
-+<U0001F50E> /xf0/x9f/x94/x8e RIGHT-POINTING MAGNIFYING GLASS
-+<U0001F50F> /xf0/x9f/x94/x8f LOCK WITH INK PEN
-+<U0001F510> /xf0/x9f/x94/x90 CLOSED LOCK WITH KEY
-+<U0001F511> /xf0/x9f/x94/x91 KEY
-+<U0001F512> /xf0/x9f/x94/x92 LOCK
-+<U0001F513> /xf0/x9f/x94/x93 OPEN LOCK
-+<U0001F514> /xf0/x9f/x94/x94 BELL
-+<U0001F515> /xf0/x9f/x94/x95 BELL WITH CANCELLATION STROKE
-+<U0001F516> /xf0/x9f/x94/x96 BOOKMARK
-+<U0001F517> /xf0/x9f/x94/x97 LINK SYMBOL
-+<U0001F518> /xf0/x9f/x94/x98 RADIO BUTTON
-+<U0001F519> /xf0/x9f/x94/x99 BACK WITH LEFTWARDS ARROW ABOVE
-+<U0001F51A> /xf0/x9f/x94/x9a END WITH LEFTWARDS ARROW ABOVE
-+<U0001F51B> /xf0/x9f/x94/x9b ON WITH EXCLAMATION MARK WITH LEFT RIGHT ARROW ABOVE
-+<U0001F51C> /xf0/x9f/x94/x9c SOON WITH RIGHTWARDS ARROW ABOVE
-+<U0001F51D> /xf0/x9f/x94/x9d TOP WITH UPWARDS ARROW ABOVE
-+<U0001F51E> /xf0/x9f/x94/x9e NO ONE UNDER EIGHTEEN SYMBOL
-+<U0001F51F> /xf0/x9f/x94/x9f KEYCAP TEN
-+<U0001F520> /xf0/x9f/x94/xa0 INPUT SYMBOL FOR LATIN CAPITAL LETTERS
-+<U0001F521> /xf0/x9f/x94/xa1 INPUT SYMBOL FOR LATIN SMALL LETTERS
-+<U0001F522> /xf0/x9f/x94/xa2 INPUT SYMBOL FOR NUMBERS
-+<U0001F523> /xf0/x9f/x94/xa3 INPUT SYMBOL FOR SYMBOLS
-+<U0001F524> /xf0/x9f/x94/xa4 INPUT SYMBOL FOR LATIN LETTERS
-+<U0001F525> /xf0/x9f/x94/xa5 FIRE
-+<U0001F526> /xf0/x9f/x94/xa6 ELECTRIC TORCH
-+<U0001F527> /xf0/x9f/x94/xa7 WRENCH
-+<U0001F528> /xf0/x9f/x94/xa8 HAMMER
-+<U0001F529> /xf0/x9f/x94/xa9 NUT AND BOLT
-+<U0001F52A> /xf0/x9f/x94/xaa HOCHO
-+<U0001F52B> /xf0/x9f/x94/xab PISTOL
-+<U0001F52C> /xf0/x9f/x94/xac MICROSCOPE
-+<U0001F52D> /xf0/x9f/x94/xad TELESCOPE
-+<U0001F52E> /xf0/x9f/x94/xae CRYSTAL BALL
-+<U0001F52F> /xf0/x9f/x94/xaf SIX POINTED STAR WITH MIDDLE DOT
-+<U0001F530> /xf0/x9f/x94/xb0 JAPANESE SYMBOL FOR BEGINNER
-+<U0001F531> /xf0/x9f/x94/xb1 TRIDENT EMBLEM
-+<U0001F532> /xf0/x9f/x94/xb2 BLACK SQUARE BUTTON
-+<U0001F533> /xf0/x9f/x94/xb3 WHITE SQUARE BUTTON
-+<U0001F534> /xf0/x9f/x94/xb4 LARGE RED CIRCLE
-+<U0001F535> /xf0/x9f/x94/xb5 LARGE BLUE CIRCLE
-+<U0001F536> /xf0/x9f/x94/xb6 LARGE ORANGE DIAMOND
-+<U0001F537> /xf0/x9f/x94/xb7 LARGE BLUE DIAMOND
-+<U0001F538> /xf0/x9f/x94/xb8 SMALL ORANGE DIAMOND
-+<U0001F539> /xf0/x9f/x94/xb9 SMALL BLUE DIAMOND
-+<U0001F53A> /xf0/x9f/x94/xba UP-POINTING RED TRIANGLE
-+<U0001F53B> /xf0/x9f/x94/xbb DOWN-POINTING RED TRIANGLE
-+<U0001F53C> /xf0/x9f/x94/xbc UP-POINTING SMALL RED TRIANGLE
-+<U0001F53D> /xf0/x9f/x94/xbd DOWN-POINTING SMALL RED TRIANGLE
-+<U0001F550> /xf0/x9f/x95/x90 CLOCK FACE ONE OCLOCK
-+<U0001F551> /xf0/x9f/x95/x91 CLOCK FACE TWO OCLOCK
-+<U0001F552> /xf0/x9f/x95/x92 CLOCK FACE THREE OCLOCK
-+<U0001F553> /xf0/x9f/x95/x93 CLOCK FACE FOUR OCLOCK
-+<U0001F554> /xf0/x9f/x95/x94 CLOCK FACE FIVE OCLOCK
-+<U0001F555> /xf0/x9f/x95/x95 CLOCK FACE SIX OCLOCK
-+<U0001F556> /xf0/x9f/x95/x96 CLOCK FACE SEVEN OCLOCK
-+<U0001F557> /xf0/x9f/x95/x97 CLOCK FACE EIGHT OCLOCK
-+<U0001F558> /xf0/x9f/x95/x98 CLOCK FACE NINE OCLOCK
-+<U0001F559> /xf0/x9f/x95/x99 CLOCK FACE TEN OCLOCK
-+<U0001F55A> /xf0/x9f/x95/x9a CLOCK FACE ELEVEN OCLOCK
-+<U0001F55B> /xf0/x9f/x95/x9b CLOCK FACE TWELVE OCLOCK
-+<U0001F55C> /xf0/x9f/x95/x9c CLOCK FACE ONE-THIRTY
-+<U0001F55D> /xf0/x9f/x95/x9d CLOCK FACE TWO-THIRTY
-+<U0001F55E> /xf0/x9f/x95/x9e CLOCK FACE THREE-THIRTY
-+<U0001F55F> /xf0/x9f/x95/x9f CLOCK FACE FOUR-THIRTY
-+<U0001F560> /xf0/x9f/x95/xa0 CLOCK FACE FIVE-THIRTY
-+<U0001F561> /xf0/x9f/x95/xa1 CLOCK FACE SIX-THIRTY
-+<U0001F562> /xf0/x9f/x95/xa2 CLOCK FACE SEVEN-THIRTY
-+<U0001F563> /xf0/x9f/x95/xa3 CLOCK FACE EIGHT-THIRTY
-+<U0001F564> /xf0/x9f/x95/xa4 CLOCK FACE NINE-THIRTY
-+<U0001F565> /xf0/x9f/x95/xa5 CLOCK FACE TEN-THIRTY
-+<U0001F566> /xf0/x9f/x95/xa6 CLOCK FACE ELEVEN-THIRTY
-+<U0001F567> /xf0/x9f/x95/xa7 CLOCK FACE TWELVE-THIRTY
-+<U0001F5FB> /xf0/x9f/x97/xbb MOUNT FUJI
-+<U0001F5FC> /xf0/x9f/x97/xbc TOKYO TOWER
-+<U0001F5FD> /xf0/x9f/x97/xbd STATUE OF LIBERTY
-+<U0001F5FE> /xf0/x9f/x97/xbe SILHOUETTE OF JAPAN
-+<U0001F5FF> /xf0/x9f/x97/xbf MOYAI
-+<U0001F601> /xf0/x9f/x98/x81 GRINNING FACE WITH SMILING EYES
-+<U0001F602> /xf0/x9f/x98/x82 FACE WITH TEARS OF JOY
-+<U0001F603> /xf0/x9f/x98/x83 SMILING FACE WITH OPEN MOUTH
-+<U0001F604> /xf0/x9f/x98/x84 SMILING FACE WITH OPEN MOUTH AND SMILING EYES
-+<U0001F605> /xf0/x9f/x98/x85 SMILING FACE WITH OPEN MOUTH AND COLD SWEAT
-+<U0001F606> /xf0/x9f/x98/x86 SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES
-+<U0001F607> /xf0/x9f/x98/x87 SMILING FACE WITH HALO
-+<U0001F608> /xf0/x9f/x98/x88 SMILING FACE WITH HORNS
-+<U0001F609> /xf0/x9f/x98/x89 WINKING FACE
-+<U0001F60A> /xf0/x9f/x98/x8a SMILING FACE WITH SMILING EYES
-+<U0001F60B> /xf0/x9f/x98/x8b FACE SAVOURING DELICIOUS FOOD
-+<U0001F60C> /xf0/x9f/x98/x8c RELIEVED FACE
-+<U0001F60D> /xf0/x9f/x98/x8d SMILING FACE WITH HEART-SHAPED EYES
-+<U0001F60E> /xf0/x9f/x98/x8e SMILING FACE WITH SUNGLASSES
-+<U0001F60F> /xf0/x9f/x98/x8f SMIRKING FACE
-+<U0001F610> /xf0/x9f/x98/x90 NEUTRAL FACE
-+<U0001F612> /xf0/x9f/x98/x92 UNAMUSED FACE
-+<U0001F613> /xf0/x9f/x98/x93 FACE WITH COLD SWEAT
-+<U0001F614> /xf0/x9f/x98/x94 PENSIVE FACE
-+<U0001F616> /xf0/x9f/x98/x96 CONFOUNDED FACE
-+<U0001F618> /xf0/x9f/x98/x98 FACE THROWING A KISS
-+<U0001F61A> /xf0/x9f/x98/x9a KISSING FACE WITH CLOSED EYES
-+<U0001F61C> /xf0/x9f/x98/x9c FACE WITH STUCK-OUT TONGUE AND WINKING EYE
-+<U0001F61D> /xf0/x9f/x98/x9d FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES
-+<U0001F61E> /xf0/x9f/x98/x9e DISAPPOINTED FACE
-+<U0001F620> /xf0/x9f/x98/xa0 ANGRY FACE
-+<U0001F621> /xf0/x9f/x98/xa1 POUTING FACE
-+<U0001F622> /xf0/x9f/x98/xa2 CRYING FACE
-+<U0001F623> /xf0/x9f/x98/xa3 PERSEVERING FACE
-+<U0001F624> /xf0/x9f/x98/xa4 FACE WITH LOOK OF TRIUMPH
-+<U0001F625> /xf0/x9f/x98/xa5 DISAPPOINTED BUT RELIEVED FACE
-+<U0001F628> /xf0/x9f/x98/xa8 FEARFUL FACE
-+<U0001F629> /xf0/x9f/x98/xa9 WEARY FACE
-+<U0001F62A> /xf0/x9f/x98/xaa SLEEPY FACE
-+<U0001F62B> /xf0/x9f/x98/xab TIRED FACE
-+<U0001F62D> /xf0/x9f/x98/xad LOUDLY CRYING FACE
-+<U0001F630> /xf0/x9f/x98/xb0 FACE WITH OPEN MOUTH AND COLD SWEAT
-+<U0001F631> /xf0/x9f/x98/xb1 FACE SCREAMING IN FEAR
-+<U0001F632> /xf0/x9f/x98/xb2 ASTONISHED FACE
-+<U0001F633> /xf0/x9f/x98/xb3 FLUSHED FACE
-+<U0001F635> /xf0/x9f/x98/xb5 DIZZY FACE
-+<U0001F636> /xf0/x9f/x98/xb6 FACE WITHOUT MOUTH
-+<U0001F637> /xf0/x9f/x98/xb7 FACE WITH MEDICAL MASK
-+<U0001F638> /xf0/x9f/x98/xb8 GRINNING CAT FACE WITH SMILING EYES
-+<U0001F639> /xf0/x9f/x98/xb9 CAT FACE WITH TEARS OF JOY
-+<U0001F63A> /xf0/x9f/x98/xba SMILING CAT FACE WITH OPEN MOUTH
-+<U0001F63B> /xf0/x9f/x98/xbb SMILING CAT FACE WITH HEART-SHAPED EYES
-+<U0001F63C> /xf0/x9f/x98/xbc CAT FACE WITH WRY SMILE
-+<U0001F63D> /xf0/x9f/x98/xbd KISSING CAT FACE WITH CLOSED EYES
-+<U0001F63E> /xf0/x9f/x98/xbe POUTING CAT FACE
-+<U0001F63F> /xf0/x9f/x98/xbf CRYING CAT FACE
-+<U0001F640> /xf0/x9f/x99/x80 WEARY CAT FACE
-+<U0001F645> /xf0/x9f/x99/x85 FACE WITH NO GOOD GESTURE
-+<U0001F646> /xf0/x9f/x99/x86 FACE WITH OK GESTURE
-+<U0001F647> /xf0/x9f/x99/x87 PERSON BOWING DEEPLY
-+<U0001F648> /xf0/x9f/x99/x88 SEE-NO-EVIL MONKEY
-+<U0001F649> /xf0/x9f/x99/x89 HEAR-NO-EVIL MONKEY
-+<U0001F64A> /xf0/x9f/x99/x8a SPEAK-NO-EVIL MONKEY
-+<U0001F64B> /xf0/x9f/x99/x8b HAPPY PERSON RAISING ONE HAND
-+<U0001F64C> /xf0/x9f/x99/x8c PERSON RAISING BOTH HANDS IN CELEBRATION
-+<U0001F64D> /xf0/x9f/x99/x8d PERSON FROWNING
-+<U0001F64E> /xf0/x9f/x99/x8e PERSON WITH POUTING FACE
-+<U0001F64F> /xf0/x9f/x99/x8f PERSON WITH FOLDED HANDS
-+<U0001F680> /xf0/x9f/x9a/x80 ROCKET
-+<U0001F681> /xf0/x9f/x9a/x81 HELICOPTER
-+<U0001F682> /xf0/x9f/x9a/x82 STEAM LOCOMOTIVE
-+<U0001F683> /xf0/x9f/x9a/x83 RAILWAY CAR
-+<U0001F684> /xf0/x9f/x9a/x84 HIGH-SPEED TRAIN
-+<U0001F685> /xf0/x9f/x9a/x85 HIGH-SPEED TRAIN WITH BULLET NOSE
-+<U0001F686> /xf0/x9f/x9a/x86 TRAIN
-+<U0001F687> /xf0/x9f/x9a/x87 METRO
-+<U0001F688> /xf0/x9f/x9a/x88 LIGHT RAIL
-+<U0001F689> /xf0/x9f/x9a/x89 STATION
-+<U0001F68A> /xf0/x9f/x9a/x8a TRAM
-+<U0001F68B> /xf0/x9f/x9a/x8b TRAM CAR
-+<U0001F68C> /xf0/x9f/x9a/x8c BUS
-+<U0001F68D> /xf0/x9f/x9a/x8d ONCOMING BUS
-+<U0001F68E> /xf0/x9f/x9a/x8e TROLLEYBUS
-+<U0001F68F> /xf0/x9f/x9a/x8f BUS STOP
-+<U0001F690> /xf0/x9f/x9a/x90 MINIBUS
-+<U0001F691> /xf0/x9f/x9a/x91 AMBULANCE
-+<U0001F692> /xf0/x9f/x9a/x92 FIRE ENGINE
-+<U0001F693> /xf0/x9f/x9a/x93 POLICE CAR
-+<U0001F694> /xf0/x9f/x9a/x94 ONCOMING POLICE CAR
-+<U0001F695> /xf0/x9f/x9a/x95 TAXI
-+<U0001F696> /xf0/x9f/x9a/x96 ONCOMING TAXI
-+<U0001F697> /xf0/x9f/x9a/x97 AUTOMOBILE
-+<U0001F698> /xf0/x9f/x9a/x98 ONCOMING AUTOMOBILE
-+<U0001F699> /xf0/x9f/x9a/x99 RECREATIONAL VEHICLE
-+<U0001F69A> /xf0/x9f/x9a/x9a DELIVERY TRUCK
-+<U0001F69B> /xf0/x9f/x9a/x9b ARTICULATED LORRY
-+<U0001F69C> /xf0/x9f/x9a/x9c TRACTOR
-+<U0001F69D> /xf0/x9f/x9a/x9d MONORAIL
-+<U0001F69E> /xf0/x9f/x9a/x9e MOUNTAIN RAILWAY
-+<U0001F69F> /xf0/x9f/x9a/x9f SUSPENSION RAILWAY
-+<U0001F6A0> /xf0/x9f/x9a/xa0 MOUNTAIN CABLEWAY
-+<U0001F6A1> /xf0/x9f/x9a/xa1 AERIAL TRAMWAY
-+<U0001F6A2> /xf0/x9f/x9a/xa2 SHIP
-+<U0001F6A3> /xf0/x9f/x9a/xa3 ROWBOAT
-+<U0001F6A4> /xf0/x9f/x9a/xa4 SPEEDBOAT
-+<U0001F6A5> /xf0/x9f/x9a/xa5 HORIZONTAL TRAFFIC LIGHT
-+<U0001F6A6> /xf0/x9f/x9a/xa6 VERTICAL TRAFFIC LIGHT
-+<U0001F6A7> /xf0/x9f/x9a/xa7 CONSTRUCTION SIGN
-+<U0001F6A8> /xf0/x9f/x9a/xa8 POLICE CARS REVOLVING LIGHT
-+<U0001F6A9> /xf0/x9f/x9a/xa9 TRIANGULAR FLAG ON POST
-+<U0001F6AA> /xf0/x9f/x9a/xaa DOOR
-+<U0001F6AB> /xf0/x9f/x9a/xab NO ENTRY SIGN
-+<U0001F6AC> /xf0/x9f/x9a/xac SMOKING SYMBOL
-+<U0001F6AD> /xf0/x9f/x9a/xad NO SMOKING SYMBOL
-+<U0001F6AE> /xf0/x9f/x9a/xae PUT LITTER IN ITS PLACE SYMBOL
-+<U0001F6AF> /xf0/x9f/x9a/xaf DO NOT LITTER SYMBOL
-+<U0001F6B0> /xf0/x9f/x9a/xb0 POTABLE WATER SYMBOL
-+<U0001F6B1> /xf0/x9f/x9a/xb1 NON-POTABLE WATER SYMBOL
-+<U0001F6B2> /xf0/x9f/x9a/xb2 BICYCLE
-+<U0001F6B3> /xf0/x9f/x9a/xb3 NO BICYCLES
-+<U0001F6B4> /xf0/x9f/x9a/xb4 BICYCLIST
-+<U0001F6B5> /xf0/x9f/x9a/xb5 MOUNTAIN BICYCLIST
-+<U0001F6B6> /xf0/x9f/x9a/xb6 PEDESTRIAN
-+<U0001F6B7> /xf0/x9f/x9a/xb7 NO PEDESTRIANS
-+<U0001F6B8> /xf0/x9f/x9a/xb8 CHILDREN CROSSING
-+<U0001F6B9> /xf0/x9f/x9a/xb9 MENS SYMBOL
-+<U0001F6BA> /xf0/x9f/x9a/xba WOMENS SYMBOL
-+<U0001F6BB> /xf0/x9f/x9a/xbb RESTROOM
-+<U0001F6BC> /xf0/x9f/x9a/xbc BABY SYMBOL
-+<U0001F6BD> /xf0/x9f/x9a/xbd TOILET
-+<U0001F6BE> /xf0/x9f/x9a/xbe WATER CLOSET
-+<U0001F6BF> /xf0/x9f/x9a/xbf SHOWER
-+<U0001F6C0> /xf0/x9f/x9b/x80 BATH
-+<U0001F6C1> /xf0/x9f/x9b/x81 BATHTUB
-+<U0001F6C2> /xf0/x9f/x9b/x82 PASSPORT CONTROL
-+<U0001F6C3> /xf0/x9f/x9b/x83 CUSTOMS
-+<U0001F6C4> /xf0/x9f/x9b/x84 BAGGAGE CLAIM
-+<U0001F6C5> /xf0/x9f/x9b/x85 LEFT LUGGAGE
-+<U0001F700> /xf0/x9f/x9c/x80 ALCHEMICAL SYMBOL FOR QUINTESSENCE
-+<U0001F701> /xf0/x9f/x9c/x81 ALCHEMICAL SYMBOL FOR AIR
-+<U0001F702> /xf0/x9f/x9c/x82 ALCHEMICAL SYMBOL FOR FIRE
-+<U0001F703> /xf0/x9f/x9c/x83 ALCHEMICAL SYMBOL FOR EARTH
-+<U0001F704> /xf0/x9f/x9c/x84 ALCHEMICAL SYMBOL FOR WATER
-+<U0001F705> /xf0/x9f/x9c/x85 ALCHEMICAL SYMBOL FOR AQUAFORTIS
-+<U0001F706> /xf0/x9f/x9c/x86 ALCHEMICAL SYMBOL FOR AQUA REGIA
-+<U0001F707> /xf0/x9f/x9c/x87 ALCHEMICAL SYMBOL FOR AQUA REGIA-2
-+<U0001F708> /xf0/x9f/x9c/x88 ALCHEMICAL SYMBOL FOR AQUA VITAE
-+<U0001F709> /xf0/x9f/x9c/x89 ALCHEMICAL SYMBOL FOR AQUA VITAE-2
-+<U0001F70A> /xf0/x9f/x9c/x8a ALCHEMICAL SYMBOL FOR VINEGAR
-+<U0001F70B> /xf0/x9f/x9c/x8b ALCHEMICAL SYMBOL FOR VINEGAR-2
-+<U0001F70C> /xf0/x9f/x9c/x8c ALCHEMICAL SYMBOL FOR VINEGAR-3
-+<U0001F70D> /xf0/x9f/x9c/x8d ALCHEMICAL SYMBOL FOR SULFUR
-+<U0001F70E> /xf0/x9f/x9c/x8e ALCHEMICAL SYMBOL FOR PHILOSOPHERS SULFUR
-+<U0001F70F> /xf0/x9f/x9c/x8f ALCHEMICAL SYMBOL FOR BLACK SULFUR
-+<U0001F710> /xf0/x9f/x9c/x90 ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE
-+<U0001F711> /xf0/x9f/x9c/x91 ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-2
-+<U0001F712> /xf0/x9f/x9c/x92 ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-3
-+<U0001F713> /xf0/x9f/x9c/x93 ALCHEMICAL SYMBOL FOR CINNABAR
-+<U0001F714> /xf0/x9f/x9c/x94 ALCHEMICAL SYMBOL FOR SALT
-+<U0001F715> /xf0/x9f/x9c/x95 ALCHEMICAL SYMBOL FOR NITRE
-+<U0001F716> /xf0/x9f/x9c/x96 ALCHEMICAL SYMBOL FOR VITRIOL
-+<U0001F717> /xf0/x9f/x9c/x97 ALCHEMICAL SYMBOL FOR VITRIOL-2
-+<U0001F718> /xf0/x9f/x9c/x98 ALCHEMICAL SYMBOL FOR ROCK SALT
-+<U0001F719> /xf0/x9f/x9c/x99 ALCHEMICAL SYMBOL FOR ROCK SALT-2
-+<U0001F71A> /xf0/x9f/x9c/x9a ALCHEMICAL SYMBOL FOR GOLD
-+<U0001F71B> /xf0/x9f/x9c/x9b ALCHEMICAL SYMBOL FOR SILVER
-+<U0001F71C> /xf0/x9f/x9c/x9c ALCHEMICAL SYMBOL FOR IRON ORE
-+<U0001F71D> /xf0/x9f/x9c/x9d ALCHEMICAL SYMBOL FOR IRON ORE-2
-+<U0001F71E> /xf0/x9f/x9c/x9e ALCHEMICAL SYMBOL FOR CROCUS OF IRON
-+<U0001F71F> /xf0/x9f/x9c/x9f ALCHEMICAL SYMBOL FOR REGULUS OF IRON
-+<U0001F720> /xf0/x9f/x9c/xa0 ALCHEMICAL SYMBOL FOR COPPER ORE
-+<U0001F721> /xf0/x9f/x9c/xa1 ALCHEMICAL SYMBOL FOR IRON-COPPER ORE
-+<U0001F722> /xf0/x9f/x9c/xa2 ALCHEMICAL SYMBOL FOR SUBLIMATE OF COPPER
-+<U0001F723> /xf0/x9f/x9c/xa3 ALCHEMICAL SYMBOL FOR CROCUS OF COPPER
-+<U0001F724> /xf0/x9f/x9c/xa4 ALCHEMICAL SYMBOL FOR CROCUS OF COPPER-2
-+<U0001F725> /xf0/x9f/x9c/xa5 ALCHEMICAL SYMBOL FOR COPPER ANTIMONIATE
-+<U0001F726> /xf0/x9f/x9c/xa6 ALCHEMICAL SYMBOL FOR SALT OF COPPER ANTIMONIATE
-+<U0001F727> /xf0/x9f/x9c/xa7 ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF COPPER
-+<U0001F728> /xf0/x9f/x9c/xa8 ALCHEMICAL SYMBOL FOR VERDIGRIS
-+<U0001F729> /xf0/x9f/x9c/xa9 ALCHEMICAL SYMBOL FOR TIN ORE
-+<U0001F72A> /xf0/x9f/x9c/xaa ALCHEMICAL SYMBOL FOR LEAD ORE
-+<U0001F72B> /xf0/x9f/x9c/xab ALCHEMICAL SYMBOL FOR ANTIMONY ORE
-+<U0001F72C> /xf0/x9f/x9c/xac ALCHEMICAL SYMBOL FOR SUBLIMATE OF ANTIMONY
-+<U0001F72D> /xf0/x9f/x9c/xad ALCHEMICAL SYMBOL FOR SALT OF ANTIMONY
-+<U0001F72E> /xf0/x9f/x9c/xae ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF ANTIMONY
-+<U0001F72F> /xf0/x9f/x9c/xaf ALCHEMICAL SYMBOL FOR VINEGAR OF ANTIMONY
-+<U0001F730> /xf0/x9f/x9c/xb0 ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY
-+<U0001F731> /xf0/x9f/x9c/xb1 ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY-2
-+<U0001F732> /xf0/x9f/x9c/xb2 ALCHEMICAL SYMBOL FOR REGULUS
-+<U0001F733> /xf0/x9f/x9c/xb3 ALCHEMICAL SYMBOL FOR REGULUS-2
-+<U0001F734> /xf0/x9f/x9c/xb4 ALCHEMICAL SYMBOL FOR REGULUS-3
-+<U0001F735> /xf0/x9f/x9c/xb5 ALCHEMICAL SYMBOL FOR REGULUS-4
-+<U0001F736> /xf0/x9f/x9c/xb6 ALCHEMICAL SYMBOL FOR ALKALI
-+<U0001F737> /xf0/x9f/x9c/xb7 ALCHEMICAL SYMBOL FOR ALKALI-2
-+<U0001F738> /xf0/x9f/x9c/xb8 ALCHEMICAL SYMBOL FOR MARCASITE
-+<U0001F739> /xf0/x9f/x9c/xb9 ALCHEMICAL SYMBOL FOR SAL-AMMONIAC
-+<U0001F73A> /xf0/x9f/x9c/xba ALCHEMICAL SYMBOL FOR ARSENIC
-+<U0001F73B> /xf0/x9f/x9c/xbb ALCHEMICAL SYMBOL FOR REALGAR
-+<U0001F73C> /xf0/x9f/x9c/xbc ALCHEMICAL SYMBOL FOR REALGAR-2
-+<U0001F73D> /xf0/x9f/x9c/xbd ALCHEMICAL SYMBOL FOR AURIPIGMENT
-+<U0001F73E> /xf0/x9f/x9c/xbe ALCHEMICAL SYMBOL FOR BISMUTH ORE
-+<U0001F73F> /xf0/x9f/x9c/xbf ALCHEMICAL SYMBOL FOR TARTAR
-+<U0001F740> /xf0/x9f/x9d/x80 ALCHEMICAL SYMBOL FOR TARTAR-2
-+<U0001F741> /xf0/x9f/x9d/x81 ALCHEMICAL SYMBOL FOR QUICK LIME
-+<U0001F742> /xf0/x9f/x9d/x82 ALCHEMICAL SYMBOL FOR BORAX
-+<U0001F743> /xf0/x9f/x9d/x83 ALCHEMICAL SYMBOL FOR BORAX-2
-+<U0001F744> /xf0/x9f/x9d/x84 ALCHEMICAL SYMBOL FOR BORAX-3
-+<U0001F745> /xf0/x9f/x9d/x85 ALCHEMICAL SYMBOL FOR ALUM
-+<U0001F746> /xf0/x9f/x9d/x86 ALCHEMICAL SYMBOL FOR OIL
-+<U0001F747> /xf0/x9f/x9d/x87 ALCHEMICAL SYMBOL FOR SPIRIT
-+<U0001F748> /xf0/x9f/x9d/x88 ALCHEMICAL SYMBOL FOR TINCTURE
-+<U0001F749> /xf0/x9f/x9d/x89 ALCHEMICAL SYMBOL FOR GUM
-+<U0001F74A> /xf0/x9f/x9d/x8a ALCHEMICAL SYMBOL FOR WAX
-+<U0001F74B> /xf0/x9f/x9d/x8b ALCHEMICAL SYMBOL FOR POWDER
-+<U0001F74C> /xf0/x9f/x9d/x8c ALCHEMICAL SYMBOL FOR CALX
-+<U0001F737> /xf0/x9f/x9c/xb7 ALCHEMICAL SYMBOL FOR ALKALI-2
-+<U0001F738> /xf0/x9f/x9c/xb8 ALCHEMICAL SYMBOL FOR MARCASITE
-+<U0001F739> /xf0/x9f/x9c/xb9 ALCHEMICAL SYMBOL FOR SAL-AMMONIAC
-+<U0001F73A> /xf0/x9f/x9c/xba ALCHEMICAL SYMBOL FOR ARSENIC
-+<U0001F73B> /xf0/x9f/x9c/xbb ALCHEMICAL SYMBOL FOR REALGAR
-+<U0001F73C> /xf0/x9f/x9c/xbc ALCHEMICAL SYMBOL FOR REALGAR-2
-+<U0001F73D> /xf0/x9f/x9c/xbd ALCHEMICAL SYMBOL FOR AURIPIGMENT
-+<U0001F73E> /xf0/x9f/x9c/xbe ALCHEMICAL SYMBOL FOR BISMUTH ORE
-+<U0001F73F> /xf0/x9f/x9c/xbf ALCHEMICAL SYMBOL FOR TARTAR
-+<U0001F740> /xf0/x9f/x9d/x80 ALCHEMICAL SYMBOL FOR TARTAR-2
-+<U0001F741> /xf0/x9f/x9d/x81 ALCHEMICAL SYMBOL FOR QUICK LIME
-+<U0001F742> /xf0/x9f/x9d/x82 ALCHEMICAL SYMBOL FOR BORAX
-+<U0001F743> /xf0/x9f/x9d/x83 ALCHEMICAL SYMBOL FOR BORAX-2
-+<U0001F744> /xf0/x9f/x9d/x84 ALCHEMICAL SYMBOL FOR BORAX-3
-+<U0001F745> /xf0/x9f/x9d/x85 ALCHEMICAL SYMBOL FOR ALUM
-+<U0001F746> /xf0/x9f/x9d/x86 ALCHEMICAL SYMBOL FOR OIL
-+<U0001F747> /xf0/x9f/x9d/x87 ALCHEMICAL SYMBOL FOR SPIRIT
-+<U0001F748> /xf0/x9f/x9d/x88 ALCHEMICAL SYMBOL FOR TINCTURE
-+<U0001F749> /xf0/x9f/x9d/x89 ALCHEMICAL SYMBOL FOR GUM
-+<U0001F74A> /xf0/x9f/x9d/x8a ALCHEMICAL SYMBOL FOR WAX
-+<U0001F74B> /xf0/x9f/x9d/x8b ALCHEMICAL SYMBOL FOR POWDER
-+<U0001F74C> /xf0/x9f/x9d/x8c ALCHEMICAL SYMBOL FOR CALX
-+<U0001F74D> /xf0/x9f/x9d/x8d ALCHEMICAL SYMBOL FOR TUTTY
-+<U0001F74E> /xf0/x9f/x9d/x8e ALCHEMICAL SYMBOL FOR CAPUT MORTUUM
-+<U0001F74F> /xf0/x9f/x9d/x8f ALCHEMICAL SYMBOL FOR SCEPTER OF JOVE
-+<U0001F750> /xf0/x9f/x9d/x90 ALCHEMICAL SYMBOL FOR CADUCEUS
-+<U0001F751> /xf0/x9f/x9d/x91 ALCHEMICAL SYMBOL FOR TRIDENT
-+<U0001F752> /xf0/x9f/x9d/x92 ALCHEMICAL SYMBOL FOR STARRED TRIDENT
-+<U0001F753> /xf0/x9f/x9d/x93 ALCHEMICAL SYMBOL FOR LODESTONE
-+<U0001F754> /xf0/x9f/x9d/x94 ALCHEMICAL SYMBOL FOR SOAP
-+<U0001F755> /xf0/x9f/x9d/x95 ALCHEMICAL SYMBOL FOR URINE
-+<U0001F756> /xf0/x9f/x9d/x96 ALCHEMICAL SYMBOL FOR HORSE DUNG
-+<U0001F757> /xf0/x9f/x9d/x97 ALCHEMICAL SYMBOL FOR ASHES
-+<U0001F758> /xf0/x9f/x9d/x98 ALCHEMICAL SYMBOL FOR POT ASHES
-+<U0001F759> /xf0/x9f/x9d/x99 ALCHEMICAL SYMBOL FOR BRICK
-+<U0001F75A> /xf0/x9f/x9d/x9a ALCHEMICAL SYMBOL FOR POWDERED BRICK
-+<U0001F75B> /xf0/x9f/x9d/x9b ALCHEMICAL SYMBOL FOR AMALGAM
-+<U0001F75C> /xf0/x9f/x9d/x9c ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM
-+<U0001F75D> /xf0/x9f/x9d/x9d ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM-2
-+<U0001F75E> /xf0/x9f/x9d/x9e ALCHEMICAL SYMBOL FOR SUBLIMATION
-+<U0001F75F> /xf0/x9f/x9d/x9f ALCHEMICAL SYMBOL FOR PRECIPITATE
-+<U0001F760> /xf0/x9f/x9d/xa0 ALCHEMICAL SYMBOL FOR DISTILL
-+<U0001F761> /xf0/x9f/x9d/xa1 ALCHEMICAL SYMBOL FOR DISSOLVE
-+<U0001F762> /xf0/x9f/x9d/xa2 ALCHEMICAL SYMBOL FOR DISSOLVE-2
-+<U0001F763> /xf0/x9f/x9d/xa3 ALCHEMICAL SYMBOL FOR PURIFY
-+<U0001F764> /xf0/x9f/x9d/xa4 ALCHEMICAL SYMBOL FOR PUTREFACTION
-+<U0001F765> /xf0/x9f/x9d/xa5 ALCHEMICAL SYMBOL FOR CRUCIBLE
-+<U0001F766> /xf0/x9f/x9d/xa6 ALCHEMICAL SYMBOL FOR CRUCIBLE-2
-+<U0001F767> /xf0/x9f/x9d/xa7 ALCHEMICAL SYMBOL FOR CRUCIBLE-3
-+<U0001F768> /xf0/x9f/x9d/xa8 ALCHEMICAL SYMBOL FOR CRUCIBLE-4
-+<U0001F769> /xf0/x9f/x9d/xa9 ALCHEMICAL SYMBOL FOR CRUCIBLE-5
-+<U0001F76A> /xf0/x9f/x9d/xaa ALCHEMICAL SYMBOL FOR ALEMBIC
-+<U0001F76B> /xf0/x9f/x9d/xab ALCHEMICAL SYMBOL FOR BATH OF MARY
-+<U0001F76C> /xf0/x9f/x9d/xac ALCHEMICAL SYMBOL FOR BATH OF VAPOURS
-+<U0001F76D> /xf0/x9f/x9d/xad ALCHEMICAL SYMBOL FOR RETORT
-+<U0001F76E> /xf0/x9f/x9d/xae ALCHEMICAL SYMBOL FOR HOUR
-+<U0001F76F> /xf0/x9f/x9d/xaf ALCHEMICAL SYMBOL FOR NIGHT
-+<U0001F770> /xf0/x9f/x9d/xb0 ALCHEMICAL SYMBOL FOR DAY-NIGHT
-+<U0001F771> /xf0/x9f/x9d/xb1 ALCHEMICAL SYMBOL FOR MONTH
-+<U0001F772> /xf0/x9f/x9d/xb2 ALCHEMICAL SYMBOL FOR HALF DRAM
-+<U0001F773> /xf0/x9f/x9d/xb3 ALCHEMICAL SYMBOL FOR HALF OUNCE
- <U00020000>..<U0002003F> /xf0/xa0/x80/x80 <CJK>
- <U00020040>..<U0002007F> /xf0/xa0/x81/x80 <CJK>
- <U00020080>..<U000200BF> /xf0/xa0/x82/x80 <CJK>
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/ar_IN
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/ar_IN
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/ar_IN
-@@ -52,7 +52,7 @@ LC_MONETARY
- % for IBM Class for Unicode.
- %
- int_curr_symbol       "<U0049><U004E><U0052><U0020>"
--currency_symbol       "<U20A8>"
-+currency_symbol       "<U20B9>"
- mon_decimal_point     "<U002E>"
- mon_thousands_sep     "<U002C>"
- mon_grouping          3;2
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/as_IN
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/as_IN
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/as_IN
-@@ -51,7 +51,7 @@ END LC_NUMERIC
- %%%%%%%%%%%%%
- LC_MONETARY
- int_curr_symbol       "<U0049><U004E><U0052><U0020>"
--currency_symbol       "<U099F><U0995><U09BE>"
-+currency_symbol       "<U20B9>"
- mon_decimal_point     "<U002E>"
- mon_thousands_sep     "<U002C>"
- mon_grouping          3;2
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/bn_IN
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/bn_IN
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/bn_IN
-@@ -53,7 +53,7 @@ LC_MONETARY
- % for IBM Class for Unicode.
- %
- int_curr_symbol       "<U0049><U004E><U0052><U0020>"
--currency_symbol       "<U099F><U09BE><U0995><U09BE>"
-+currency_symbol       "<U20B9>"
- mon_decimal_point     "<U002E>"
- mon_thousands_sep     "<U002C>"
- mon_grouping          2;3
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/en_IN
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/en_IN
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/en_IN
-@@ -52,7 +52,7 @@ LC_MONETARY
- % for IBM Class for Unicode.
- %
- int_curr_symbol       "<U0049><U004E><U0052><U0020>"
--currency_symbol       "<U20A8>"
-+currency_symbol       "<U20B9>"
- mon_decimal_point     "<U002E>"
- mon_thousands_sep     "<U002C>"
- mon_grouping          3;2
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/gu_IN
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/gu_IN
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/gu_IN
-@@ -71,7 +71,7 @@ LC_MONETARY
- % for IBM Class for Unicode/Java
- %
- int_curr_symbol       "<U0049><U004E><U0052><U0020>"
--currency_symbol       "<U0AB0><U0AC1>"
-+currency_symbol       "<U20B9>"
- mon_decimal_point     "<U002E>"
- mon_thousands_sep     "<U002C>"
- mon_grouping          3
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/hi_IN
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/hi_IN
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/hi_IN
-@@ -69,7 +69,7 @@ LC_MONETARY
- % for IBM Class for Unicode/Java
- %
- int_curr_symbol       "<U0049><U004E><U0052><U0020>"
--currency_symbol       "<U0930><U0942>"
-+currency_symbol       "<U20B9>"
- mon_decimal_point     "<U002E>"
- mon_thousands_sep     "<U002C>"
- mon_grouping          3
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/kn_IN
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/kn_IN
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/kn_IN
-@@ -71,8 +71,7 @@ LC_MONETARY
- % for IBM Class for Unicode/Java
- %
- int_curr_symbol       "<U0049><U004E><U0052><U0020>"
--% *** Change this to reflect Kannada , in Dev it is RA with VS U attached
--currency_symbol       "<U0CB0><U0CC2>"
-+currency_symbol       "<U20B9>"
- mon_decimal_point     "<U002E>"
- mon_thousands_sep     "<U002C>"
- mon_grouping          3
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/kok_IN
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/kok_IN
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/kok_IN
-@@ -49,7 +49,7 @@ LC_MONETARY
- % for IBM Class for Unicode.
- %
- int_curr_symbol       "<U0049><U004E><U0052><U0020>"
--currency_symbol       "<U0930><U0941>"
-+currency_symbol       "<U20B9>"
- mon_decimal_point     "<U002E>"
- mon_thousands_sep     "<U002C>"
- mon_grouping          3
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/ks_IN
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/ks_IN
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/ks_IN
-@@ -57,7 +57,7 @@ LC_MONETARY
- % for IBM Class for Unicode.
- %
- int_curr_symbol       "<U0049><U004E><U0052><U0020>"
--currency_symbol       "<U20A8>"
-+currency_symbol       "<U20B9>"
- mon_decimal_point     "<U002E>"
- mon_thousands_sep     "<U002C>"
- mon_grouping          3
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/ml_IN
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/ml_IN
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/ml_IN
-@@ -69,7 +69,7 @@ LC_MONETARY
- % for IBM Class for Unicode.
- %
- int_curr_symbol     "<U0049><U004E><U0052><U0020>"
--currency_symbol     "<U0D30><U0D42>"
-+currency_symbol     "<U20B9>"
- mon_decimal_point     "<U002E>"
- mon_thousands_sep     "<U002C>"
- mon_grouping          3;2
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/mr_IN
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/mr_IN
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/mr_IN
-@@ -70,7 +70,7 @@ LC_MONETARY
- % for IBM Class for Unicode.
- %
- int_curr_symbol       "<U0049><U004E><U0052><U0020>"
--currency_symbol       "<U0930><U0941>"
-+currency_symbol       "<U20B9>"
- mon_decimal_point     "<U002E>"
- mon_thousands_sep     "<U002C>"
- mon_grouping          3
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/or_IN
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/or_IN
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/or_IN
-@@ -607,7 +607,7 @@ END LC_NUMERIC
- %%%%%%%%%%%%%
- LC_MONETARY
- int_curr_symbol       "<U0049><U004E><U0052><U0020>"
--currency_symbol       "<U003D><U0030><U0023><U0052><U0073><U002E><U007C><U0031><U0023><U0052><U0065><U002E><U007C><U0031><U003C><U0052><U0073><U002E>"
-+currency_symbol       "<U20B9>"
- mon_decimal_point     "<U002E>"
- mon_thousands_sep     "<U002C>"
- mon_grouping          3;2
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/pa_IN
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/pa_IN
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/pa_IN
-@@ -66,7 +66,7 @@ END LC_COLLATE
- LC_MONETARY
- % This is the POSIX Locale definition the LC_MONETARY category.
- int_curr_symbol       "<U0049><U004E><U0052><U0020>"
--currency_symbol       "<U0A30><U0A41><U0A2A><U0A0F>"
-+currency_symbol       "<U20B9>"
- mon_decimal_point     "<U002E>"
- mon_thousands_sep     "<U002C>"
- mon_grouping          3
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/sa_IN
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/sa_IN
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/sa_IN
-@@ -52,7 +52,7 @@ LC_MONETARY
- % for IBM Class for Unicode/Java
- %
- int_curr_symbol       "<U0049><U004E><U0052><U0020>"
--currency_symbol       "<U0930><U0942>"
-+currency_symbol       "<U20B9>"
- mon_decimal_point     "<U002E>"
- mon_thousands_sep     "<U002C>"
- mon_grouping          3
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/sd_IN
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/sd_IN
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/sd_IN
-@@ -57,7 +57,7 @@ LC_MONETARY
- % for IBM Class for Unicode.
- %
- int_curr_symbol       "<U0049><U004E><U0052><U0020>"
--currency_symbol       "<U20A8>"
-+currency_symbol       "<U20B9>"
- mon_decimal_point     "<U002E>"
- mon_thousands_sep     "<U002C>"
- mon_grouping          3
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/ta_IN
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/ta_IN
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/ta_IN
-@@ -74,7 +74,7 @@ LC_MONETARY
- % for IBM Class for Unicode.
- %
- int_curr_symbol       "<U0049><U004E><U0052><U0020>"
--currency_symbol       "<U20A8>"
-+currency_symbol       "<U20B9>"
- mon_decimal_point     "<U002E>"
- mon_thousands_sep     "<U002C>"
- mon_grouping          3;2
-Index: glibc-2.12-2-gc4ccff1/localedata/locales/te_IN
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/localedata/locales/te_IN
-+++ glibc-2.12-2-gc4ccff1/localedata/locales/te_IN
-@@ -73,7 +73,7 @@ LC_MONETARY
- % for IBM Class for Unicode.
- %
- int_curr_symbol       "<U0049><U004E><U0052><U0020>"
--currency_symbol       "<U0C30><U0C42><U002E>"
-+currency_symbol       "<U20B9>"
- mon_decimal_point     "<U002E>"
- mon_thousands_sep     "<U002C>"
- mon_grouping          3;2
diff --git a/src/patches/glibc/glibc-rh694386.patch b/src/patches/glibc/glibc-rh694386.patch
deleted file mode 100644 (file)
index 3932eb8..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-2011-03-28  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * sysdeps/powerpc/powerpc32/power4/strncmp.S: Don't read past
-       differing bytes.
-       * sysdeps/powerpc/powerpc64/power4/strncmp.S: Likewise.
-
-diff --git a/sysdeps/powerpc/powerpc32/power4/strncmp.S b/sysdeps/powerpc/powerpc32/power4/strncmp.S
-index fc0835e..f5d47af 100644
---- a/sysdeps/powerpc/powerpc32/power4/strncmp.S
-+++ b/sysdeps/powerpc/powerpc32/power4/strncmp.S
-@@ -139,30 +139,31 @@ L(u1):
-       bdz     L(u4)
-       cmpw    rWORD1, rWORD2
-       beq-    cr1, L(u4)
-+      bne-    L(u4)
-       lbzu    rWORD3, 1(rSTR1)
-       lbzu    rWORD4, 1(rSTR2)
--      bne-    L(u4)
-       cmpwi   cr1, rWORD3, 0
-       bdz     L(u3)
-       cmpw    rWORD3, rWORD4
-       beq-    cr1, L(u3)
-+      bne-    L(u3)
-       lbzu    rWORD1, 1(rSTR1)
-       lbzu    rWORD2, 1(rSTR2)
--      bne-    L(u3)
-       cmpwi   cr1, rWORD1, 0
-       bdz     L(u4)
-       cmpw    rWORD1, rWORD2
-       beq-    cr1, L(u4)
-+      bne-    L(u4)
-       lbzu    rWORD3, 1(rSTR1)
-       lbzu    rWORD4, 1(rSTR2)
--      bne-    L(u4)
-       cmpwi   cr1, rWORD3, 0
-       bdz     L(u3)
-       cmpw    rWORD3, rWORD4
-       beq-    cr1, L(u3)
-+      bne-    L(u3)
-       lbzu    rWORD1, 1(rSTR1)
-       lbzu    rWORD2, 1(rSTR2)
--      beq+    L(u1)
-+      b       L(u1)
- L(u3):  sub     rRTN, rWORD3, rWORD4
-         blr
-diff --git a/sysdeps/powerpc/powerpc64/power4/strncmp.S b/sysdeps/powerpc/powerpc64/power4/strncmp.S
-index 7a1665d..94ae85b 100644
---- a/sysdeps/powerpc/powerpc64/power4/strncmp.S
-+++ b/sysdeps/powerpc/powerpc64/power4/strncmp.S
-@@ -143,30 +143,31 @@ L(u1):
-       bdz     L(u4)
-       cmpd    rWORD1, rWORD2
-       beq-    cr1, L(u4)
-+      bne-    L(u4)
-       lbzu    rWORD3, 1(rSTR1)
-       lbzu    rWORD4, 1(rSTR2)
--      bne-    L(u4)
-       cmpdi   cr1, rWORD3, 0
-       bdz     L(u3)
-       cmpd    rWORD3, rWORD4
-       beq-    cr1, L(u3)
-+      bne-    L(u3)
-       lbzu    rWORD1, 1(rSTR1)
-       lbzu    rWORD2, 1(rSTR2)
--      bne-    L(u3)
-       cmpdi   cr1, rWORD1, 0
-       bdz     L(u4)
-       cmpd    rWORD1, rWORD2
-       beq-    cr1, L(u4)
-+      bne-    L(u4)
-       lbzu    rWORD3, 1(rSTR1)
-       lbzu    rWORD4, 1(rSTR2)
--      bne-    L(u4)
-       cmpdi   cr1, rWORD3, 0
-       bdz     L(u3)
-       cmpd    rWORD3, rWORD4
-       beq-    cr1, L(u3)
-+      bne-    L(u3)
-       lbzu    rWORD1, 1(rSTR1)
-       lbzu    rWORD2, 1(rSTR2)
--      beq+    L(u1)
-+      b       L(u1)
- L(u3):  sub     rRTN, rWORD3, rWORD4
-         blr
diff --git a/src/patches/glibc/glibc-rh695595.patch b/src/patches/glibc/glibc-rh695595.patch
deleted file mode 100644 (file)
index 0e6c72b..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-2010-11-11  H.J. Lu  <hongjiu.lu@intel.com>
-
-       * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features):
-       Support Intel processor model 6 and model 0x2c.
-
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/init-arch.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/multiarch/init-arch.c
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/init-arch.c
-@@ -81,6 +81,7 @@ __init_cpu_features (void)
-           case 0x1e:
-           case 0x1f:
-           case 0x25:
-+          case 0x2c:
-           case 0x2e:
-           case 0x2f:
-             /* Rep string instructions are fast on Intel Core i3, i5
diff --git a/src/patches/glibc/glibc-rh695963.patch b/src/patches/glibc/glibc-rh695963.patch
deleted file mode 100644 (file)
index e8053dc..0000000
+++ /dev/null
@@ -1,1284 +0,0 @@
-2010-08-27  Ulrich Drepper  <drepper@redhat.com>
-
-       * sysdeps/x86_64/multiarch/strlen-no-bsf.S: Move to .text.slow section.
-
-       * sysdeps/x86_64/strlen.S: Minimal code improvement.
-
-2010-08-26  H.J. Lu  <hongjiu.lu@intel.com>
-
-       * sysdeps/x86_64/strlen.S: Unroll the loop.
-       * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
-       strlen-sse2 strlen-sse2-bsf.
-       * sysdeps/x86_64/multiarch/strlen.S ((strlen): Return
-       __strlen_no_bsf if bit_Slow_BSF is set.
-       (__strlen_sse42): Removed.
-       * sysdeps/x86_64/multiarch/strlen-no-bsf.S: New file.
-       * sysdeps/x86_64/multiarch/strlen-sse4.S: New file.
-
-2010-08-25  H.J. Lu  <hongjiu.lu@intel.com>
-
-       * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add
-       strlen-sse2 strlen-sse2-bsf.
-       * sysdeps/i386/i686/multiarch/strlen.S (strlen): Return
-       __strlen_sse2_bsf if bit_Slow_BSF is unset.
-       (__strlen_sse2): Removed.
-       * sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S: New file.
-       * sysdeps/i386/i686/multiarch/strlen-sse2.S: New file.
-       * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): Set
-       bit_Slow_BSF for Atom.
-       * sysdeps/x86_64/multiarch/init-arch.h (bit_Slow_BSF): Define.
-       (index_Slow_BSF): Define.
-       (HAS_SLOW_BSF): Define.
-
-Index: glibc-2.12-2-gc4ccff1/sysdeps/i386/i686/multiarch/Makefile
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/i386/i686/multiarch/Makefile
-+++ glibc-2.12-2-gc4ccff1/sysdeps/i386/i686/multiarch/Makefile
-@@ -9,7 +9,8 @@ sysdep_routines += bzero-sse2 memset-sse
-                  memmove-ssse3-rep bcopy-ssse3 bcopy-ssse3-rep \
-                  memset-sse2-rep bzero-sse2-rep strcmp-ssse3 \
-                  strcmp-sse4 strncmp-c strncmp-ssse3 strncmp-sse4 \
--                 memcmp-ssse3 memcmp-sse4 strcasestr-nonascii
-+                 memcmp-ssse3 memcmp-sse4 strcasestr-nonascii \
-+                 strlen-sse2 strlen-sse2-bsf
- ifeq (yes,$(config-cflags-sse4))
- sysdep_routines += strcspn-c strpbrk-c strspn-c strstr-c strcasestr-c
- CFLAGS-strcspn-c.c += -msse4
-Index: glibc-2.12-2-gc4ccff1/sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S
-@@ -0,0 +1,127 @@
-+/* strlen with SSE2 and BSF
-+   Copyright (C) 2010 Free Software Foundation, Inc.
-+   Contributed by Intel Corporation.
-+   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 SHARED && !defined NOT_IN_libc
-+
-+#include <sysdep.h>
-+#include "asm-syntax.h"
-+
-+#define CFI_PUSH(REG)                                         \
-+  cfi_adjust_cfa_offset (4);                                  \
-+  cfi_rel_offset (REG, 0)
-+
-+#define CFI_POP(REG)                                          \
-+  cfi_adjust_cfa_offset (-4);                                 \
-+  cfi_restore (REG)
-+
-+#define PUSH(REG)     pushl REG; CFI_PUSH (REG)
-+#define POP(REG)      popl REG; CFI_POP (REG)
-+#define PARMS         4 + 8   /* Preserve ESI and EDI.  */
-+#define       STR             PARMS
-+#define ENTRANCE      PUSH (%esi); PUSH (%edi); cfi_remember_state
-+#define RETURN                POP (%edi); POP (%esi); ret; \
-+                      cfi_restore_state; cfi_remember_state
-+
-+      .text
-+ENTRY ( __strlen_sse2_bsf)
-+      ENTRANCE
-+      mov     STR(%esp), %edi
-+      xor     %eax, %eax
-+      mov     %edi, %ecx
-+      and     $0x3f, %ecx
-+      pxor    %xmm0, %xmm0
-+      cmp     $0x30, %ecx
-+      ja      L(next)
-+      movdqu  (%edi), %xmm1
-+      pcmpeqb %xmm1, %xmm0
-+      pmovmskb %xmm0, %edx
-+      test    %edx, %edx
-+      jnz     L(exit_less16)
-+      mov     %edi, %eax
-+      and     $-16, %eax
-+      jmp     L(align16_start)
-+L(next):
-+
-+      mov     %edi, %eax
-+      and     $-16, %eax
-+      pcmpeqb (%eax), %xmm0
-+      mov     $-1, %esi
-+      sub     %eax, %ecx
-+      shl     %cl, %esi
-+      pmovmskb %xmm0, %edx
-+      and     %esi, %edx
-+      jnz     L(exit)
-+L(align16_start):
-+      pxor    %xmm0, %xmm0
-+      pxor    %xmm1, %xmm1
-+      pxor    %xmm2, %xmm2
-+      pxor    %xmm3, %xmm3
-+      .p2align 4
-+L(align16_loop):
-+      pcmpeqb 16(%eax), %xmm0
-+      pmovmskb %xmm0, %edx
-+      test    %edx, %edx
-+      jnz     L(exit16)
-+
-+      pcmpeqb 32(%eax), %xmm1
-+      pmovmskb %xmm1, %edx
-+      test    %edx, %edx
-+      jnz     L(exit32)
-+
-+      pcmpeqb 48(%eax), %xmm2
-+      pmovmskb %xmm2, %edx
-+      test    %edx, %edx
-+      jnz     L(exit48)
-+
-+      pcmpeqb 64(%eax), %xmm3
-+      pmovmskb %xmm3, %edx
-+      lea     64(%eax), %eax
-+      test    %edx, %edx
-+      jz      L(align16_loop)
-+L(exit):
-+      sub     %edi, %eax
-+L(exit_less16):
-+      bsf     %edx, %edx
-+      add     %edx, %eax
-+      RETURN
-+L(exit16):
-+      sub     %edi, %eax
-+      bsf     %edx, %edx
-+      add     %edx, %eax
-+      add     $16, %eax
-+      RETURN
-+L(exit32):
-+      sub     %edi, %eax
-+      bsf     %edx, %edx
-+      add     %edx, %eax
-+      add     $32, %eax
-+      RETURN
-+L(exit48):
-+      sub     %edi, %eax
-+      bsf     %edx, %edx
-+      add     %edx, %eax
-+      add     $48, %eax
-+      POP (%edi)
-+      POP (%esi)
-+      ret
-+
-+END ( __strlen_sse2_bsf)
-+
-+#endif
-Index: glibc-2.12-2-gc4ccff1/sysdeps/i386/i686/multiarch/strlen-sse2.S
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/sysdeps/i386/i686/multiarch/strlen-sse2.S
-@@ -0,0 +1,347 @@
-+/* strlen with SSE2
-+   Copyright (C) 2010 Free Software Foundation, Inc.
-+   Contributed by Intel Corporation.
-+   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 SHARED && !defined NOT_IN_libc
-+
-+#include <sysdep.h>
-+#include "asm-syntax.h"
-+
-+#define CFI_PUSH(REG)                                         \
-+  cfi_adjust_cfa_offset (4);                                  \
-+  cfi_rel_offset (REG, 0)
-+
-+#define CFI_POP(REG)                                          \
-+  cfi_adjust_cfa_offset (-4);                                 \
-+  cfi_restore (REG)
-+
-+#define PUSH(REG)     pushl REG; CFI_PUSH (REG)
-+#define POP(REG)      popl REG; CFI_POP (REG)
-+#define PARMS         4
-+#define       STR             PARMS
-+#define ENTRANCE
-+#define RETURN                ret
-+
-+      .text
-+ENTRY (__strlen_sse2)
-+      ENTRANCE
-+      mov     STR(%esp), %edx
-+      xor     %eax, %eax
-+      cmpb    $0, (%edx)
-+      jz      L(exit_tail0)
-+      cmpb    $0, 1(%edx)
-+      jz      L(exit_tail1)
-+      cmpb    $0, 2(%edx)
-+      jz      L(exit_tail2)
-+      cmpb    $0, 3(%edx)
-+      jz      L(exit_tail3)
-+      cmpb    $0, 4(%edx)
-+      jz      L(exit_tail4)
-+      cmpb    $0, 5(%edx)
-+      jz      L(exit_tail5)
-+      cmpb    $0, 6(%edx)
-+      jz      L(exit_tail6)
-+      cmpb    $0, 7(%edx)
-+      jz      L(exit_tail7)
-+      cmpb    $0, 8(%edx)
-+      jz      L(exit_tail8)
-+      cmpb    $0, 9(%edx)
-+      jz      L(exit_tail9)
-+      cmpb    $0, 10(%edx)
-+      jz      L(exit_tail10)
-+      cmpb    $0, 11(%edx)
-+      jz      L(exit_tail11)
-+      cmpb    $0, 12(%edx)
-+      jz      L(exit_tail12)
-+      cmpb    $0, 13(%edx)
-+      jz      L(exit_tail13)
-+      cmpb    $0, 14(%edx)
-+      jz      L(exit_tail14)
-+      cmpb    $0, 15(%edx)
-+      jz      L(exit_tail15)
-+      pxor    %xmm0, %xmm0
-+      mov     %edx, %eax
-+      mov     %edx, %ecx
-+      and     $-16, %eax
-+      add     $16, %ecx
-+      add     $16, %eax
-+
-+      pcmpeqb (%eax), %xmm0
-+      pmovmskb %xmm0, %edx
-+      pxor    %xmm1, %xmm1
-+      test    %edx, %edx
-+      lea     16(%eax), %eax
-+      jnz     L(exit)
-+
-+      pcmpeqb (%eax), %xmm1
-+      pmovmskb %xmm1, %edx
-+      pxor    %xmm2, %xmm2
-+      test    %edx, %edx
-+      lea     16(%eax), %eax
-+      jnz     L(exit)
-+
-+
-+      pcmpeqb (%eax), %xmm2
-+      pmovmskb %xmm2, %edx
-+      pxor    %xmm3, %xmm3
-+      test    %edx, %edx
-+      lea     16(%eax), %eax
-+      jnz     L(exit)
-+
-+      pcmpeqb (%eax), %xmm3
-+      pmovmskb %xmm3, %edx
-+      test    %edx, %edx
-+      lea     16(%eax), %eax
-+      jnz     L(exit)
-+
-+      pcmpeqb (%eax), %xmm0
-+      pmovmskb %xmm0, %edx
-+      test    %edx, %edx
-+      lea     16(%eax), %eax
-+      jnz     L(exit)
-+
-+      pcmpeqb (%eax), %xmm1
-+      pmovmskb %xmm1, %edx
-+      test    %edx, %edx
-+      lea     16(%eax), %eax
-+      jnz     L(exit)
-+
-+      pcmpeqb (%eax), %xmm2
-+      pmovmskb %xmm2, %edx
-+      test    %edx, %edx
-+      lea     16(%eax), %eax
-+      jnz     L(exit)
-+
-+      pcmpeqb (%eax), %xmm3
-+      pmovmskb %xmm3, %edx
-+      test    %edx, %edx
-+      lea     16(%eax), %eax
-+      jnz     L(exit)
-+
-+      pcmpeqb (%eax), %xmm0
-+      pmovmskb %xmm0, %edx
-+      test    %edx, %edx
-+      lea     16(%eax), %eax
-+      jnz     L(exit)
-+
-+      pcmpeqb (%eax), %xmm1
-+      pmovmskb %xmm1, %edx
-+      test    %edx, %edx
-+      lea     16(%eax), %eax
-+      jnz     L(exit)
-+
-+      pcmpeqb (%eax), %xmm2
-+      pmovmskb %xmm2, %edx
-+      test    %edx, %edx
-+      lea     16(%eax), %eax
-+      jnz     L(exit)
-+
-+      pcmpeqb (%eax), %xmm3
-+      pmovmskb %xmm3, %edx
-+      test    %edx, %edx
-+      lea     16(%eax), %eax
-+      jnz     L(exit)
-+
-+      pcmpeqb (%eax), %xmm0
-+      pmovmskb %xmm0, %edx
-+      test    %edx, %edx
-+      lea     16(%eax), %eax
-+      jnz     L(exit)
-+
-+      pcmpeqb (%eax), %xmm1
-+      pmovmskb %xmm1, %edx
-+      test    %edx, %edx
-+      lea     16(%eax), %eax
-+      jnz     L(exit)
-+
-+      pcmpeqb (%eax), %xmm2
-+      pmovmskb %xmm2, %edx
-+      test    %edx, %edx
-+      lea     16(%eax), %eax
-+      jnz     L(exit)
-+
-+      pcmpeqb (%eax), %xmm3
-+      pmovmskb %xmm3, %edx
-+      test    %edx, %edx
-+      lea     16(%eax), %eax
-+      jnz     L(exit)
-+
-+      and     $-0x40, %eax
-+      PUSH (%esi)
-+      PUSH (%edi)
-+      PUSH (%ebx)
-+      PUSH (%ebp)
-+      xor     %ebp, %ebp
-+L(aligned_64):
-+      pcmpeqb (%eax), %xmm0
-+      pcmpeqb 16(%eax), %xmm1
-+      pcmpeqb 32(%eax), %xmm2
-+      pcmpeqb 48(%eax), %xmm3
-+      pmovmskb %xmm0, %edx
-+      pmovmskb %xmm1, %esi
-+      pmovmskb %xmm2, %edi
-+      pmovmskb %xmm3, %ebx
-+      or      %edx, %ebp
-+      or      %esi, %ebp
-+      or      %edi, %ebp
-+      or      %ebx, %ebp
-+      lea     64(%eax), %eax
-+      jz      L(aligned_64)
-+L(48leave):
-+      test    %edx, %edx
-+      jnz     L(aligned_64_exit_16)
-+      test    %esi, %esi
-+      jnz     L(aligned_64_exit_32)
-+      test    %edi, %edi
-+      jnz     L(aligned_64_exit_48)
-+      mov     %ebx, %edx
-+      lea     (%eax), %eax
-+      jmp     L(aligned_64_exit)
-+L(aligned_64_exit_48):
-+      lea     -16(%eax), %eax
-+      mov     %edi, %edx
-+      jmp     L(aligned_64_exit)
-+L(aligned_64_exit_32):
-+      lea     -32(%eax), %eax
-+      mov     %esi, %edx
-+      jmp     L(aligned_64_exit)
-+L(aligned_64_exit_16):
-+      lea     -48(%eax), %eax
-+L(aligned_64_exit):
-+      POP (%ebp)
-+      POP (%ebx)
-+      POP (%edi)
-+      POP (%esi)
-+L(exit):
-+      sub     %ecx, %eax
-+      test    %dl, %dl
-+      jz      L(exit_high)
-+      test    $0x01, %dl
-+      jnz     L(exit_tail0)
-+
-+      test    $0x02, %dl
-+      jnz     L(exit_tail1)
-+
-+      test    $0x04, %dl
-+      jnz     L(exit_tail2)
-+
-+      test    $0x08, %dl
-+      jnz     L(exit_tail3)
-+
-+      test    $0x10, %dl
-+      jnz     L(exit_tail4)
-+
-+      test    $0x20, %dl
-+      jnz     L(exit_tail5)
-+
-+      test    $0x40, %dl
-+      jnz     L(exit_tail6)
-+      add     $7, %eax
-+L(exit_tail0):
-+      RETURN
-+
-+L(exit_high):
-+      add     $8, %eax
-+      test    $0x01, %dh
-+      jnz     L(exit_tail0)
-+
-+      test    $0x02, %dh
-+      jnz     L(exit_tail1)
-+
-+      test    $0x04, %dh
-+      jnz     L(exit_tail2)
-+
-+      test    $0x08, %dh
-+      jnz     L(exit_tail3)
-+
-+      test    $0x10, %dh
-+      jnz     L(exit_tail4)
-+
-+      test    $0x20, %dh
-+      jnz     L(exit_tail5)
-+
-+      test    $0x40, %dh
-+      jnz     L(exit_tail6)
-+      add     $7, %eax
-+      RETURN
-+
-+      .p2align 4
-+L(exit_tail1):
-+      add     $1, %eax
-+      RETURN
-+
-+L(exit_tail2):
-+      add     $2, %eax
-+      RETURN
-+
-+L(exit_tail3):
-+      add     $3, %eax
-+      RETURN
-+
-+L(exit_tail4):
-+      add     $4, %eax
-+      RETURN
-+
-+L(exit_tail5):
-+      add     $5, %eax
-+      RETURN
-+
-+L(exit_tail6):
-+      add     $6, %eax
-+      RETURN
-+
-+L(exit_tail7):
-+      add     $7, %eax
-+      RETURN
-+
-+L(exit_tail8):
-+      add     $8, %eax
-+      RETURN
-+
-+L(exit_tail9):
-+      add     $9, %eax
-+      RETURN
-+
-+L(exit_tail10):
-+      add     $10, %eax
-+      RETURN
-+
-+L(exit_tail11):
-+      add     $11, %eax
-+      RETURN
-+
-+L(exit_tail12):
-+      add     $12, %eax
-+      RETURN
-+
-+L(exit_tail13):
-+      add     $13, %eax
-+      RETURN
-+
-+L(exit_tail14):
-+      add     $14, %eax
-+      RETURN
-+
-+L(exit_tail15):
-+      add     $15, %eax
-+      ret
-+
-+END (__strlen_sse2)
-+
-+#endif
-Index: glibc-2.12-2-gc4ccff1/sysdeps/i386/i686/multiarch/strlen.S
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/i386/i686/multiarch/strlen.S
-+++ glibc-2.12-2-gc4ccff1/sysdeps/i386/i686/multiarch/strlen.S
-@@ -48,6 +48,9 @@ ENTRY(strlen)
- 1:    leal    __strlen_ia32@GOTOFF(%ebx), %eax
-       testl   $bit_SSE2, CPUID_OFFSET+index_SSE2+__cpu_features@GOTOFF(%ebx)
-       jz      2f
-+      leal    __strlen_sse2_bsf@GOTOFF(%ebx), %eax
-+      testl   $bit_Slow_BSF, FEATURE_OFFSET+index_Slow_BSF+__cpu_features@GOTOFF(%ebx)
-+      jz      2f
-       leal    __strlen_sse2@GOTOFF(%ebx), %eax
- 2:    popl    %ebx
-       cfi_adjust_cfa_offset (-4);
-@@ -55,84 +58,6 @@ ENTRY(strlen)
-       ret
- END(strlen)
--#define CFI_POP(REG)                                          \
--  cfi_adjust_cfa_offset (-4);                                 \
--  cfi_restore (REG)
--
--#define RETURN                popl %esi; CFI_POP (esi); ret
--
--      .text
--ENTRY (__strlen_sse2)
--/*
-- * This implementation uses SSE instructions to compare up to 16 bytes
-- * at a time looking for the end of string (null char).
-- */
--      pushl   %esi
--      cfi_adjust_cfa_offset (4)
--      cfi_rel_offset (%esi, 0)
--      mov     8(%esp), %eax
--      mov     %eax, %ecx
--      pxor    %xmm0, %xmm0            /* 16 null chars */
--      mov     %eax, %esi
--      and     $15, %ecx
--      jz      1f                      /* string is 16 byte aligned */
--
--      /*
--      * Unaligned case. Round down to 16-byte boundary before comparing
--      * 16 bytes for a null char. The code then compensates for any extra chars
--      * preceding the start of the string.
--      */
--      and     $-16, %esi
--
--      pcmpeqb (%esi), %xmm0
--      lea     16(%eax), %esi
--      pmovmskb %xmm0, %edx
--
--      shr     %cl, %edx               /* Compensate for bytes preceding the string */
--      test    %edx, %edx
--      jnz     2f
--      sub     %ecx, %esi              /* no null, adjust to next 16-byte boundary */
--      pxor    %xmm0, %xmm0            /* clear xmm0, may have been changed... */
--
--      .p2align 4
--1:                                    /* 16 byte aligned */
--      pcmpeqb (%esi), %xmm0           /* look for null bytes */
--      pmovmskb %xmm0, %edx            /* move each byte mask of %xmm0 to edx */
--
--      add     $16, %esi               /* prepare to search next 16 bytes */
--      test    %edx, %edx              /* if no null byte, %edx must be 0 */
--      jnz     2f                      /* found a null */
--
--      pcmpeqb (%esi), %xmm0
--      pmovmskb %xmm0, %edx
--      add     $16, %esi
--      test    %edx, %edx
--      jnz     2f
--
--      pcmpeqb (%esi), %xmm0
--      pmovmskb %xmm0, %edx
--      add     $16, %esi
--      test    %edx, %edx
--      jnz     2f
--
--      pcmpeqb (%esi), %xmm0
--      pmovmskb %xmm0, %edx
--      add     $16, %esi
--      test    %edx, %edx
--      jz      1b
--
--2:
--      neg     %eax
--      lea     -16(%eax, %esi), %eax   /* calculate exact offset */
--      bsf     %edx, %ecx              /* Least significant 1 bit is index of null */
--      add     %ecx, %eax
--      popl    %esi
--      cfi_adjust_cfa_offset (-4)
--      cfi_restore (%esi)
--      ret
--
--END (__strlen_sse2)
--
- # undef ENTRY
- # define ENTRY(name) \
-       .type __strlen_ia32, @function; \
---- a/sysdeps/x86_64/multiarch/Makefile        2012-03-01 10:43:30.060487726 -0700
-+++ b/sysdeps/x86_64/multiarch/Makefile        2012-03-01 10:45:57.894692115 -0700
-@@ -7,7 +7,7 @@ ifeq ($(subdir),string)
- sysdep_routines += stpncpy-c strncpy-c strcmp-ssse3 strncmp-ssse3 \
-                  strend-sse4 memcmp-sse4 \
-                  strcasestr-nonascii strcasecmp_l-ssse3 \
--                 strncase_l-ssse3 \
-+                 strncase_l-ssse3 strlen-sse4 strlen-no-bsf \
-                  memset-x86-64
- ifeq (yes,$(config-cflags-sse4))
- sysdep_routines += strcspn-c strpbrk-c strspn-c strstr-c strcasestr-c
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/init-arch.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/multiarch/init-arch.c
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/init-arch.c
-@@ -77,6 +77,12 @@ __init_cpu_features (void)
-         model += extended_model;
-         switch (model)
-           {
-+          case 0x1c:
-+          case 0x26:
-+            /* BSF is slow on Atom.  */
-+            __cpu_features.feature[index_Slow_BSF] |= bit_Slow_BSF;
-+            break;
-+
-           case 0x1a:
-           case 0x1e:
-           case 0x1f:
---- a/sysdeps/x86_64/multiarch/init-arch.h     2012-03-01 10:43:30.061487720 -0700
-+++ b/sysdeps/x86_64/multiarch/init-arch.h     2012-03-01 10:48:13.371963005 -0700
-@@ -17,6 +17,7 @@
-    02111-1307 USA.  */
- #define bit_Fast_Rep_String           (1 << 0)
-+#define bit_Slow_BSF                   (1 << 2)
- #define bit_Prefer_SSE_for_memop      (1 << 3)
- #ifdef        __ASSEMBLER__
-@@ -34,6 +35,7 @@
- # define index_SSE4_2 COMMON_CPUID_INDEX_1*CPUID_SIZE+CPUID_ECX_OFFSET
- #define index_Fast_Rep_String FEATURE_INDEX_1*FEATURE_SIZE
-+# define index_Slow_BSF                        FEATURE_INDEX_1*FEATURE_SIZE
- # define index_Prefer_SSE_for_memop   FEATURE_INDEX_1*FEATURE_SIZE
- #else /* __ASSEMBLER__ */
-@@ -105,11 +107,15 @@ extern const struct cpu_features *__get_
- # define HAS_FMA      HAS_CPU_FEATURE (COMMON_CPUID_INDEX_1, ecx, 12)
- # define index_Fast_Rep_String        FEATURE_INDEX_1
-+# define index_Slow_BSF                        FEATURE_INDEX_1
- # define index_Prefer_SSE_for_memop   FEATURE_INDEX_1
- #define HAS_ARCH_FEATURE(idx, bit) \
-   ((__get_cpu_features ()->feature[idx] & (bit)) != 0)
-+#define HAS_SLOW_BSF \
-+  HAS_ARCH_FEATURE (index_Slow_BSF, bit_Slow_BSF)
-+
- #define HAS_PREFER_SSE_FOR_MEMOP \
-   HAS_ARCH_FEATURE (index_Prefer_SSE_for_memop, bit_Prefer_SSE_for_memop)
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strlen-no-bsf.S
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strlen-no-bsf.S
-@@ -0,0 +1,309 @@
-+/* strlen without BSF
-+   Copyright (C) 2010 Free Software Foundation, Inc.
-+   Contributed by Intel Corporation.
-+   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 SHARED && !defined NOT_IN_libc
-+
-+#include <sysdep.h>
-+
-+      .section .text.slow,"ax",@progbits
-+ENTRY (__strlen_no_bsf)
-+      xor     %eax, %eax
-+      cmpb    $0, (%rdi)
-+      jz      L(exit_tail0)
-+      cmpb    $0, 1(%rdi)
-+      jz      L(exit_tail1)
-+      cmpb    $0, 2(%rdi)
-+      jz      L(exit_tail2)
-+      cmpb    $0, 3(%rdi)
-+      jz      L(exit_tail3)
-+      cmpb    $0, 4(%rdi)
-+      jz      L(exit_tail4)
-+      cmpb    $0, 5(%rdi)
-+      jz      L(exit_tail5)
-+      cmpb    $0, 6(%rdi)
-+      jz      L(exit_tail6)
-+      cmpb    $0, 7(%rdi)
-+      jz      L(exit_tail7)
-+      cmpb    $0, 8(%rdi)
-+      jz      L(exit_tail8)
-+      cmpb    $0, 9(%rdi)
-+      jz      L(exit_tail9)
-+      cmpb    $0, 10(%rdi)
-+      jz      L(exit_tail10)
-+      cmpb    $0, 11(%rdi)
-+      jz      L(exit_tail11)
-+      cmpb    $0, 12(%rdi)
-+      jz      L(exit_tail12)
-+      cmpb    $0, 13(%rdi)
-+      jz      L(exit_tail13)
-+      cmpb    $0, 14(%rdi)
-+      jz      L(exit_tail14)
-+      cmpb    $0, 15(%rdi)
-+      jz      L(exit_tail15)
-+      pxor    %xmm0, %xmm0
-+      mov     %rdi, %rcx
-+      mov     %rdi, %rax
-+      and     $-16, %rax
-+      add     $16, %rax
-+      add     $16, %rcx
-+
-+      pcmpeqb (%rax), %xmm0
-+      pmovmskb %xmm0, %edx
-+      pxor    %xmm1, %xmm1
-+      test    %edx, %edx
-+      lea     16(%rax), %rax
-+      jnz     L(exit)
-+
-+      pcmpeqb (%rax), %xmm1
-+      pmovmskb %xmm1, %edx
-+      pxor    %xmm2, %xmm2
-+      test    %edx, %edx
-+      lea     16(%rax), %rax
-+      jnz     L(exit)
-+
-+
-+      pcmpeqb (%rax), %xmm2
-+      pmovmskb %xmm2, %edx
-+      pxor    %xmm3, %xmm3
-+      test    %edx, %edx
-+      lea     16(%rax), %rax
-+      jnz     L(exit)
-+
-+      pcmpeqb (%rax), %xmm3
-+      pmovmskb %xmm3, %edx
-+      test    %edx, %edx
-+      lea     16(%rax), %rax
-+      jnz     L(exit)
-+
-+      pcmpeqb (%rax), %xmm0
-+      pmovmskb %xmm0, %edx
-+      test    %edx, %edx
-+      lea     16(%rax), %rax
-+      jnz     L(exit)
-+
-+      pcmpeqb (%rax), %xmm1
-+      pmovmskb %xmm1, %edx
-+      test    %edx, %edx
-+      lea     16(%rax), %rax
-+      jnz     L(exit)
-+
-+      pcmpeqb (%rax), %xmm2
-+      pmovmskb %xmm2, %edx
-+      test    %edx, %edx
-+      lea     16(%rax), %rax
-+      jnz     L(exit)
-+
-+      pcmpeqb (%rax), %xmm3
-+      pmovmskb %xmm3, %edx
-+      test    %edx, %edx
-+      lea     16(%rax), %rax
-+      jnz     L(exit)
-+
-+      pcmpeqb (%rax), %xmm0
-+      pmovmskb %xmm0, %edx
-+      test    %edx, %edx
-+      lea     16(%rax), %rax
-+      jnz     L(exit)
-+
-+      pcmpeqb (%rax), %xmm1
-+      pmovmskb %xmm1, %edx
-+      test    %edx, %edx
-+      lea     16(%rax), %rax
-+      jnz     L(exit)
-+
-+      pcmpeqb (%rax), %xmm2
-+      pmovmskb %xmm2, %edx
-+      test    %edx, %edx
-+      lea     16(%rax), %rax
-+      jnz     L(exit)
-+
-+      pcmpeqb (%rax), %xmm3
-+      pmovmskb %xmm3, %edx
-+      test    %edx, %edx
-+      lea     16(%rax), %rax
-+      jnz     L(exit)
-+
-+      pcmpeqb (%rax), %xmm0
-+      pmovmskb %xmm0, %edx
-+      test    %edx, %edx
-+      lea     16(%rax), %rax
-+      jnz     L(exit)
-+
-+      pcmpeqb (%rax), %xmm1
-+      pmovmskb %xmm1, %edx
-+      test    %edx, %edx
-+      lea     16(%rax), %rax
-+      jnz     L(exit)
-+
-+      pcmpeqb (%rax), %xmm2
-+      pmovmskb %xmm2, %edx
-+      test    %edx, %edx
-+      lea     16(%rax), %rax
-+      jnz     L(exit)
-+
-+      pcmpeqb (%rax), %xmm3
-+      pmovmskb %xmm3, %edx
-+      test    %edx, %edx
-+      lea     16(%rax), %rax
-+      jnz     L(exit)
-+
-+      and     $-0x40, %rax
-+      xor     %r8d, %r8d
-+L(aligned_64):
-+      pcmpeqb (%rax), %xmm0
-+      pcmpeqb 16(%rax), %xmm1
-+      pcmpeqb 32(%rax), %xmm2
-+      pcmpeqb 48(%rax), %xmm3
-+      pmovmskb %xmm0, %edx
-+      pmovmskb %xmm1, %esi
-+      pmovmskb %xmm2, %edi
-+      pmovmskb %xmm3, %r9d
-+      or      %edx, %r8d
-+      or      %esi, %r8d
-+      or      %edi, %r8d
-+      or      %r9d, %r8d
-+      lea     64(%rax), %rax
-+      jz      L(aligned_64)
-+
-+      test    %edx, %edx
-+      jnz     L(aligned_64_exit_16)
-+      test    %esi, %esi
-+      jnz     L(aligned_64_exit_32)
-+      test    %edi, %edi
-+      jnz     L(aligned_64_exit_48)
-+L(aligned_64_exit_64):
-+      mov     %r9d, %edx
-+      jmp     L(aligned_64_exit)
-+L(aligned_64_exit_48):
-+      lea     -16(%rax), %rax
-+      mov     %edi, %edx
-+      jmp     L(aligned_64_exit)
-+L(aligned_64_exit_32):
-+      lea     -32(%rax), %rax
-+      mov     %esi, %edx
-+      jmp     L(aligned_64_exit)
-+L(aligned_64_exit_16):
-+      lea     -48(%rax), %rax
-+L(aligned_64_exit):
-+L(exit):
-+      sub     %rcx, %rax
-+      test    %dl, %dl
-+      jz      L(exit_high)
-+      test    $0x01, %dl
-+      jnz     L(exit_tail0)
-+
-+      test    $0x02, %dl
-+      jnz     L(exit_tail1)
-+
-+      test    $0x04, %dl
-+      jnz     L(exit_tail2)
-+
-+      test    $0x08, %dl
-+      jnz     L(exit_tail3)
-+
-+      test    $0x10, %dl
-+      jnz     L(exit_tail4)
-+
-+      test    $0x20, %dl
-+      jnz     L(exit_tail5)
-+
-+      test    $0x40, %dl
-+      jnz     L(exit_tail6)
-+      add     $7, %eax
-+L(exit_tail0):
-+      ret
-+
-+L(exit_high):
-+      add     $8, %eax
-+      test    $0x01, %dh
-+      jnz     L(exit_tail0)
-+
-+      test    $0x02, %dh
-+      jnz     L(exit_tail1)
-+
-+      test    $0x04, %dh
-+      jnz     L(exit_tail2)
-+
-+      test    $0x08, %dh
-+      jnz     L(exit_tail3)
-+
-+      test    $0x10, %dh
-+      jnz     L(exit_tail4)
-+
-+      test    $0x20, %dh
-+      jnz     L(exit_tail5)
-+
-+      test    $0x40, %dh
-+      jnz     L(exit_tail6)
-+      add     $7, %eax
-+      ret
-+      .p2align 4
-+L(exit_tail1):
-+      add     $1, %eax
-+      ret
-+
-+L(exit_tail2):
-+      add     $2, %eax
-+      ret
-+
-+L(exit_tail3):
-+      add     $3, %eax
-+      ret
-+
-+L(exit_tail4):
-+      add     $4, %eax
-+      ret
-+
-+L(exit_tail5):
-+      add     $5, %eax
-+      ret
-+L(exit_tail6):
-+      add     $6, %eax
-+      ret
-+L(exit_tail7):
-+      add     $7, %eax
-+      ret
-+L(exit_tail8):
-+      add     $8, %eax
-+      ret
-+L(exit_tail9):
-+      add     $9, %eax
-+      ret
-+L(exit_tail10):
-+      add     $10, %eax
-+      ret
-+L(exit_tail11):
-+      add     $11, %eax
-+      ret
-+L(exit_tail12):
-+      add     $12, %eax
-+      ret
-+L(exit_tail13):
-+      add     $13, %eax
-+      ret
-+L(exit_tail14):
-+      add     $14, %eax
-+      ret
-+L(exit_tail15):
-+      add     $15, %eax
-+      ret
-+END (__strlen_no_bsf)
-+
-+#endif
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strlen-sse4.S
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strlen-sse4.S
-@@ -0,0 +1,85 @@
-+/* strlen with SSE4
-+   Copyright (C) 2009, 2010 Free Software Foundation, Inc.
-+   Contributed by Ulrich Drepper <drepper@redhat.com>.
-+   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 SHARED && !defined NOT_IN_libc
-+
-+#include <sysdep.h>
-+
-+      .section .text.sse4.2,"ax",@progbits
-+ENTRY (__strlen_sse42)
-+      pxor    %xmm1, %xmm1
-+      movl    %edi, %ecx
-+      movq    %rdi, %r8
-+      andq    $~15, %rdi
-+      xor     %edi, %ecx
-+      pcmpeqb (%rdi), %xmm1
-+      pmovmskb %xmm1, %edx
-+      shrl    %cl, %edx
-+      shll    %cl, %edx
-+      andl    %edx, %edx
-+      jnz     L(less16bytes)
-+      pxor    %xmm1, %xmm1
-+
-+      .p2align 4
-+L(more64bytes_loop):
-+      pcmpistri $0x08, 16(%rdi), %xmm1
-+      jz      L(more32bytes)
-+
-+      pcmpistri $0x08, 32(%rdi), %xmm1
-+      jz      L(more48bytes)
-+
-+      pcmpistri $0x08, 48(%rdi), %xmm1
-+      jz      L(more64bytes)
-+
-+      add     $64, %rdi
-+      pcmpistri $0x08, (%rdi), %xmm1
-+      jnz     L(more64bytes_loop)
-+      leaq    (%rdi,%rcx), %rax
-+      subq    %r8, %rax
-+      ret
-+
-+      .p2align 4
-+L(more32bytes):
-+      leaq    16(%rdi,%rcx, 1), %rax
-+      subq    %r8, %rax
-+      ret
-+
-+      .p2align 4
-+L(more48bytes):
-+      leaq    32(%rdi,%rcx, 1), %rax
-+      subq    %r8, %rax
-+      ret
-+
-+      .p2align 4
-+L(more64bytes):
-+      leaq    48(%rdi,%rcx, 1), %rax
-+      subq    %r8, %rax
-+      ret
-+
-+      .p2align 4
-+L(less16bytes):
-+      subq    %r8, %rdi
-+      bsfl    %edx, %eax
-+      addq    %rdi, %rax
-+      ret
-+
-+END (__strlen_sse42)
-+
-+#endif
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strlen.S
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/multiarch/strlen.S
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strlen.S
-@@ -36,74 +36,12 @@ ENTRY(strlen)
-       testl   $bit_SSE4_2, __cpu_features+CPUID_OFFSET+index_SSE4_2(%rip)
-       jz      2f
-       leaq    __strlen_sse42(%rip), %rax
--2:    ret
--END(strlen)
--
--
--      .section .text.sse4.2,"ax",@progbits
--      .align  16
--      .type   __strlen_sse42, @function
--__strlen_sse42:
--      cfi_startproc
--      CALL_MCOUNT
--      pxor    %xmm1, %xmm1
--      movl    %edi, %ecx
--      movq    %rdi, %r8
--      andq    $~15, %rdi
--      xor     %edi, %ecx
--      pcmpeqb (%rdi), %xmm1
--      pmovmskb %xmm1, %edx
--      shrl    %cl, %edx
--      shll    %cl, %edx
--      andl    %edx, %edx
--      jnz     L(less16bytes)
--      pxor    %xmm1, %xmm1
--
--      .p2align 4
--L(more64bytes_loop):
--      pcmpistri $0x08, 16(%rdi), %xmm1
--      jz      L(more32bytes)
--
--      pcmpistri $0x08, 32(%rdi), %xmm1
--      jz      L(more48bytes)
--
--      pcmpistri $0x08, 48(%rdi), %xmm1
--      jz      L(more64bytes)
--
--      add     $64, %rdi
--      pcmpistri $0x08, (%rdi), %xmm1
--      jnz     L(more64bytes_loop)
--      leaq    (%rdi,%rcx), %rax
--      subq    %r8, %rax
--      ret
--
--      .p2align 4
--L(more32bytes):
--      leaq    16(%rdi,%rcx, 1), %rax
--      subq    %r8, %rax
--      ret
--
--      .p2align 4
--L(more48bytes):
--      leaq    32(%rdi,%rcx, 1), %rax
--      subq    %r8, %rax
--      ret
--
--      .p2align 4
--L(more64bytes):
--      leaq    48(%rdi,%rcx, 1), %rax
--      subq    %r8, %rax
-       ret
--
--      .p2align 4
--L(less16bytes):
--      subq    %r8, %rdi
--      bsfl    %edx, %eax
--      addq    %rdi, %rax
--      ret
--      cfi_endproc
--      .size   __strlen_sse42, .-__strlen_sse42
--
-+2:    testl   $bit_Slow_BSF, __cpu_features+FEATURE_OFFSET+index_Slow_BSF(%rip)
-+      jz      3f
-+      leaq    __strlen_no_bsf(%rip), %rax
-+3:    ret
-+END(strlen)
- # undef ENTRY
- # define ENTRY(name) \
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strlen.S
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/strlen.S
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strlen.S
-@@ -23,29 +23,80 @@
-       .text
- ENTRY(strlen)
--      pxor    %xmm2, %xmm2
--      movq    %rdi, %rcx
--      movq    %rdi, %r8
--      andq    $~15, %rdi
--      movdqa  %xmm2, %xmm1
--      pcmpeqb (%rdi), %xmm2
--      orl     $0xffffffff, %esi
--      subq    %rdi, %rcx
--      shll    %cl, %esi
--      pmovmskb %xmm2, %edx
--      andl    %esi, %edx
--      jnz     1f
--
--2:    movdqa  16(%rdi), %xmm0
--      leaq    16(%rdi), %rdi
-+      xor     %rax, %rax
-+      mov     %edi, %ecx
-+      and     $0x3f, %ecx
-+      pxor    %xmm0, %xmm0
-+      cmp     $0x30, %ecx
-+      ja      L(next)
-+      movdqu  (%rdi), %xmm1
-       pcmpeqb %xmm1, %xmm0
-       pmovmskb %xmm0, %edx
--      testl   %edx, %edx
--      jz      2b
-+      test    %edx, %edx
-+      jnz     L(exit_less16)
-+      mov     %rdi, %rax
-+      and     $-16, %rax
-+      jmp     L(align16_start)
-+L(next):
-+      mov     %rdi, %rax
-+      and     $-16, %rax
-+      pcmpeqb (%rax), %xmm0
-+      mov     $-1, %esi
-+      sub     %rax, %rcx
-+      shl     %cl, %esi
-+      pmovmskb %xmm0, %edx
-+      and     %esi, %edx
-+      jnz     L(exit)
-+L(align16_start):
-+      pxor    %xmm0, %xmm0
-+      pxor    %xmm1, %xmm1
-+      pxor    %xmm2, %xmm2
-+      pxor    %xmm3, %xmm3
-+      .p2align 4
-+L(align16_loop):
-+      pcmpeqb 16(%rax), %xmm0
-+      pmovmskb %xmm0, %edx
-+      test    %edx, %edx
-+      jnz     L(exit16)
--1:    subq    %r8, %rdi
--      bsfl    %edx, %eax
--      addq    %rdi, %rax
-+      pcmpeqb 32(%rax), %xmm1
-+      pmovmskb %xmm1, %edx
-+      test    %edx, %edx
-+      jnz     L(exit32)
-+
-+      pcmpeqb 48(%rax), %xmm2
-+      pmovmskb %xmm2, %edx
-+      test    %edx, %edx
-+      jnz     L(exit48)
-+
-+      pcmpeqb 64(%rax), %xmm3
-+      pmovmskb %xmm3, %edx
-+      lea     64(%rax), %rax
-+      test    %edx, %edx
-+      jz      L(align16_loop)
-+L(exit):
-+      sub     %rdi, %rax
-+L(exit_less16):
-+      bsf     %rdx, %rdx
-+      add     %rdx, %rax
-+      ret
-+      .p2align 4
-+L(exit16):
-+      sub     %rdi, %rax
-+      bsf     %rdx, %rdx
-+      lea     16(%rdx,%rax), %rax
-+      ret
-+      .p2align 4
-+L(exit32):
-+      sub     %rdi, %rax
-+      bsf     %rdx, %rdx
-+      lea     32(%rdx,%rax), %rax
-+      ret
-+      .p2align 4
-+L(exit48):
-+      sub     %rdi, %rax
-+      bsf     %rdx, %rdx
-+      lea     48(%rdx,%rax), %rax
-       ret
- END(strlen)
- libc_hidden_builtin_def (strlen)
diff --git a/src/patches/glibc/glibc-rh696472.patch b/src/patches/glibc/glibc-rh696472.patch
deleted file mode 100644 (file)
index 9d30d38..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-commit 3d29045b5e8329d97693eda8d98f1d1e60b99c8f
-Author: H.J. Lu <hongjiu.lu@intel.com>
-Date:   Fri Jun 3 07:01:25 2011 -0400
-
-    Assume Intel Core i3/i5/i7 processor if AVX is available
-
-2011-06-02  H.J. Lu  <hongjiu.lu@intel.com>
-
-       * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features):
-       Assume Intel Core i3/i5/i7 processor if AVX is available.
-
-diff --git a/sysdeps/x86_64/multiarch/init-arch.c b/sysdeps/x86_64/multiarch/init-arch.c
-index 34ec2df..809d105 100644
---- a/sysdeps/x86_64/multiarch/init-arch.c
-+++ b/sysdeps/x86_64/multiarch/init-arch.c
-@@ -74,6 +74,7 @@ __init_cpu_features (void)
-       }
-       else if (family == 0x06)
-       {
-+        ecx = __cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx;
-         model += extended_model;
-         switch (model)
-           {
-@@ -83,6 +84,12 @@ __init_cpu_features (void)
-             __cpu_features.feature[index_Slow_BSF] |= bit_Slow_BSF;
-             break;
-+          default:
-+            /* Unknown family 0x06 processors.  Assuming this is one
-+               of Core i3/i5/i7 processors if AVX is available.  */
-+            if ((ecx & bit_AVX) == 0)
-+              break;
-+
-           case 0x1a:
-           case 0x1e:
-           case 0x1f:
diff --git a/src/patches/glibc/glibc-rh697421.patch b/src/patches/glibc/glibc-rh697421.patch
deleted file mode 100644 (file)
index 961c805..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-diff -rup a/iconvdata/gconv-modules b/iconvdata/gconv-modules
---- a/iconvdata/gconv-modules  2010-05-04 05:27:23.000000000 -0600
-+++ b/iconvdata/gconv-modules  2012-01-26 10:58:24.181895489 -0700
-@@ -1954,3 +1954,6 @@ alias    HPGREEK8//              HP-GREEK8//
- alias OSF10010004//           HP-GREEK8//
- module        HP-GREEK8//             INTERNAL                HP-GREEK8       1
- module        INTERNAL                HP-GREEK8//             HP-GREEK8       1
-+
-+alias ISO-10646-UCS-2//       UNICODE//
-+alias ISO-10646-UCS-2//       ISO-10646/UTF8/
diff --git a/src/patches/glibc/glibc-rh699724.patch b/src/patches/glibc/glibc-rh699724.patch
deleted file mode 100644 (file)
index d25ce84..0000000
+++ /dev/null
@@ -1,188 +0,0 @@
-2011-02-23  Andreas Schwab  <schwab@redhat.com>
-
-       [BZ #12509]
-       * elf/dl-load.c (_dl_map_object_from_fd): Free realname before
-       returning unsuccessfully.
-       * elf/Makefile ($(objpfx)noload-mem): New rule.
-       (noload-ENV): Define.
-       (tests): Add $(objpfx)noload-mem.
-       * elf/noload.c: Include <memcheck.h>.
-       (main): Call mtrace.  Close all opened handles.
-
-2010-09-27  Andreas Schwab  <schwab@redhat.com>
-
-       * include/link.h (struct link_map): Add l_free_initfini.
-       * elf/dl-deps.c (_dl_map_object_deps): Set it when assigning
-       l_initfini.
-       * elf/rtld.c (dl_main): Clear it on all objects loaded on startup.
-       * elf/dl-libc.c (free_mem): Free l_initfini if l_free_initfini is
-       set.
-
-Index: glibc-2.12-2-gc4ccff1/elf/Makefile
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/Makefile
-+++ glibc-2.12-2-gc4ccff1/elf/Makefile
-@@ -211,7 +211,7 @@ endif
- ifeq (yesyes,$(have-fpie)$(build-shared))
- tests: $(objpfx)tst-pie1.out
- endif
--tests: $(objpfx)tst-leaks1-mem
-+tests: $(objpfx)tst-leaks1-mem $(objpfx)noload-mem
- tlsmod17a-suffixes = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
- tlsmod18a-suffixes = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
- modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \
-@@ -664,6 +664,10 @@ $(objpfx)noload: $(objpfx)testobj1.so $(
- LDFLAGS-noload = -rdynamic
- $(objpfx)noload.out: $(objpfx)testobj5.so
-+$(objpfx)noload-mem: $(objpfx)noload.out
-+      $(common-objpfx)malloc/mtrace $(objpfx)noload.mtrace > $@
-+noload-ENV = MALLOC_TRACE=$(objpfx)noload.mtrace
-+
- LDFLAGS-nodelete = -rdynamic
- LDFLAGS-nodelmod1.so = -Wl,--enable-new-dtags,-z,nodelete
- LDFLAGS-nodelmod4.so = -Wl,--enable-new-dtags,-z,nodelete
-Index: glibc-2.12-2-gc4ccff1/elf/dl-deps.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/dl-deps.c
-+++ glibc-2.12-2-gc4ccff1/elf/dl-deps.c
-@@ -478,6 +478,7 @@ _dl_map_object_deps (struct link_map *ma
-                 nneeded * sizeof needed[0]);
-         atomic_write_barrier ();
-         l->l_initfini = l_initfini;
-+        l->l_free_initfini = 1;
-       }
-       /* If we have no auxiliary objects just go on to the next map.  */
-@@ -662,6 +663,7 @@ Filters not supported with LD_TRACE_PREL
-   l_initfini[nlist] = NULL;
-   atomic_write_barrier ();
-   map->l_initfini = l_initfini;
-+  map->l_free_initfini = 1;
-   if (l_reldeps != NULL)
-     {
-       atomic_write_barrier ();
-Index: glibc-2.12-2-gc4ccff1/elf/dl-libc.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/dl-libc.c
-+++ glibc-2.12-2-gc4ccff1/elf/dl-libc.c
-@@ -250,5 +250,9 @@ libc_freeres_fn (free_mem)
-           if (! old->dont_free)
-           free (old);
-         }
-+
-+      /* Free the initfini dependency list.  */
-+      if (l->l_free_initfini)
-+        free (l->l_initfini);
-       }
- }
-Index: glibc-2.12-2-gc4ccff1/elf/dl-load.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/dl-load.c
-+++ glibc-2.12-2-gc4ccff1/elf/dl-load.c
-@@ -907,6 +907,7 @@ _dl_map_object_from_fd (const char *name
-     {
-       /* We are not supposed to load the object unless it is already
-        loaded.  So return now.  */
-+      free (realname);
-       __close (fd);
-       return NULL;
-     }
-@@ -925,6 +926,7 @@ _dl_map_object_from_fd (const char *name
-       _dl_zerofd = _dl_sysdep_open_zero_fill ();
-       if (_dl_zerofd == -1)
-       {
-+        free (realname);
-         __close (fd);
-         _dl_signal_error (errno, NULL, NULL,
-                           N_("cannot open zero fill device"));
-Index: glibc-2.12-2-gc4ccff1/elf/noload.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/noload.c
-+++ glibc-2.12-2-gc4ccff1/elf/noload.c
-@@ -1,20 +1,28 @@
- #include <dlfcn.h>
- #include <stdio.h>
-+#include <mcheck.h>
- int
- main (void)
- {
-   int result = 0;
-+  void *p;
-+
-+  mtrace ();
-   /* First try to load an object which is a dependency.  This should
-      succeed.  */
--  if (dlopen ("testobj1.so", RTLD_LAZY | RTLD_NOLOAD) == NULL)
-+  p = dlopen ("testobj1.so", RTLD_LAZY | RTLD_NOLOAD);
-+  if (p == NULL)
-     {
-       printf ("cannot open \"testobj1.so\": %s\n", dlerror ());
-       result = 1;
-     }
-   else
--    puts ("loading \"testobj1.so\" succeeded, OK");
-+    {
-+      puts ("loading \"testobj1.so\" succeeded, OK");
-+      dlclose (p);
-+    }
-   /* Now try loading an object which is not already loaded.  */
-   if (dlopen ("testobj5.so", RTLD_LAZY | RTLD_NOLOAD) != NULL)
-@@ -25,8 +33,6 @@ main (void)
-   else
-     {
-       /* Load the object and run the same test again.  */
--      void *p;
--
-       puts ("\"testobj5.so\" wasn't loaded and RTLD_NOLOAD prevented it, OK");
-       p = dlopen ("testobj5.so", RTLD_LAZY);
-@@ -41,13 +47,17 @@ main (void)
-       {
-         puts ("loading \"testobj5.so\" succeeded, OK");
--        if (dlopen ("testobj5.so", RTLD_LAZY | RTLD_NOLOAD) == NULL)
-+        void *q = dlopen ("testobj5.so", RTLD_LAZY | RTLD_NOLOAD);
-+        if (q == NULL)
-           {
-             printf ("cannot open \"testobj5.so\": %s\n", dlerror ());
-             result = 1;
-           }
-         else
--          puts ("loading \"testobj5.so\" with RTLD_NOLOAD succeeded, OK");
-+          {
-+            puts ("loading \"testobj5.so\" with RTLD_NOLOAD succeeded, OK");
-+            dlclose (q);
-+          }
-         if (dlclose (p) != 0)
-           {
-Index: glibc-2.12-2-gc4ccff1/elf/rtld.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/rtld.c
-+++ glibc-2.12-2-gc4ccff1/elf/rtld.c
-@@ -2249,6 +2249,7 @@ ERROR: ld.so: object '%s' cannot be load
-             lnp->dont_free = 1;
-             lnp = lnp->next;
-           }
-+        l->l_free_initfini = 0;
-         if (l != &GL(dl_rtld_map))
-           _dl_relocate_object (l, l->l_scope, GLRO(dl_lazy) ? RTLD_LAZY : 0,
-Index: glibc-2.12-2-gc4ccff1/include/link.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/include/link.h
-+++ glibc-2.12-2-gc4ccff1/include/link.h
-@@ -192,6 +192,9 @@ struct link_map
-                                                during LD_TRACE_PRELINKING=1
-                                                contains any DT_SYMBOLIC
-                                                libraries.  */
-+    unsigned int l_free_initfini:1; /* Nonzero if l_initfini can be
-+                                     freed, ie. not allocated with
-+                                     the dummy malloc in ld.so.  */
-     /* Collected information about own RPATH directories.  */
-     struct r_search_path_struct l_rpath_dirs;
diff --git a/src/patches/glibc/glibc-rh700507.patch b/src/patches/glibc/glibc-rh700507.patch
deleted file mode 100644 (file)
index 0660431..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-Index: glibc-2.12-2-gc4ccff1/nscd/nscd.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nscd/nscd.c
-+++ glibc-2.12-2-gc4ccff1/nscd/nscd.c
-@@ -260,10 +260,6 @@ main (int argc, char **argv)
-     /* In foreground mode we are not paranoid.  */
-     paranoia = 0;
--  /* Start the SELinux AVC.  */
--  if (selinux_enabled)
--    nscd_avc_init ();
--
-   signal (SIGINT, termination_handler);
-   signal (SIGQUIT, termination_handler);
-   signal (SIGTERM, termination_handler);
-@@ -278,6 +274,10 @@ main (int argc, char **argv)
-   /* Init databases.  */
-   nscd_init ();
-+  /* Start the SELinux AVC.  */
-+  if (selinux_enabled)
-+    nscd_avc_init ();
-+
-   /* Handle incoming requests */
-   start_threads ();
diff --git a/src/patches/glibc/glibc-rh703480.patch b/src/patches/glibc/glibc-rh703480.patch
deleted file mode 100644 (file)
index 742a79a..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-2011-01-15  Ulrich Drepper  <drepper@gmail.com>
-
-       [BZ #6812]
-       * nscd/hstcache.c (tryagain): Define.
-       (cache_addhst): Return tryagain not notfound for temporary errors.
-       (addhstbyX): Also set h_errno to TRY_AGAIN when memory allocation
-       failed.
-
-Index: glibc-2.12-2-gc4ccff1/nscd/hstcache.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nscd/hstcache.c
-+++ glibc-2.12-2-gc4ccff1/nscd/hstcache.c
-@@ -77,6 +77,20 @@ static const hst_response_header notfoun
- };
-+/* This is the standard reply in case there are temporary problems.  */
-+static const hst_response_header tryagain =
-+{
-+  .version = NSCD_VERSION,
-+  .found = 0,
-+  .h_name_len = 0,
-+  .h_aliases_cnt = 0,
-+  .h_addrtype = -1,
-+  .h_length = -1,
-+  .h_addr_list_cnt = 0,
-+  .error = TRY_AGAIN
-+};
-+
-+
- static void
- cache_addhst (struct database_dyn *db, int fd, request_header *req,
-             const void *key, struct hostent *hst, uid_t owner,
-@@ -111,11 +125,15 @@ cache_addhst (struct database_dyn *db, i
-       else
-       {
-         /* We have no data.  This means we send the standard reply for this
--           case.  */
-+           case.  Possibly this is only temporary.  */
-         ssize_t total = sizeof (notfound);
-+        assert (sizeof (notfound) == sizeof (tryagain));
-+
-+        const hst_response_header *resp = (errval == EAGAIN
-+                                           ? &tryagain : &notfound);
-         if (fd != -1 &&
--            TEMP_FAILURE_RETRY (send (fd, &notfound, total,
-+            TEMP_FAILURE_RETRY (send (fd, resp, total,
-                                       MSG_NOSIGNAL)) != total)
-           all_written = false;
-@@ -135,7 +153,7 @@ cache_addhst (struct database_dyn *db, i
-                                          ? db->negtimeout : ttl);
-             /* This is the reply.  */
--            memcpy (&dataset->resp, &notfound, total);
-+            memcpy (&dataset->resp, resp, total);
-             /* Copy the key data.  */
-             memcpy (dataset->strdata, key, req->key_len);
-@@ -490,6 +508,7 @@ addhstbyX (struct database_dyn *db, int 
-             /* We set the error to indicate this is (possibly) a
-                temporary error and that it does not mean the entry
-                is not available at all.  */
-+            h_errno = TRY_AGAIN;
-             errval = EAGAIN;
-             break;
-           }
diff --git a/src/patches/glibc/glibc-rh703481.patch b/src/patches/glibc/glibc-rh703481.patch
deleted file mode 100644 (file)
index fdde4b5..0000000
+++ /dev/null
@@ -1,875 +0,0 @@
-2011-02-05  Ulrich Drepper  <drepper@gmail.com>
-
-       * nscd/nscd-client.h: Define MAX_TIMEOUT_VALUE.
-       (struct datahead): Reuse 32 bits of the alignment for a TTL field.
-       * nscd/aicache.c (addhstaiX): Return timeout of added value.
-       (readdhstai): Return value of addhstaiX call.
-       * nscd/grpcache.c (cache_addgr): Return timeout of added value.
-       (addgrbyX): Return value returned by cache_addgr.
-       (readdgrbyname): Return value returned by addgrbyX.
-       (readdgrbygid): Likewise.
-       * nscd/pwdcache.c (cache_addpw): Return timeout of added value.
-       (addpwbyX): Return value returned by cache_addpw.
-       (readdpwbyname): Return value returned by addhstbyX.
-       (readdpwbyuid): Likewise.
-       * nscd/servicescache.c (cache_addserv): Return timeout of added value.
-       (addservbyX): Return value returned by cache_addserv.
-       (readdservbyname): Return value returned by addservbyX:
-       (readdservbyport): Likewise.
-       * nscd/hstcache.c (cache_addhst): Return timeout of added value.
-       (addhstbyX): Return value returned by cache_addhst.
-       (readdhstbyname): Return value returned by addhstbyX.
-       (readdhstbyaddr): Likewise.
-       (readdhstbynamev6): Likewise.
-       (readdhstbyaddrv6): Likewise.
-       * nscd/initgrcache.c (addinitgroupsX): Return timeout of added value.
-       (readdinitgroups): Return value returned by addinitgroupsX.
-       * nscd/cache.c (readdfcts): Change return value of functions to time_t.
-       (prune_cache): Keep track of timeout value of re-added entries.
-       * nscd/connections.c (nscd_run_prune): Use MAX_TIMEOUT_VALUE.
-       * nscd/nscd.h: Adjust prototypes of readd* functions.
-
-Index: glibc-2.12-2-gc4ccff1/nscd/aicache.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nscd/aicache.c
-+++ glibc-2.12-2-gc4ccff1/nscd/aicache.c
-@@ -58,7 +58,7 @@ static const ai_response_header notfound
- };
--static void
-+static time_t
- addhstaiX (struct database_dyn *db, int fd, request_header *req,
-          void *key, uid_t uid, struct hashentry *const he,
-          struct datahead *dh)
-@@ -119,6 +119,7 @@ addhstaiX (struct database_dyn *db, int 
-   ssize_t total = 0;
-   char *key_copy = NULL;
-   bool alloca_used = false;
-+  time_t timeout = MAX_TIMEOUT_VALUE;
-   while (!no_more)
-     {
-@@ -388,8 +389,8 @@ addhstaiX (struct database_dyn *db, int 
-       dataset->head.usable = true;
-       /* Compute the timeout time.  */
--      dataset->head.timeout = time (NULL) + (ttl == INT32_MAX
--                                           ? db->postimeout : ttl);
-+      dataset->head.ttl = ttl == INT32_MAX ? db->postimeout : ttl;
-+      timeout = dataset->head.timeout = time (NULL) + dataset->head.ttl;
-       dataset->resp.version = NSCD_VERSION;
-       dataset->resp.found = 1;
-@@ -421,6 +422,7 @@ addhstaiX (struct database_dyn *db, int 
-                timeout value.  Note that the new record has been
-                allocated on the stack and need not be freed.  */
-             dh->timeout = dataset->head.timeout;
-+            dh->ttl = dataset->head.ttl;
-             ++dh->nreloads;
-           }
-         else
-@@ -496,6 +498,9 @@ next_nip:
-       if (reload_count != UINT_MAX && dh->nreloads == reload_count)
-       /* Do not reset the value if we never not reload the record.  */
-       dh->nreloads = reload_count - 1;
-+
-+      /* Reload with the same time-to-live value.  */
-+      timeout = dh->timeout = time (NULL) + dh->ttl;
-     }
-   else
-     {
-@@ -517,7 +522,8 @@ next_nip:
-         dataset->head.usable = true;
-         /* Compute the timeout time.  */
--        dataset->head.timeout = time (NULL) + db->negtimeout;
-+        timeout = dataset->head.timeout = time (NULL) + db->negtimeout;
-+        dataset->head.ttl = db->negtimeout;
-         /* This is the reply.  */
-         memcpy (&dataset->resp, &notfound, total);
-@@ -551,6 +557,8 @@ next_nip:
-       if (dh != NULL)
-       dh->usable = false;
-     }
-+
-+  return timeout;
- }
-@@ -562,7 +570,7 @@ addhstai (struct database_dyn *db, int f
- }
--void
-+time_t
- readdhstai (struct database_dyn *db, struct hashentry *he, struct datahead *dh)
- {
-   request_header req =
-@@ -571,5 +579,5 @@ readdhstai (struct database_dyn *db, str
-       .key_len = he->len
-     };
--  addhstaiX (db, -1, &req, db->data + he->key, he->owner, he, dh);
-+  return addhstaiX (db, -1, &req, db->data + he->key, he->owner, he, dh);
- }
-Index: glibc-2.12-2-gc4ccff1/nscd/cache.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nscd/cache.c
-+++ glibc-2.12-2-gc4ccff1/nscd/cache.c
-@@ -45,9 +45,9 @@ extern void *xcalloc (size_t n, size_t s
- unsigned int reload_count = DEFAULT_RELOAD_LIMIT;
--static void (*const readdfcts[LASTREQ]) (struct database_dyn *,
--                                       struct hashentry *,
--                                       struct datahead *) =
-+static time_t (*const readdfcts[LASTREQ]) (struct database_dyn *,
-+                                         struct hashentry *,
-+                                         struct datahead *) =
- {
-   [GETPWBYNAME] = readdpwbyname,
-   [GETPWBYUID] = readdpwbyuid,
-@@ -389,7 +389,8 @@ prune_cache (struct database_dyn *table,
-                     assert (runp->type < LASTREQ
-                             && readdfcts[runp->type] != NULL);
--                    readdfcts[runp->type] (table, runp, dh);
-+                    time_t timeout = readdfcts[runp->type] (table, runp, dh);
-+                    next_timeout = MIN (next_timeout, timeout);
-                     /* If the entry has been replaced, we might need
-                        cleanup.  */
-Index: glibc-2.12-2-gc4ccff1/nscd/connections.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nscd/connections.c
-+++ glibc-2.12-2-gc4ccff1/nscd/connections.c
-@@ -1533,10 +1533,7 @@ nscd_run_prune (void *p)
-            pruning we want to know about it.  Therefore set the
-            timeout to the maximum.  It will be descreased when adding
-            new entries to the cache, if necessary.  */
--        if (sizeof (time_t) == sizeof (long int))
--          dbs[my_number].wakeup_time = LONG_MAX;
--        else
--          dbs[my_number].wakeup_time = INT_MAX;
-+        dbs[my_number].wakeup_time = MAX_TIMEOUT_VALUE;
-         /* Unconditionally reset the flag.  */
-         time_t prune_now = dbs[my_number].clear_cache ? LONG_MAX : now;
-Index: glibc-2.12-2-gc4ccff1/nscd/grpcache.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nscd/grpcache.c
-+++ glibc-2.12-2-gc4ccff1/nscd/grpcache.c
-@@ -71,7 +71,7 @@ static const gr_response_header notfound
- };
--static void
-+static time_t
- cache_addgr (struct database_dyn *db, int fd, request_header *req,
-            const void *key, struct group *grp, uid_t owner,
-            struct hashentry *const he, struct datahead *dh, int errval)
-@@ -91,6 +91,7 @@ cache_addgr (struct database_dyn *db, in
-   assert (offsetof (struct dataset, resp) == offsetof (struct datahead, data));
-+  time_t timeout = MAX_TIMEOUT_VALUE;
-   if (grp == NULL)
-     {
-       if (he != NULL && errval == EAGAIN)
-@@ -102,6 +103,9 @@ cache_addgr (struct database_dyn *db, in
-           /* Do not reset the value if we never not reload the record.  */
-           dh->nreloads = reload_count - 1;
-+        /* Reload with the same time-to-live value.  */
-+        timeout = dh->timeout = t + db->postimeout;
-+
-         written = total = 0;
-       }
-       else
-@@ -125,7 +129,7 @@ cache_addgr (struct database_dyn *db, in
-             dataset->head.usable = true;
-             /* Compute the timeout time.  */
--            dataset->head.timeout = t + db->negtimeout;
-+            timeout = dataset->head.timeout = t + db->negtimeout;
-             /* This is the reply.  */
-             memcpy (&dataset->resp, &notfound, total);
-@@ -217,7 +221,7 @@ cache_addgr (struct database_dyn *db, in
-       dataset->head.usable = true;
-       /* Compute the timeout time.  */
--      dataset->head.timeout = t + db->postimeout;
-+      timeout = dataset->head.timeout = t + db->postimeout;
-       dataset->resp.version = NSCD_VERSION;
-       dataset->resp.found = 1;
-@@ -379,6 +383,8 @@ cache_addgr (struct database_dyn *db, in
-       dbg_log (_("short write in %s: %s"),  __FUNCTION__,
-              strerror_r (errno, buf, sizeof (buf)));
-     }
-+
-+  return timeout;
- }
-@@ -400,7 +406,7 @@ lookup (int type, union keytype key, str
- }
--static void
-+static time_t
- addgrbyX (struct database_dyn *db, int fd, request_header *req,
-         union keytype key, const char *keystr, uid_t uid,
-         struct hashentry *he, struct datahead *dh)
-@@ -456,10 +462,12 @@ addgrbyX (struct database_dyn *db, int f
-       buffer = (char *) extend_alloca (buffer, buflen, 2 * buflen);
-     }
--  cache_addgr (db, fd, req, keystr, grp, uid, he, dh, errval);
-+  time_t timeout = cache_addgr (db, fd, req, keystr, grp, uid, he, dh, errval);
-   if (use_malloc)
-     free (buffer);
-+
-+  return timeout;
- }
-@@ -473,7 +481,7 @@ addgrbyname (struct database_dyn *db, in
- }
--void
-+time_t
- readdgrbyname (struct database_dyn *db, struct hashentry *he,
-              struct datahead *dh)
- {
-@@ -484,7 +492,7 @@ readdgrbyname (struct database_dyn *db, 
-     };
-   union keytype u = { .v = db->data + he->key };
--  addgrbyX (db, -1, &req, u, db->data + he->key, he->owner, he, dh);
-+  return addgrbyX (db, -1, &req, u, db->data + he->key, he->owner, he, dh);
- }
-@@ -510,7 +518,7 @@ addgrbygid (struct database_dyn *db, int
- }
--void
-+time_t
- readdgrbygid (struct database_dyn *db, struct hashentry *he,
-             struct datahead *dh)
- {
-@@ -527,5 +535,5 @@ readdgrbygid (struct database_dyn *db, s
-     };
-   union keytype u = { .g = gid };
--  addgrbyX (db, -1, &req, u, db->data + he->key, he->owner, he, dh);
-+  return addgrbyX (db, -1, &req, u, db->data + he->key, he->owner, he, dh);
- }
-Index: glibc-2.12-2-gc4ccff1/nscd/hstcache.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nscd/hstcache.c
-+++ glibc-2.12-2-gc4ccff1/nscd/hstcache.c
-@@ -91,7 +91,7 @@ static const hst_response_header tryagai
- };
--static void
-+static time_t
- cache_addhst (struct database_dyn *db, int fd, request_header *req,
-             const void *key, struct hostent *hst, uid_t owner,
-             struct hashentry *const he, struct datahead *dh, int errval,
-@@ -111,6 +111,7 @@ cache_addhst (struct database_dyn *db, i
-   assert (offsetof (struct dataset, resp) == offsetof (struct datahead, data));
-+  time_t timeout = MAX_TIMEOUT_VALUE;
-   if (hst == NULL)
-     {
-       if (he != NULL && errval == EAGAIN)
-@@ -121,6 +122,9 @@ cache_addhst (struct database_dyn *db, i
-         if (reload_count != UINT_MAX)
-           /* Do not reset the value if we never not reload the record.  */
-           dh->nreloads = reload_count - 1;
-+
-+        /* Reload with the same time-to-live value.  */
-+        timeout = dh->timeout = t + dh->ttl;
-       }
-       else
-       {
-@@ -149,8 +153,8 @@ cache_addhst (struct database_dyn *db, i
-             dataset->head.usable = true;
-             /* Compute the timeout time.  */
--            dataset->head.timeout = t + (ttl == INT32_MAX
--                                         ? db->negtimeout : ttl);
-+            dataset->head.ttl = ttl == INT32_MAX ? db->negtimeout : ttl;
-+            timeout = dataset->head.timeout = t + dataset->head.ttl;
-             /* This is the reply.  */
-             memcpy (&dataset->resp, resp, total);
-@@ -214,7 +218,7 @@ cache_addhst (struct database_dyn *db, i
-       if (h_addr_list_cnt == 0)
-       /* Invalid entry.  */
--      return;
-+      return MAX_TIMEOUT_VALUE;
-       total += (sizeof (struct dataset)
-               + h_name_len
-@@ -255,7 +259,8 @@ cache_addhst (struct database_dyn *db, i
-       dataset->head.usable = true;
-       /* Compute the timeout time.  */
--      dataset->head.timeout = t + (ttl == INT32_MAX ? db->postimeout : ttl);
-+      dataset->head.ttl = ttl == INT32_MAX ? db->postimeout : ttl;
-+      timeout = dataset->head.timeout = t + dataset->head.ttl;
-       dataset->resp.version = NSCD_VERSION;
-       dataset->resp.found = 1;
-@@ -312,6 +317,7 @@ cache_addhst (struct database_dyn *db, i
-                timeout value.  Note that the new record has been
-                allocated on the stack and need not be freed.  */
-             assert (h_addr_list_cnt == 1);
-+            dh->ttl = dataset->head.ttl;
-             dh->timeout = dataset->head.timeout;
-             ++dh->nreloads;
-           }
-@@ -433,6 +439,8 @@ cache_addhst (struct database_dyn *db, i
-       dbg_log (_("short write in %s: %s"),  __FUNCTION__,
-              strerror_r (errno, buf, sizeof (buf)));
-     }
-+
-+  return timeout;
- }
-@@ -454,7 +462,7 @@ lookup (int type, void *key, struct host
- }
--static void
-+static time_t
- addhstbyX (struct database_dyn *db, int fd, request_header *req,
-          void *key, uid_t uid, struct hashentry *he, struct datahead *dh)
- {
-@@ -520,11 +528,13 @@ addhstbyX (struct database_dyn *db, int 
-       buffer = (char *) extend_alloca (buffer, buflen, 2 * buflen);
-     }
--  cache_addhst (db, fd, req, key, hst, uid, he, dh,
--              h_errno == TRY_AGAIN ? errval : 0, ttl);
-+  time_t timeout = cache_addhst (db, fd, req, key, hst, uid, he, dh,
-+                               h_errno == TRY_AGAIN ? errval : 0, ttl);
-   if (use_malloc)
-     free (buffer);
-+
-+  return timeout;
- }
-@@ -536,7 +546,7 @@ addhstbyname (struct database_dyn *db, i
- }
--void
-+time_t
- readdhstbyname (struct database_dyn *db, struct hashentry *he,
-               struct datahead *dh)
- {
-@@ -546,7 +556,7 @@ readdhstbyname (struct database_dyn *db,
-       .key_len = he->len
-     };
--  addhstbyX (db, -1, &req, db->data + he->key, he->owner, he, dh);
-+  return addhstbyX (db, -1, &req, db->data + he->key, he->owner, he, dh);
- }
-@@ -558,7 +568,7 @@ addhstbyaddr (struct database_dyn *db, i
- }
--void
-+time_t
- readdhstbyaddr (struct database_dyn *db, struct hashentry *he,
-               struct datahead *dh)
- {
-@@ -568,7 +578,7 @@ readdhstbyaddr (struct database_dyn *db,
-       .key_len = he->len
-     };
--  addhstbyX (db, -1, &req, db->data + he->key, he->owner, he, dh);
-+  return addhstbyX (db, -1, &req, db->data + he->key, he->owner, he, dh);
- }
-@@ -580,7 +590,7 @@ addhstbynamev6 (struct database_dyn *db,
- }
--void
-+time_t
- readdhstbynamev6 (struct database_dyn *db, struct hashentry *he,
-                 struct datahead *dh)
- {
-@@ -590,7 +600,7 @@ readdhstbynamev6 (struct database_dyn *d
-       .key_len = he->len
-     };
--  addhstbyX (db, -1, &req, db->data + he->key, he->owner, he, dh);
-+  return addhstbyX (db, -1, &req, db->data + he->key, he->owner, he, dh);
- }
-@@ -602,7 +612,7 @@ addhstbyaddrv6 (struct database_dyn *db,
- }
--void
-+time_t
- readdhstbyaddrv6 (struct database_dyn *db, struct hashentry *he,
-                 struct datahead *dh)
- {
-@@ -612,5 +622,5 @@ readdhstbyaddrv6 (struct database_dyn *d
-       .key_len = he->len
-     };
--  addhstbyX (db, -1, &req, db->data + he->key, he->owner, he, dh);
-+  return addhstbyX (db, -1, &req, db->data + he->key, he->owner, he, dh);
- }
-Index: glibc-2.12-2-gc4ccff1/nscd/initgrcache.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nscd/initgrcache.c
-+++ glibc-2.12-2-gc4ccff1/nscd/initgrcache.c
-@@ -52,7 +52,7 @@ static const initgr_response_header notf
- #include "../grp/compat-initgroups.c"
--static void
-+static time_t
- addinitgroupsX (struct database_dyn *db, int fd, request_header *req,
-               void *key, uid_t uid, struct hashentry *const he,
-               struct datahead *dh)
-@@ -174,7 +174,9 @@ addinitgroupsX (struct database_dyn *db,
-   ssize_t total;
-   ssize_t written;
-+  time_t timeout;
-  out:
-+  timeout = MAX_TIMEOUT_VALUE;
-   if (!any_success)
-     {
-       /* Nothing found.  Create a negative result record.  */
-@@ -188,6 +190,9 @@ addinitgroupsX (struct database_dyn *db,
-         if (reload_count != UINT_MAX && dh->nreloads == reload_count)
-           /* Do not reset the value if we never not reload the record.  */
-           dh->nreloads = reload_count - 1;
-+
-+        /* Reload with the same time-to-live value.  */
-+        timeout = dh->timeout = time (NULL) + db->postimeout;
-       }
-       else
-       {
-@@ -209,7 +214,7 @@ addinitgroupsX (struct database_dyn *db,
-             dataset->head.usable = true;
-             /* Compute the timeout time.  */
--            dataset->head.timeout = time (NULL) + db->negtimeout;
-+            timeout = dataset->head.timeout = time (NULL) + db->negtimeout;
-             /* This is the reply.  */
-             memcpy (&dataset->resp, &notfound, total);
-@@ -273,7 +278,7 @@ addinitgroupsX (struct database_dyn *db,
-       dataset->head.usable = true;
-       /* Compute the timeout time.  */
--      dataset->head.timeout = time (NULL) + db->postimeout;
-+      timeout = dataset->head.timeout = time (NULL) + db->postimeout;
-       dataset->resp.version = NSCD_VERSION;
-       dataset->resp.found = 1;
-@@ -401,6 +406,8 @@ addinitgroupsX (struct database_dyn *db,
-       dbg_log (_("short write in %s: %s"), __FUNCTION__,
-              strerror_r (errno, buf, sizeof (buf)));
-     }
-+
-+  return timeout;
- }
-@@ -412,7 +419,7 @@ addinitgroups (struct database_dyn *db, 
- }
--void
-+time_t
- readdinitgroups (struct database_dyn *db, struct hashentry *he,
-                struct datahead *dh)
- {
-@@ -422,5 +429,5 @@ readdinitgroups (struct database_dyn *db
-       .key_len = he->len
-     };
--  addinitgroupsX (db, -1, &req, db->data + he->key, he->owner, he, dh);
-+  return addinitgroupsX (db, -1, &req, db->data + he->key, he->owner, he, dh);
- }
-Index: glibc-2.12-2-gc4ccff1/nscd/nscd-client.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nscd/nscd-client.h
-+++ glibc-2.12-2-gc4ccff1/nscd/nscd-client.h
-@@ -179,6 +179,10 @@ typedef uint32_t ref_t;
- /* Timestamp type.  */
- typedef uint64_t nscd_time_t;
-+/* Maximum timestamp.  */
-+#define MAX_TIMEOUT_VALUE \
-+  (sizeof (time_t) == sizeof (long int) ? LONG_MAX : INT_MAX)
-+
- /* Alignment requirement of the beginning of the data region.  */
- #define ALIGN 16
-@@ -192,7 +196,8 @@ struct datahead
-   uint8_t notfound;           /* Nonzero if data has not been found.  */
-   uint8_t nreloads;           /* Reloads without use.  */
-   uint8_t usable;             /* False if the entry must be ignored.  */
--  uint64_t :40;                       /* Alignment.  */
-+  uint8_t unused;             /* Unused.  */
-+  uint32_t ttl;                       /* TTL value used.  */
-   /* We need to have the following element aligned for the response
-      header data types and their use in the 'struct dataset' types
-Index: glibc-2.12-2-gc4ccff1/nscd/nscd.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nscd/nscd.h
-+++ glibc-2.12-2-gc4ccff1/nscd/nscd.h
-@@ -217,20 +217,20 @@ extern void addpwbyname (struct database
-                        void *key, uid_t uid);
- extern void addpwbyuid (struct database_dyn *db, int fd, request_header *req,
-                       void *key, uid_t uid);
--extern void readdpwbyname (struct database_dyn *db, struct hashentry *he,
--                         struct datahead *dh);
--extern void readdpwbyuid (struct database_dyn *db, struct hashentry *he,
--                        struct datahead *dh);
-+extern time_t readdpwbyname (struct database_dyn *db, struct hashentry *he,
-+                           struct datahead *dh);
-+extern time_t readdpwbyuid (struct database_dyn *db, struct hashentry *he,
-+                          struct datahead *dh);
- /* grpcache.c */
- extern void addgrbyname (struct database_dyn *db, int fd, request_header *req,
-                        void *key, uid_t uid);
- extern void addgrbygid (struct database_dyn *db, int fd, request_header *req,
-                       void *key, uid_t uid);
--extern void readdgrbyname (struct database_dyn *db, struct hashentry *he,
--                         struct datahead *dh);
--extern void readdgrbygid (struct database_dyn *db, struct hashentry *he,
--                        struct datahead *dh);
-+extern time_t readdgrbyname (struct database_dyn *db, struct hashentry *he,
-+                           struct datahead *dh);
-+extern time_t readdgrbygid (struct database_dyn *db, struct hashentry *he,
-+                          struct datahead *dh);
- /* hstcache.c */
- extern void addhstbyname (struct database_dyn *db, int fd, request_header *req,
-@@ -241,37 +241,37 @@ extern void addhstbynamev6 (struct datab
-                           request_header *req, void *key, uid_t uid);
- extern void addhstbyaddrv6 (struct database_dyn *db, int fd,
-                           request_header *req, void *key, uid_t uid);
--extern void readdhstbyname (struct database_dyn *db, struct hashentry *he,
--                          struct datahead *dh);
--extern void readdhstbyaddr (struct database_dyn *db, struct hashentry *he,
--                          struct datahead *dh);
--extern void readdhstbynamev6 (struct database_dyn *db, struct hashentry *he,
-+extern time_t readdhstbyname (struct database_dyn *db, struct hashentry *he,
-                             struct datahead *dh);
--extern void readdhstbyaddrv6 (struct database_dyn *db, struct hashentry *he,
-+extern time_t readdhstbyaddr (struct database_dyn *db, struct hashentry *he,
-                             struct datahead *dh);
-+extern time_t readdhstbynamev6 (struct database_dyn *db, struct hashentry *he,
-+                              struct datahead *dh);
-+extern time_t readdhstbyaddrv6 (struct database_dyn *db, struct hashentry *he,
-+                              struct datahead *dh);
- /* aicache.c */
- extern void addhstai (struct database_dyn *db, int fd, request_header *req,
-                     void *key, uid_t uid);
--extern void readdhstai (struct database_dyn *db, struct hashentry *he,
--                      struct datahead *dh);
-+extern time_t readdhstai (struct database_dyn *db, struct hashentry *he,
-+                        struct datahead *dh);
- /* initgrcache.c */
- extern void addinitgroups (struct database_dyn *db, int fd,
-                          request_header *req, void *key, uid_t uid);
--extern void readdinitgroups (struct database_dyn *db, struct hashentry *he,
--                           struct datahead *dh);
-+extern time_t readdinitgroups (struct database_dyn *db, struct hashentry *he,
-+                             struct datahead *dh);
- /* servicecache.c */
- extern void addservbyname (struct database_dyn *db, int fd,
-                          request_header *req, void *key, uid_t uid);
--extern void readdservbyname (struct database_dyn *db, struct hashentry *he,
--                           struct datahead *dh);
-+extern time_t readdservbyname (struct database_dyn *db, struct hashentry *he,
-+                             struct datahead *dh);
- extern void addservbyport (struct database_dyn *db, int fd,
-                          request_header *req, void *key, uid_t uid);
--extern void readdservbyport (struct database_dyn *db, struct hashentry *he,
--                           struct datahead *dh);
-+extern time_t readdservbyport (struct database_dyn *db, struct hashentry *he,
-+                             struct datahead *dh);
- /* mem.c */
- extern void *mempool_alloc (struct database_dyn *db, size_t len,
-Index: glibc-2.12-2-gc4ccff1/nscd/pwdcache.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nscd/pwdcache.c
-+++ glibc-2.12-2-gc4ccff1/nscd/pwdcache.c
-@@ -77,7 +77,7 @@ static const pw_response_header notfound
- };
--static void
-+static time_t
- cache_addpw (struct database_dyn *db, int fd, request_header *req,
-            const void *key, struct passwd *pwd, uid_t owner,
-            struct hashentry *const he, struct datahead *dh, int errval)
-@@ -97,6 +97,7 @@ cache_addpw (struct database_dyn *db, in
-   assert (offsetof (struct dataset, resp) == offsetof (struct datahead, data));
-+  time_t timeout = MAX_TIMEOUT_VALUE;
-   if (pwd == NULL)
-     {
-       if (he != NULL && errval == EAGAIN)
-@@ -108,6 +109,9 @@ cache_addpw (struct database_dyn *db, in
-           /* Do not reset the value if we never not reload the record.  */
-           dh->nreloads = reload_count - 1;
-+        /* Reload with the same time-to-live value.  */
-+        timeout = dh->timeout = t + db->postimeout;
-+
-         written = total = 0;
-       }
-       else
-@@ -132,7 +136,7 @@ cache_addpw (struct database_dyn *db, in
-             dataset->head.usable = true;
-             /* Compute the timeout time.  */
--            dataset->head.timeout = t + db->negtimeout;
-+            timeout = dataset->head.timeout = t + db->negtimeout;
-             /* This is the reply.  */
-             memcpy (&dataset->resp, &notfound, total);
-@@ -212,7 +216,7 @@ cache_addpw (struct database_dyn *db, in
-       dataset->head.usable = true;
-       /* Compute the timeout time.  */
--      dataset->head.timeout = t + db->postimeout;
-+      timeout = dataset->head.timeout = t + db->postimeout;
-       dataset->resp.version = NSCD_VERSION;
-       dataset->resp.found = 1;
-@@ -293,8 +297,8 @@ cache_addpw (struct database_dyn *db, in
-             assert ((char *) dataset - (char *) db->head
-                     + total
-                     <= (sizeof (struct database_pers_head)
--                          + db->head->module * sizeof (ref_t)
--                          + db->head->data_size));
-+                        + db->head->module * sizeof (ref_t)
-+                        + db->head->data_size));
-             written = sendfileall (fd, db->wr_fd,
-                                    (char *) &dataset->resp
-                                    - (char *) db->head, dataset->head.recsize );
-@@ -374,6 +378,8 @@ cache_addpw (struct database_dyn *db, in
-       dbg_log (_("short write in %s: %s"),  __FUNCTION__,
-              strerror_r (errno, buf, sizeof (buf)));
-     }
-+
-+  return timeout;
- }
-@@ -395,7 +401,7 @@ lookup (int type, union keytype key, str
- }
--static void
-+static time_t
- addpwbyX (struct database_dyn *db, int fd, request_header *req,
-         union keytype key, const char *keystr, uid_t c_uid,
-         struct hashentry *he, struct datahead *dh)
-@@ -452,10 +458,13 @@ addpwbyX (struct database_dyn *db, int f
-     }
-   /* Add the entry to the cache.  */
--  cache_addpw (db, fd, req, keystr, pwd, c_uid, he, dh, errval);
-+  time_t timeout = cache_addpw (db, fd, req, keystr, pwd, c_uid, he, dh,
-+                              errval);
-   if (use_malloc)
-     free (buffer);
-+
-+  return timeout;
- }
-@@ -469,7 +478,7 @@ addpwbyname (struct database_dyn *db, in
- }
--void
-+time_t
- readdpwbyname (struct database_dyn *db, struct hashentry *he,
-              struct datahead *dh)
- {
-@@ -480,7 +489,7 @@ readdpwbyname (struct database_dyn *db, 
-     };
-   union keytype u = { .v = db->data + he->key };
--  addpwbyX (db, -1, &req, u, db->data + he->key, he->owner, he, dh);
-+  return addpwbyX (db, -1, &req, u, db->data + he->key, he->owner, he, dh);
- }
-@@ -506,7 +515,7 @@ addpwbyuid (struct database_dyn *db, int
- }
--void
-+time_t
- readdpwbyuid (struct database_dyn *db, struct hashentry *he,
-             struct datahead *dh)
- {
-@@ -523,5 +532,5 @@ readdpwbyuid (struct database_dyn *db, s
-     };
-   union keytype u = { .u = uid };
--  addpwbyX (db, -1, &req, u, db->data + he->key, he->owner, he, dh);
-+  return addpwbyX (db, -1, &req, u, db->data + he->key, he->owner, he, dh);
- }
-Index: glibc-2.12-2-gc4ccff1/nscd/servicescache.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nscd/servicescache.c
-+++ glibc-2.12-2-gc4ccff1/nscd/servicescache.c
-@@ -61,7 +61,7 @@ static const serv_response_header notfou
- };
--static void
-+static time_t
- cache_addserv (struct database_dyn *db, int fd, request_header *req,
-              const void *key, struct servent *serv, uid_t owner,
-              struct hashentry *const he, struct datahead *dh, int errval)
-@@ -81,6 +81,7 @@ cache_addserv (struct database_dyn *db, 
-   assert (offsetof (struct dataset, resp) == offsetof (struct datahead, data));
-+  time_t timeout = MAX_TIMEOUT_VALUE;
-   if (serv == NULL)
-     {
-       if (he != NULL && errval == EAGAIN)
-@@ -92,6 +93,9 @@ cache_addserv (struct database_dyn *db, 
-           /* Do not reset the value if we never not reload the record.  */
-           dh->nreloads = reload_count - 1;
-+        /* Reload with the same time-to-live value.  */
-+        timeout = dh->timeout = t + db->postimeout;
-+
-         written = total = 0;
-       }
-       else
-@@ -115,7 +119,7 @@ cache_addserv (struct database_dyn *db, 
-             dataset->head.usable = true;
-             /* Compute the timeout time.  */
--            dataset->head.timeout = t + db->negtimeout;
-+            timeout = dataset->head.timeout = t + db->negtimeout;
-             /* This is the reply.  */
-             memcpy (&dataset->resp, &notfound, total);
-@@ -203,7 +207,7 @@ cache_addserv (struct database_dyn *db, 
-       dataset->head.usable = true;
-       /* Compute the timeout time.  */
--      dataset->head.timeout = t + db->postimeout;
-+      timeout = dataset->head.timeout = t + db->postimeout;
-       dataset->resp.version = NSCD_VERSION;
-       dataset->resp.found = 1;
-@@ -328,6 +332,8 @@ cache_addserv (struct database_dyn *db, 
-       dbg_log (_("short write in %s: %s"),  __FUNCTION__,
-              strerror_r (errno, buf, sizeof (buf)));
-     }
-+
-+  return timeout;
- }
-@@ -354,7 +360,7 @@ lookup (int type, char *key, struct serv
- }
--static void
-+static time_t
- addservbyX (struct database_dyn *db, int fd, request_header *req,
-           char *key, uid_t uid, struct hashentry *he, struct datahead *dh)
- {
-@@ -409,10 +415,12 @@ addservbyX (struct database_dyn *db, int
-       buffer = (char *) extend_alloca (buffer, buflen, 2 * buflen);
-     }
--  cache_addserv (db, fd, req, key, serv, uid, he, dh, errval);
-+  time_t timeout = cache_addserv (db, fd, req, key, serv, uid, he, dh, errval);
-   if (use_malloc)
-     free (buffer);
-+
-+  return timeout;
- }
-@@ -424,7 +432,7 @@ addservbyname (struct database_dyn *db, 
- }
--void
-+time_t
- readdservbyname (struct database_dyn *db, struct hashentry *he,
-                struct datahead *dh)
- {
-@@ -434,7 +442,7 @@ readdservbyname (struct database_dyn *db
-       .key_len = he->len
-     };
--  addservbyX (db, -1, &req, db->data + he->key, he->owner, he, dh);
-+  return addservbyX (db, -1, &req, db->data + he->key, he->owner, he, dh);
- }
-@@ -446,7 +454,7 @@ addservbyport (struct database_dyn *db, 
- }
--void
-+time_t
- readdservbyport (struct database_dyn *db, struct hashentry *he,
-                struct datahead *dh)
- {
-@@ -456,5 +464,5 @@ readdservbyport (struct database_dyn *db
-       .key_len = he->len
-     };
--  addservbyX (db, -1, &req, db->data + he->key, he->owner, he, dh);
-+  return addservbyX (db, -1, &req, db->data + he->key, he->owner, he, dh);
- }
diff --git a/src/patches/glibc/glibc-rh705465.patch b/src/patches/glibc/glibc-rh705465.patch
deleted file mode 100644 (file)
index 63b971e..0000000
+++ /dev/null
@@ -1,449 +0,0 @@
-2011-11-07  Andreas Schwab  <schwab@redhat.com>
-
-       * nss/nss_files/files-initgroups.c (_nss_files_initgroups_dyn):
-       Fix size of allocated buffer.
-
-2011-05-10  Ulrich Drepper  <drepper@gmail.com>
-
-       [BZ #11257]
-       * grp/initgroups.c (internal_getgrouplist): When we found the service
-       list through the initgroups entry in nsswitch.conf do not always
-       continue on a successful lookup.  Don't always use the
-       __nss_group_data-ase value if it is set.
-       * nss/nsswitch.conf (initgroups): Change action for successful db
-       lookup to continue for compatibility.
-
-2011-05-06  Ulrich Drepper  <drepper@gmail.com>
-
-       * nss/nss_files/files-initgroups.c (_nss_files_initgroups_dyn): Return
-       NSS_STATUS_NOTFOUND if no record was found.
-
-2011-04-29  Ulrich Drepper  <drepper@gmail.com>
-
-       * grp/initgroups.c (internal_getgrouplist): Prefer initgroups setting
-       to groups setting in database lookup.
-       * nss/nsswitch.conf: Add initgroups entry.
-
-2011-04-21  Ulrich Drepper  <drepper@gmail.com>
-
-       * nss/nss_files/files-initgroups.c (_nss_files_initgroups_dyn): Fix
-       problem in reallocation in last patch.
-
-2011-04-19  Ulrich Drepper  <drepper@gmail.com>
-
-       * nss/nss_files/files-initgroups.c: New file.
-       * nss/Makefile (libnss_files-routines): Add files-initgroups.
-       * nss/Versions (libnss_files) [GLIBC_PRIVATE]: Export
-       _nss_files_initgroups_dyn.
-
-2011-01-13  Ulrich Drepper  <drepper@gmail.com>
-
-       [BZ #10484]
-       * nss/nss_files/files-hosts.c (HOST_DB_LOOKUP): Handle overflows of
-       temporary buffer used to handle multi lookups locally.
-       * include/alloca.h: Add libc_hidden_proto for __libc_alloca_cutoff.
-
-2011-01-13  Ulrich Drepper  <drepper@gmail.com>
-
-       [BZ #10484]
-       * Versions [libc] (GLIBC_PRIVATE): Export __libc_alloca_cutoff.
-       * alloca_cutoff.c: Add libc_hidden_def.
-
-Index: glibc-2.12-2-gc4ccff1/grp/initgroups.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/grp/initgroups.c
-+++ glibc-2.12-2-gc4ccff1/grp/initgroups.c
-@@ -43,6 +43,8 @@ extern int __nss_group_lookup (service_u
- extern void *__nss_lookup_function (service_user *ni, const char *fct_name);
- extern service_user *__nss_group_database attribute_hidden;
-+static service_user *initgroups_database;
-+static bool use_initgroups_entry;
- #include "compat-initgroups.c"
-@@ -67,32 +69,41 @@ internal_getgrouplist (const char *user,
-     }
- #endif
--  service_user *nip = NULL;
--  initgroups_dyn_function fct;
-   enum nss_status status = NSS_STATUS_UNAVAIL;
--  int no_more;
--  /* Start is one, because we have the first group as parameter.  */
--  long int start = 1;
-+  int no_more = 0;
-   /* Never store more than the starting *SIZE number of elements.  */
-   assert (*size > 0);
-   (*groupsp)[0] = group;
-+  /* Start is one, because we have the first group as parameter.  */
-+  long int start = 1;
--  if (__nss_group_database != NULL)
-+  if (initgroups_database == NULL)
-     {
--      no_more = 0;
--      nip = __nss_group_database;
-+      no_more = __nss_database_lookup ("initgroups", NULL, "",
-+                                     &initgroups_database);
-+      if (no_more == 0 && initgroups_database == NULL)
-+      {
-+        if (__nss_group_database == NULL)
-+          no_more = __nss_database_lookup ("group", NULL, "compat files",
-+                                           &__nss_group_database);
-+
-+        initgroups_database = __nss_group_database;
-+      }
-+      else if (initgroups_database != NULL)
-+      {
-+        assert (no_more == 0);
-+        use_initgroups_entry = true;
-+      }
-     }
--  else
--    no_more = __nss_database_lookup ("group", NULL,
--                                   "compat [NOTFOUND=return] files", &nip);
-+  service_user *nip = initgroups_database;
-   while (! no_more)
-     {
-       long int prev_start = start;
--      fct = __nss_lookup_function (nip, "initgroups_dyn");
--
-+      initgroups_dyn_function fct = __nss_lookup_function (nip,
-+                                                         "initgroups_dyn");
-       if (fct == NULL)
-       status = compat_call (nip, user, group, &start, size, groupsp,
-                             limit, &errno);
-@@ -119,7 +130,13 @@ internal_getgrouplist (const char *user,
-       if (NSS_STATUS_TRYAGAIN > status || status > NSS_STATUS_RETURN)
-       __libc_fatal ("illegal status in internal_getgrouplist");
--      if (status != NSS_STATUS_SUCCESS
-+      /* For compatibility reason we will continue to look for more
-+       entries using the next service even though data has already
-+       been found if the nsswitch.conf file contained only a 'groups'
-+       line and no 'initgroups' line.  If the latter is available
-+       we always respect the status.  This means that the default
-+       for successful lookups is to return.  */
-+      if ((use_initgroups_entry || status != NSS_STATUS_SUCCESS)
-         && nss_next_action (nip, status) == NSS_ACTION_RETURN)
-        break;
-Index: glibc-2.12-2-gc4ccff1/include/alloca.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/include/alloca.h
-+++ glibc-2.12-2-gc4ccff1/include/alloca.h
-@@ -14,6 +14,7 @@ extern void *__alloca (size_t __size);
- extern int __libc_use_alloca (size_t size) __attribute__ ((const));
- extern int __libc_alloca_cutoff (size_t size) __attribute__ ((const));
-+libc_hidden_proto (__libc_alloca_cutoff)
- #define __MAX_ALLOCA_CUTOFF   65536
-Index: glibc-2.12-2-gc4ccff1/nptl/Versions
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nptl/Versions
-+++ glibc-2.12-2-gc4ccff1/nptl/Versions
-@@ -27,6 +27,7 @@ libc {
-     pthread_cond_broadcast; pthread_cond_timedwait;
-   }
-   GLIBC_PRIVATE {
-+    __libc_alloca_cutoff;
-     # Internal libc interface to libpthread
-     __libc_dl_error_tsd;
-   }
-Index: glibc-2.12-2-gc4ccff1/nptl/alloca_cutoff.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nptl/alloca_cutoff.c
-+++ glibc-2.12-2-gc4ccff1/nptl/alloca_cutoff.c
-@@ -34,3 +34,4 @@ __libc_alloca_cutoff (size_t size)
-                         assume the maximum available stack space.  */
-                      ?: __MAX_ALLOCA_CUTOFF * 4));
- }
-+libc_hidden_def (__libc_alloca_cutoff)
-Index: glibc-2.12-2-gc4ccff1/nss/Makefile
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nss/Makefile
-+++ glibc-2.12-2-gc4ccff1/nss/Makefile
-@@ -63,7 +63,7 @@ vpath %.c $(subdir-dirs)
- libnss_files-routines := $(addprefix files-,$(databases)) \
--                         files-have_o_cloexec
-+                         files-initgroups files-have_o_cloexec
- distribute            += files-XXX.c files-parse.c
-Index: glibc-2.12-2-gc4ccff1/nss/Versions
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nss/Versions
-+++ glibc-2.12-2-gc4ccff1/nss/Versions
-@@ -95,5 +95,7 @@ libnss_files {
-     _nss_netgroup_parseline;
-     _nss_files_getpublickey;
-     _nss_files_getsecretkey;
-+
-+    _nss_files_initgroups_dyn;
-   }
- }
-Index: glibc-2.12-2-gc4ccff1/nss/nss_files/files-hosts.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nss/nss_files/files-hosts.c
-+++ glibc-2.12-2-gc4ccff1/nss/nss_files/files-hosts.c
-@@ -129,19 +129,22 @@ _nss_files_get##name##_r (proto,                                    
-         && _res_hconf.flags & HCONF_FLAG_MULTI)                             \
-       {                                                                     \
-         /* We have to get all host entries from the file.  */               \
--        const size_t tmp_buflen = MIN (buflen, 4096);                       \
--        char tmp_buffer[tmp_buflen]                                         \
-+        size_t tmp_buflen = MIN (buflen, 4096);                             \
-+        char tmp_buffer_stack[tmp_buflen]                                   \
-           __attribute__ ((__aligned__ (__alignof__ (struct hostent_data))));\
-+        char *tmp_buffer = tmp_buffer_stack;                                \
-         struct hostent tmp_result_buf;                                      \
-         int naddrs = 1;                                                     \
-         int naliases = 0;                                                   \
-         char *bufferend;                                                    \
-+        bool tmp_buffer_malloced = false;                                   \
-                                                                             \
-         while (result->h_aliases[naliases] != NULL)                         \
-           ++naliases;                                                       \
-                                                                             \
-         bufferend = (char *) &result->h_aliases[naliases + 1];              \
-                                                                             \
-+      again:                                                                \
-         while ((status = internal_getent (&tmp_result_buf, tmp_buffer,      \
-                                           tmp_buflen, errnop H_ERRNO_ARG    \
-                                           EXTRA_ARGS_VALUE))                \
-@@ -182,7 +185,7 @@ _nss_files_get##name##_r (proto,                                      
-                   }                                                         \
-                 /* If the real name is different add it also to the         \
-                    aliases.  This means that there is a duplication         \
--                   in the alias list but this is really the users           \
-+                   in the alias list but this is really the user's          \
-                    problem.  */                                             \
-                 if (strcmp (old_result->h_name,                             \
-                             tmp_result_buf.h_name) != 0)                    \
-@@ -204,7 +207,7 @@ _nss_files_get##name##_r (proto,                                      
-                     *errnop = ERANGE;                                       \
-                     *herrnop = NETDB_INTERNAL;                              \
-                     status = NSS_STATUS_TRYAGAIN;                           \
--                    break;                                                  \
-+                    goto out;                                               \
-                   }                                                         \
-                                                                             \
-                 new_h_addr_list =                                           \
-@@ -268,8 +271,54 @@ _nss_files_get##name##_r (proto,                                     
-               }                                                             \
-           }                                                                 \
-                                                                             \
--        if (status != NSS_STATUS_TRYAGAIN)                                  \
-+        if (status == NSS_STATUS_TRYAGAIN)                                  \
-+          {                                                                 \
-+            size_t newsize = 2 * tmp_buflen;                                \
-+            if (tmp_buffer_malloced)                                        \
-+              {                                                             \
-+                char *newp = realloc (tmp_buffer, newsize);                 \
-+                if (newp != NULL)                                           \
-+                  {                                                         \
-+                    assert ((((uintptr_t) newp)                             \
-+                             & (__alignof__ (struct hostent_data) - 1))     \
-+                            == 0);                                          \
-+                    tmp_buffer = newp;                                      \
-+                    tmp_buflen = newsize;                                   \
-+                    goto again;                                             \
-+                  }                                                         \
-+              }                                                             \
-+            else if (!__libc_use_alloca (buflen + newsize))                 \
-+              {                                                             \
-+                tmp_buffer = malloc (newsize);                              \
-+                if (tmp_buffer != NULL)                                     \
-+                  {                                                         \
-+                    assert ((((uintptr_t) tmp_buffer)                       \
-+                             & (__alignof__ (struct hostent_data) - 1))     \
-+                            == 0);                                          \
-+                    tmp_buffer_malloced = true;                             \
-+                    tmp_buflen = newsize;                                   \
-+                    goto again;                                             \
-+                  }                                                         \
-+              }                                                             \
-+            else                                                            \
-+              {                                                             \
-+                tmp_buffer                                                  \
-+                  = extend_alloca (tmp_buffer, tmp_buflen,                  \
-+                                   newsize                                  \
-+                                   + __alignof__ (struct hostent_data));    \
-+                tmp_buffer = (char *) (((uintptr_t) tmp_buffer              \
-+                                        + __alignof__ (struct hostent_data) \
-+                                        - 1)                                \
-+                                       & ~(__alignof__ (struct hostent_data)\
-+                                           - 1));                           \
-+                goto again;                                                 \
-+              }                                                             \
-+          }                                                                 \
-+        else                                                                \
-           status = NSS_STATUS_SUCCESS;                                      \
-+      out:                                                                  \
-+        if (tmp_buffer_malloced)                                            \
-+          free (tmp_buffer);                                                \
-       }                                                                     \
-                                                                             \
-                                                                             \
-Index: glibc-2.12-2-gc4ccff1/nss/nss_files/files-initgroups.c
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/nss/nss_files/files-initgroups.c
-@@ -0,0 +1,137 @@
-+/* Initgroups handling in nss_files module.
-+   Copyright (C) 2011 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 <alloca.h>
-+#include <errno.h>
-+#include <grp.h>
-+#include <nss.h>
-+#include <stdio_ext.h>
-+#include <string.h>
-+#include <sys/param.h>
-+
-+enum nss_status
-+_nss_files_initgroups_dyn (const char *user, gid_t group, long int *start,
-+                         long int *size, gid_t **groupsp, long int limit,
-+                         int *errnop)
-+{
-+  FILE *stream = fopen ("/etc/group", "re");
-+  if (stream == NULL)
-+    {
-+      *errnop = errno;
-+      return *errnop == ENOMEM ? NSS_STATUS_TRYAGAIN : NSS_STATUS_UNAVAIL;
-+    }
-+
-+  /* No other thread using this stream.  */
-+  __fsetlocking (stream, FSETLOCKING_BYCALLER);
-+
-+  char *line = NULL;
-+  size_t linelen = 0;
-+  enum nss_status status = NSS_STATUS_SUCCESS;
-+  bool any = false;
-+
-+  size_t buflen = 1024;
-+  void *buffer = alloca (buflen);
-+  bool buffer_use_malloc = false;
-+
-+  gid_t *groups = *groupsp;
-+
-+  /* We have to iterate over the entire file.  */
-+  while (!feof_unlocked (stream))
-+    {
-+      ssize_t n = getline (&line, &linelen, stream);
-+      if (n < 0)
-+      {
-+        if (! feof_unlocked (stream))
-+          status = ((*errnop = errno) == ENOMEM
-+                    ? NSS_STATUS_TRYAGAIN : NSS_STATUS_UNAVAIL);
-+        break;
-+      }
-+
-+      struct group grp;
-+      int res;
-+      while ((res = _nss_files_parse_grent (line, &grp, buffer, buflen,
-+                                          errnop)) == -1)
-+      {
-+        size_t newbuflen = 2 * buflen;
-+        if (buffer_use_malloc || ! __libc_use_alloca (buflen + newbuflen))
-+          {
-+            void *newbuf = realloc (buffer_use_malloc ? buffer : NULL,
-+                                    newbuflen);
-+            if (newbuf == NULL)
-+              {
-+                *errnop = ENOMEM;
-+                status = NSS_STATUS_TRYAGAIN;
-+                goto out;
-+              }
-+            buffer = newbuf;
-+            buflen = newbuflen;
-+            buffer_use_malloc = true;
-+          }
-+        else
-+          buffer = extend_alloca (buffer, buflen, newbuflen);
-+      }
-+
-+      if (res > 0 && grp.gr_gid != group)
-+      for (char **m = grp.gr_mem; *m != NULL; ++m)
-+        if (strcmp (*m, user) == 0)
-+          {
-+            /* Matches user.  Insert this group.  */
-+            if (*start == *size)
-+              {
-+                /* Need a bigger buffer.  */
-+                if (limit > 0 && *size == limit)
-+                  /* We reached the maximum.  */
-+                  goto out;
-+
-+                long int newsize;
-+                if (limit <= 0)
-+                  newsize = 2 * *size;
-+                else
-+                  newsize = MIN (limit, 2 * *size);
-+
-+                gid_t *newgroups = realloc (groups,
-+                                            newsize * sizeof (*groups));
-+                if (newgroups == NULL)
-+                  {
-+                    *errnop = ENOMEM;
-+                    status = NSS_STATUS_TRYAGAIN;
-+                    goto out;
-+                  }
-+                *groupsp = groups = newgroups;
-+                *size = newsize;
-+              }
-+
-+            groups[*start] = grp.gr_gid;
-+            *start += 1;
-+            any = true;
-+
-+            break;
-+          }
-+    }
-+
-+ out:
-+  /* Free memory.  */
-+  if (buffer_use_malloc)
-+    free (buffer);
-+  free (line);
-+
-+  fclose (stream);
-+
-+  return status == NSS_STATUS_SUCCESS && !any ? NSS_STATUS_NOTFOUND : status;
-+}
-Index: glibc-2.12-2-gc4ccff1/nss/nsswitch.conf
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nss/nsswitch.conf
-+++ glibc-2.12-2-gc4ccff1/nss/nsswitch.conf
-@@ -5,6 +5,7 @@
- passwd:               db files
- group:                db files
-+initgroups:   db [SUCCESS=continue] files
- shadow:               db files
- gshadow:      files
diff --git a/src/patches/glibc/glibc-rh711927.patch b/src/patches/glibc/glibc-rh711927.patch
deleted file mode 100644 (file)
index 26949fe..0000000
+++ /dev/null
@@ -1,503 +0,0 @@
-Index: glibc-2.12-2-gc4ccff1/config.h.in
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/config.h.in
-+++ glibc-2.12-2-gc4ccff1/config.h.in
-@@ -201,6 +201,9 @@
- /* Define if multi-arch DSOs should be generated.  */
- #undef USE_MULTIARCH
-+/* Define if Systemtap <sys/sdt.h> probes should be defined.  */
-+#undef USE_STAP_PROBE
-+
- /*
\f */
-Index: glibc-2.12-2-gc4ccff1/configure
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/configure
-+++ glibc-2.12-2-gc4ccff1/configure
-@@ -830,6 +830,7 @@ enable_all_warnings
- enable_multi_arch
- enable_experimental_malloc
- enable_nss_crypt
-+enable_systemtap
- with_cpu
- '
-       ac_precious_vars='build_alias
-@@ -1501,6 +1502,7 @@ Optional Features:
-   --enable-experimental-malloc
-                           enable experimental malloc features
-   --enable-nss-crypt      enable libcrypt to use nss
-+  --enable-systemtap      enable systemtap static probe points [default=no]
- Optional Packages:
-   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-@@ -3932,6 +3934,79 @@ else
- fi
-+# Check whether --enable-systemtap was given.
-+if test "${enable_systemtap+set}" = set; then
-+  enableval=$enable_systemtap; systemtap=$enableval
-+else
-+  systemtap=no
-+fi
-+
-+if test x$systemtap != xno; then
-+
-+  { $as_echo "$as_me:$LINENO: checking for systemtap static probe support" >&5
-+$as_echo_n "checking for systemtap static probe support... " >&6; }
-+if test "${libc_cv_sdt+set}" = set; then
-+  $as_echo_n "(cached) " >&6
-+else
-+    old_CFLAGS="$CFLAGS"
-+  CFLAGS="-std=gnu99 $CFLAGS"
-+  cat >conftest.$ac_ext <<_ACEOF
-+#include <sys/sdt.h>
-+void foo (int i, void *p)
-+{
-+  asm ("" STAP_PROBE_ASM (foo, bar, STAP_PROBE_ASM_TEMPLATE (2)) ""
-+       :: STAP_PROBE_ASM_OPERANDS (2, i, p));
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-+  (eval "$ac_compile") 2>conftest.er1
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); } && {
-+       test -z "$ac_c_werror_flag" ||
-+       test ! -s conftest.err
-+       } && test -s conftest.$ac_objext; then
-+  libc_cv_sdt=yes
-+else
-+  $as_echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+      libc_cv_sdt=no
-+fi
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+  CFLAGS="$old_CFLAGS"
-+fi
-+{ $as_echo "$as_me:$LINENO: result: $libc_cv_sdt" >&5
-+$as_echo "$libc_cv_sdt" >&6; }
-+  if test $libc_cv_sdt = yes; then
-+    cat >>confdefs.h <<\_ACEOF
-+#define USE_STAP_PROBE 1
-+_ACEOF
-+
-+  else
-+    { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-+{ { $as_echo "$as_me:$LINENO: error: systemtap support needs sys/sdt.h with asm support
-+See \`config.log' for more details." >&5
-+$as_echo "$as_me: error: systemtap support needs sys/sdt.h with asm support
-+See \`config.log' for more details." >&2;}
-+   { (exit 1); exit 1; }; }; }
-+  fi
-+
-+fi
-+
-+
- # The way shlib-versions is used to generate soversions.mk uses a
- # fairly simplistic model for name recognition that can't distinguish
- # i486-pc-linux-gnu fully from i486-pc-gnu.  So we mutate a $host_os
-Index: glibc-2.12-2-gc4ccff1/configure.in
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/configure.in
-+++ glibc-2.12-2-gc4ccff1/configure.in
-@@ -319,6 +319,29 @@ else
- fi
- AC_SUBST(libc_cv_nss_crypt)
-+AC_ARG_ENABLE([systemtap],
-+              [AS_HELP_STRING([--enable-systemtap],
-+             [enable systemtap static probe points @<:@default=no@:>@])],
-+              [systemtap=$enableval],
-+            [systemtap=no])
-+AS_IF([test x$systemtap != xno], [
-+  AC_CACHE_CHECK([for systemtap static probe support], libc_cv_sdt, [dnl
-+  old_CFLAGS="$CFLAGS"
-+  CFLAGS="-std=gnu99 $CFLAGS"
-+  AC_COMPILE_IFELSE([#include <sys/sdt.h>
-+void foo (int i, void *p)
-+{
-+  asm ("" STAP_PROBE_ASM (foo, bar, STAP_PROBE_ASM_TEMPLATE (2)) ""
-+       :: STAP_PROBE_ASM_OPERANDS (2, i, p));
-+}], [libc_cv_sdt=yes], [libc_cv_sdt=no])
-+  CFLAGS="$old_CFLAGS"])
-+  if test $libc_cv_sdt = yes; then
-+    AC_DEFINE([USE_STAP_PROBE])
-+  else
-+    AC_MSG_FAILURE([systemtap support needs sys/sdt.h with asm support])
-+  fi
-+])
-+
- # The way shlib-versions is used to generate soversions.mk uses a
- # fairly simplistic model for name recognition that can't distinguish
- # i486-pc-linux-gnu fully from i486-pc-gnu.  So we mutate a $host_os
-Index: glibc-2.12-2-gc4ccff1/elf/Makefile
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/Makefile
-+++ glibc-2.12-2-gc4ccff1/elf/Makefile
-@@ -458,7 +458,8 @@ CFLAGS-ldconfig.c = $(SYSCONF-FLAGS) -D'
- CFLAGS-dl-cache.c = $(SYSCONF-FLAGS)
- CFLAGS-cache.c = $(SYSCONF-FLAGS)
--CPPFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),-DNOT_IN_libc=1 -DIS_IN_rtld=1)
-+CPPFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),\
-+                   -DNOT_IN_libc=1 -DIS_IN_rtld=1 -DIN_LIB=rtld)
- test-modules = $(addprefix $(objpfx),$(addsuffix .so,$(strip $(modules-names))))
- generated += $(addsuffix .so,$(strip $(modules-names)))
-Index: glibc-2.12-2-gc4ccff1/elf/dl-close.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/dl-close.c
-+++ glibc-2.12-2-gc4ccff1/elf/dl-close.c
-@@ -32,6 +32,7 @@
- #include <sys/mman.h>
- #include <sysdep-cancel.h>
- #include <tls.h>
-+#include <stap-probe.h>
- /* Type of the constructor functions.  */
-@@ -469,6 +470,7 @@ _dl_close_worker (struct link_map *map)
-   struct r_debug *r = _dl_debug_initialize (0, nsid);
-   r->r_state = RT_DELETE;
-   _dl_debug_state ();
-+  LIBC_PROBE (rtld_unmap_start, 2, nsid, r);
-   if (unload_global)
-     {
-@@ -722,6 +724,7 @@ _dl_close_worker (struct link_map *map)
-   /* Notify the debugger those objects are finalized and gone.  */
-   r->r_state = RT_CONSISTENT;
-   _dl_debug_state ();
-+  LIBC_PROBE (rtld_unmap_complete, 2, nsid, r);
-   /* Recheck if we need to retry, release the lock.  */
-  out:
-Index: glibc-2.12-2-gc4ccff1/elf/dl-load.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/dl-load.c
-+++ glibc-2.12-2-gc4ccff1/elf/dl-load.c
-@@ -36,6 +36,7 @@
- #include <stackinfo.h>
- #include <caller.h>
- #include <sysdep.h>
-+#include <stap-probe.h>
- #include <dl-dst.h>
-@@ -806,7 +807,7 @@ _dl_init_paths (const char *llp)
- static void
- __attribute__ ((noreturn, noinline))
- lose (int code, int fd, const char *name, char *realname, struct link_map *l,
--      const char *msg, struct r_debug *r)
-+      const char *msg, struct r_debug *r, Lmid_t nsid)
- {
-   /* The file might already be closed.  */
-   if (fd != -1)
-@@ -818,6 +819,7 @@ lose (int code, int fd, const char *name
-     {
-       r->r_state = RT_CONSISTENT;
-       _dl_debug_state ();
-+      LIBC_PROBE (rtld_map_complete, 2, nsid, r);
-     }
-   _dl_signal_error (code, name, NULL, msg);
-@@ -856,7 +858,7 @@ _dl_map_object_from_fd (const char *name
-       errval = errno;
-     call_lose:
-       lose (errval, fd, name, realname, l, errstring,
--          make_consistent ? r : NULL);
-+          make_consistent ? r : NULL, nsid);
-     }
-   /* Look again to see if the real name matched another already loaded.  */
-@@ -963,6 +965,7 @@ _dl_map_object_from_fd (const char *name
-        linking has not been used before.  */
-       r->r_state = RT_ADD;
-       _dl_debug_state ();
-+      LIBC_PROBE (rtld_map_start, 2, nsid, r);
-       make_consistent = true;
-     }
-   else
-@@ -1656,7 +1659,7 @@ open_verify (const char *name, struct fi
-             name = strdupa (realname);
-             free (realname);
-           }
--        lose (errval, fd, name, NULL, NULL, errstring, NULL);
-+        lose (errval, fd, name, NULL, NULL, errstring, NULL, 0);
-       }
-       /* See whether the ELF header is what we expect.  */
-Index: glibc-2.12-2-gc4ccff1/elf/dl-open.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/dl-open.c
-+++ glibc-2.12-2-gc4ccff1/elf/dl-open.c
-@@ -33,6 +33,7 @@
- #include <caller.h>
- #include <sysdep-cancel.h>
- #include <tls.h>
-+#include <stap-probe.h>
- #include <dl-dst.h>
-@@ -297,6 +298,7 @@ dl_open_worker (void *a)
-   struct r_debug *r = _dl_debug_initialize (0, args->nsid);
-   r->r_state = RT_CONSISTENT;
-   _dl_debug_state ();
-+  LIBC_PROBE (rtld_map_complete, 2, args->nsid, r);
-   /* Only do lazy relocation if `LD_BIND_NOW' is not set.  */
-   int reloc_mode = mode & __RTLD_AUDIT;
-@@ -309,10 +311,18 @@ dl_open_worker (void *a)
-   struct link_map *l = new;
-   while (l->l_next)
-     l = l->l_next;
-+  int relocation_in_progress = 0;
-   while (1)
-     {
-       if (! l->l_real->l_relocated)
-       {
-+        if (! relocation_in_progress)
-+          {
-+            /* Notify the debugger that relocations are about to happen.  */
-+            LIBC_PROBE (rtld_reloc_start, 2, args->nsid, r);
-+            relocation_in_progress = 1;
-+          }
-+
- #ifdef SHARED
-         if (__builtin_expect (GLRO(dl_profile) != NULL, 0))
-           {
-@@ -460,6 +470,10 @@ cannot load any more object with static 
-     _dl_fatal_printf (N_("\
- TLS generation counter wrapped!  Please report this."));
-+  /* Notify the debugger all new objects have been relocated.  */
-+  if (relocation_in_progress)
-+    LIBC_PROBE (rtld_reloc_complete, 2, args->nsid, r);
-+
-   /* Run the initializer functions of new objects.  */
-   _dl_init (new, args->argc, args->argv, args->env);
-Index: glibc-2.12-2-gc4ccff1/elf/rtld-Rules
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/rtld-Rules
-+++ glibc-2.12-2-gc4ccff1/elf/rtld-Rules
-@@ -122,6 +122,6 @@ ifdef rtld-depfiles
- endif
- # This here is the whole point of all the shenanigans.
--rtld-CPPFLAGS := -DNOT_IN_libc=1 -DIS_IN_rtld=1
-+rtld-CPPFLAGS := -DNOT_IN_libc=1 -DIS_IN_rtld=1 -DIN_LIB=rtld
- endif
-Index: glibc-2.12-2-gc4ccff1/elf/rtld.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/rtld.c
-+++ glibc-2.12-2-gc4ccff1/elf/rtld.c
-@@ -40,6 +40,7 @@
- #include <dl-osinfo.h>
- #include <dl-procinfo.h>
- #include <tls.h>
-+#include <stap-probe.h>
- #include <assert.h>
-@@ -1656,6 +1657,7 @@ ERROR: ld.so: object '%s' cannot be load
-   /* We start adding objects.  */
-   r->r_state = RT_ADD;
-   _dl_debug_state ();
-+  LIBC_PROBE (rtld_init_start, 2, LM_ID_BASE, r);
-   /* Auditing checkpoint: we are ready to signal that the initial map
-      is being constructed.  */
-@@ -2353,6 +2355,7 @@ ERROR: ld.so: object '%s' cannot be load
-   r = _dl_debug_initialize (0, LM_ID_BASE);
-   r->r_state = RT_CONSISTENT;
-   _dl_debug_state ();
-+  LIBC_PROBE (rtld_init_complete, 2, LM_ID_BASE, r);
- #ifndef MAP_COPY
-   /* We must munmap() the cache file.  */
-Index: glibc-2.12-2-gc4ccff1/extra-lib.mk
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/extra-lib.mk
-+++ glibc-2.12-2-gc4ccff1/extra-lib.mk
-@@ -101,4 +101,4 @@ ifneq (,$(cpp-srcs-left))
- include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
- endif
--CPPFLAGS-$(lib) := -DNOT_IN_libc=1 -DIS_IN_$(lib)=1
-+CPPFLAGS-$(lib) := -DNOT_IN_libc=1 -DIS_IN_$(lib)=1 -DIN_LIB=$(lib)
-Index: glibc-2.12-2-gc4ccff1/include/stap-probe.h
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/include/stap-probe.h
-@@ -0,0 +1,140 @@
-+/* Macros for defining Systemtap <sys/sdt.h> static probe points.
-+   Copyright (C) 2011 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 _STAP_PROBE_H
-+#define _STAP_PROBE_H 1
-+
-+#ifdef USE_STAP_PROBE
-+
-+# include <sys/sdt.h>
-+
-+/* Our code uses one macro LIBC_PROBE (name, n, arg1, ..., argn).
-+
-+   Without USE_STAP_PROBE, that does nothing but evaluates all
-+   its arguments (to prevent bit rot, unlike e.g. assert).
-+
-+   Systemtap's header defines the macros STAP_PROBE (provider, name) and
-+   STAP_PROBEn (provider, name, arg1, ..., argn).  For "provider" we paste
-+   in the IN_LIB name (libc, libpthread, etc.) automagically.  */
-+
-+# ifndef NOT_IN_libc
-+#  define IN_LIB      libc
-+# elif !defined IN_LIB
-+/* This is intentionally defined with extra unquoted commas in it so
-+   that macro substitution will bomb out when it is used.  We don't
-+   just use #error here, so that this header can be included by
-+   other headers that use LIBC_PROBE inside their own macros.  We
-+   only want such headers to fail to compile if those macros are
-+   actually used in a context where IN_LIB has not been defined.  */
-+#  define IN_LIB      ,,,missing -DIN_LIB=... -- not extra-lib.mk?,,,
-+# endif
-+
-+# define LIBC_PROBE(name, n, ...)     \
-+  LIBC_PROBE_1 (IN_LIB, name, n, ## __VA_ARGS__)
-+
-+# define LIBC_PROBE_1(lib, name, n, ...) \
-+  STAP_PROBE##n (lib, name, ## __VA_ARGS__)
-+
-+# define STAP_PROBE0          STAP_PROBE
-+
-+# define LIBC_PROBE_ASM(name, template) \
-+  STAP_PROBE_ASM (IN_LIB, name, template)
-+
-+# define LIBC_PROBE_ASM_OPERANDS STAP_PROBE_ASM_OPERANDS
-+
-+#else  /* Not USE_STAP_PROBE.  */
-+
-+# ifndef __ASSEMBLER__
-+#  define LIBC_PROBE(name, n, ...)            DUMMY_PROBE##n (__VA_ARGS__)
-+# else
-+#  define LIBC_PROBE(name, n, ...)            /* Nothing.  */
-+# endif
-+
-+# define LIBC_PROBE_ASM(name, template)               /* Nothing.  */
-+# define LIBC_PROBE_ASM_OPERANDS(n, ...)      /* Nothing.  */
-+
-+/* This silliness lets us evaluate all the arguments for each arity
-+   of probe.  My kingdom for a real macro system.  */
-+
-+# define DUMMY_PROBE0()                       do {} while (0)
-+# define DUMMY_PROBE1(a1)             do {} while ((void) (a1), 0)
-+# define DUMMY_PROBE2(a1, a2)         do {} while ((void) (a1), \
-+                                                   (void) (a2), 0)
-+# define DUMMY_PROBE3(a1, a2, a3)     do {} while ((void) (a1), \
-+                                                   (void) (a2), \
-+                                                   (void) (a3), 0)
-+# define DUMMY_PROBE4(a1, a2, a3, a4) do {} while ((void) (a1), \
-+                                                   (void) (a2), \
-+                                                   (void) (a3), \
-+                                                   (void) (a4), 0)
-+# define DUMMY_PROBE5(a1, a2, a3, a4, a5)                       \
-+                                      do {} while ((void) (a1), \
-+                                                   (void) (a2), \
-+                                                   (void) (a3), \
-+                                                   (void) (a4), \
-+                                                   (void) (a5), 0)
-+# define DUMMY_PROBE6(a1, a2, a3, a4, a5, a6)                   \
-+                                      do {} while ((void) (a1), \
-+                                                   (void) (a2), \
-+                                                   (void) (a3), \
-+                                                   (void) (a4), \
-+                                                   (void) (a5), \
-+                                                   (void) (a6), 0)
-+# define DUMMY_PROBE7(a1, a2, a3, a4, a5, a6, a7)               \
-+                                      do {} while ((void) (a1), \
-+                                                   (void) (a2), \
-+                                                   (void) (a3), \
-+                                                   (void) (a4), \
-+                                                   (void) (a5), \
-+                                                   (void) (a6), \
-+                                                   (void) (a7), 0)
-+# define DUMMY_PROBE8(a1, a2, a3, a4, a5, a6, a7, a8)           \
-+                                      do {} while ((void) (a1), \
-+                                                   (void) (a2), \
-+                                                   (void) (a3), \
-+                                                   (void) (a4), \
-+                                                   (void) (a5), \
-+                                                   (void) (a6), \
-+                                                   (void) (a7), \
-+                                                   (void) (a8), 0)
-+# define DUMMY_PROBE9(a1, a2, a3, a4, a5, a6, a7, a8, a9)       \
-+                                      do {} while ((void) (a1), \
-+                                                   (void) (a2), \
-+                                                   (void) (a3), \
-+                                                   (void) (a4), \
-+                                                   (void) (a5), \
-+                                                   (void) (a6), \
-+                                                   (void) (a7), \
-+                                                   (void) (a8), \
-+                                                   (void) (a9), 0)
-+# define DUMMY_PROBE10(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)         \
-+                                      do {} while ((void) (a1), \
-+                                                   (void) (a2), \
-+                                                   (void) (a3), \
-+                                                   (void) (a4), \
-+                                                   (void) (a5), \
-+                                                   (void) (a6), \
-+                                                   (void) (a7), \
-+                                                   (void) (a8), \
-+                                                   (void) (a9), \
-+                                                   (void) (a10), 0)
-+
-+#endif        /* USE_STAP_PROBE.  */
-+
-+#endif        /* stap-probe.h */
-Index: glibc-2.12-2-gc4ccff1/scripts/check-local-headers.sh
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/scripts/check-local-headers.sh
-+++ glibc-2.12-2-gc4ccff1/scripts/check-local-headers.sh
-@@ -31,6 +31,8 @@ fgrep -v "$includedir/asm" |
- fgrep -v "$includedir/linux" |
- fgrep -v "$includedir/selinux" |
- fgrep -v "$includedir/sys/capability.h" |
-+fgrep -v "$includedir/sys/sdt.h" |
-+fgrep -v "$includedir/sys/sdt-config.h" |
- fgrep -v "$includedir/gd" |
- fgrep -v "$includedir/nss3"; then
-   # If we found a match something is wrong.
diff --git a/src/patches/glibc/glibc-rh711987.patch b/src/patches/glibc/glibc-rh711987.patch
deleted file mode 100644 (file)
index bd286e1..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-2010-08-11  Ulrich Drepper  <drepper@redhat.com>
-
-       * sysdeps/unix/sysv/linux/bits/statfs.h (struct statfs): Add f_flags
-       field.
-       (struct statfs64): Likewise.
-       (_STATFS_F_FLAGS): Define.
-       * sysdeps/unix/sysv/linux/s390/bits/statfs.h: Likewise.
-       * sysdeps/unix/sysv/linux/internal_statvfs.c (__statvfs_getflags):
-       Don't define if __ASSUME_STATFS_F_FLAGS is defined.
-       (ST_VALID): Define locally.
-       (INTERNAL_STATVFS): If f_flags has ST_VALID set don't call
-       __statvfs_getflags, use the provided value.
-       * sysdeps/unix/sysv/linux/kernel-features.h: Define
-       __ASSUME_STATFS_F_FLAGS.
-
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/bits/statfs.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/bits/statfs.h
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/bits/statfs.h
-@@ -42,7 +42,8 @@ struct statfs
-     __fsid_t f_fsid;
-     __SWORD_TYPE f_namelen;
-     __SWORD_TYPE f_frsize;
--    __SWORD_TYPE f_spare[5];
-+    __SWORD_TYPE f_flags;
-+    __SWORD_TYPE f_spare[4];
-   };
- #ifdef __USE_LARGEFILE64
-@@ -58,10 +59,12 @@ struct statfs64
-     __fsid_t f_fsid;
-     __SWORD_TYPE f_namelen;
-     __SWORD_TYPE f_frsize;
--    __SWORD_TYPE f_spare[5];
-+    __SWORD_TYPE f_flags;
-+    __SWORD_TYPE f_spare[4];
-   };
- #endif
- /* Tell code we have these members.  */
- #define _STATFS_F_NAMELEN
- #define _STATFS_F_FRSIZE
-+#define _STATFS_F_FLAGS
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/internal_statvfs.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/internal_statvfs.c
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/internal_statvfs.c
-@@ -29,6 +29,11 @@
- #include <sys/statfs.h>
- #include <sys/statvfs.h>
- #include "linux_fsinfo.h"
-+#include "kernel-features.h"
-+
-+
-+/* Special internal-only bit value.  */
-+#define ST_VALID 0x0020
- #ifndef STATFS
-@@ -37,6 +42,7 @@
- # define INTERNAL_STATVFS __internal_statvfs
-+# ifndef __ASSUME_STATFS_F_FLAGS
- int
- __statvfs_getflags (const char *name, int fstype, struct stat64 *st)
- {
-@@ -200,6 +206,7 @@ __statvfs_getflags (const char *name, in
-   return result;
- }
-+# endif
- #else
- extern int __statvfs_getflags (const char *name, int fstype,
-                              struct stat64 *st);
-@@ -240,9 +247,14 @@ INTERNAL_STATVFS (const char *name, stru
-   /* XXX I have no idea how to compute f_favail.  Any idea???  */
-   buf->f_favail = buf->f_ffree;
--  /* Determining the flags is tricky.  We have to read /proc/mounts or
--     the /etc/mtab file and search for the entry which matches the given
--     file.  The way we can test for matching filesystem is using the
--     device number.  */
--  buf->f_flag = __statvfs_getflags (name, fsbuf->f_type, st);
-+#ifndef __ASSUME_STATFS_F_FLAGS
-+  if ((fsbuf->f_flags & ST_VALID) == 0)
-+    /* Determining the flags is tricky.  We have to read /proc/mounts or
-+       the /etc/mtab file and search for the entry which matches the given
-+       file.  The way we can test for matching filesystem is using the
-+       device number.  */
-+    buf->f_flag = __statvfs_getflags (name, fsbuf->f_type, st);
-+  else
-+#endif
-+    buf->f_flag = fsbuf->f_flags ^ ST_VALID;
- }
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/kernel-features.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/kernel-features.h
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/kernel-features.h
-@@ -552,3 +552,8 @@
- #if __LINUX_KERNEL_VERSION >= 0x020621
- # define __ASSUME_RECVMMSG    1
- #endif
-+
-+/* statfs fills in f_flags since 2.6.36.  */
-+#if __LINUX_KERNEL_VERSION >= 0x020624
-+# define __ASSUME_STATFS_F_FLAGS      1
-+#endif
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/s390/bits/statfs.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/s390/bits/statfs.h
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/s390/bits/statfs.h
-@@ -42,7 +42,8 @@ struct statfs
-     __fsid_t f_fsid;
-     int f_namelen;
-     int f_frsize;
--    int f_spare[5];
-+    int f_flags;
-+    int f_spare[4];
-   };
- #ifdef __USE_LARGEFILE64
-@@ -58,10 +59,12 @@ struct statfs64
-     __fsid_t f_fsid;
-     int f_namelen;
-     int f_frsize;
--    int f_spare[5];
-+    int f_flags;
-+    int f_spare[4];
-   };
- #endif
- /* Tell code we have this member.  */
- #define _STATFS_F_NAMELEN
- #define _STATFS_F_FRSIZE
-+#define _STATFS_F_FLAGS
diff --git a/src/patches/glibc/glibc-rh712248.patch b/src/patches/glibc/glibc-rh712248.patch
deleted file mode 100644 (file)
index afadc66..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-2011-07-07  Ulrich Drepper  <drepper@gmail.com>
-
-       [BZ #12868]
-       * sysdeps/unix/sysv/linux/linux_fsinfo.h: Define Lustre constants.
-       * sysdeps/unix/sysv/linux/internal_statvfs.c (__statvfs_getflags):
-       Handle Lustre.
-       * sysdeps/unix/sysv/linux/pathconf.c (__statfs_link_max): Likewise.
-       (__statfs_filesize_max): Likewise.
-       Patch mostly by Andreas Dilger <adilger@whamcloud.com>.
-
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/internal_statvfs.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/internal_statvfs.c
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/internal_statvfs.c
-@@ -109,6 +109,9 @@ __statvfs_getflags (const char *name, in
-     case LOGFS_MAGIC_U32:
-       fsname = "logfs";
-       break;
-+    case LUSTRE_SUPER_MAGIC:
-+      fsname = "lustre";
-+      break;
-     }
-   FILE *mtab = __setmntent ("/proc/mounts", "r");
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/linux_fsinfo.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/linux_fsinfo.h
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/linux_fsinfo.h
-@@ -77,6 +77,9 @@
- /* Constant that identifies the `logfs´ filesystem.  */
- #define LOGFS_MAGIC_U32               0xc97e8168u
-+/* Constant that identifies the `lustre' filesystem.  */
-+#define LUSTRE_SUPER_MAGIC    0x0BD00BD0
-+
- /* Constants that identify the `minix2' filesystem.  */
- #define MINIX2_SUPER_MAGIC    0x2468
- #define MINIX2_SUPER_MAGIC2   0x2478
-@@ -144,6 +147,8 @@
- /* Maximum link counts.  */
- #define COH_LINK_MAX          10000
- #define EXT2_LINK_MAX         32000
-+#define EXT4_LINK_MAX         65000
-+#define LUSTRE_LINK_MAX               EXT4_LINK_MAX
- #define MINIX2_LINK_MAX               65530
- #define MINIX_LINK_MAX                250
- #define REISERFS_LINK_MAX     64535
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/pathconf.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/pathconf.c
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/pathconf.c
-@@ -104,6 +104,9 @@ __statfs_link_max (int result, const str
-     case XFS_SUPER_MAGIC:
-       return XFS_LINK_MAX;
-+    case LUSTRE_SUPER_MAGIC:
-+      return LUSTRE_LINK_MAX;
-+
-     default:
-       return LINUX_LINK_MAX;
-     }
-@@ -136,6 +139,7 @@ __statfs_filesize_max (int result, const
-     case UDF_SUPER_MAGIC:
-     case JFS_SUPER_MAGIC:
-     case VXFS_SUPER_MAGIC:
-+    case LUSTRE_SUPER_MAGIC:
-       return 64;
-     case MSDOS_SUPER_MAGIC:
diff --git a/src/patches/glibc/glibc-rh713134.patch b/src/patches/glibc/glibc-rh713134.patch
deleted file mode 100644 (file)
index dc979be..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-2011-03-18  Andreas Schwab  <schwab@redhat.com>
-
-       * elf/ldd.bash.in: Never run file directly.
-
-Index: glibc-2.12-2-gc4ccff1/elf/ldd.bash.in
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/ldd.bash.in
-+++ glibc-2.12-2-gc4ccff1/elf/ldd.bash.in
-@@ -167,18 +167,6 @@ warning: you do not have execution permi
-       fi
-     done
-     case $ret in
--    0)
--      # If the program exits with exit code 5, it means the process has been
--      # invoked with __libc_enable_secure.  Fall back to running it through
--      # the dynamic linker.
--      try_trace "$file"
--      rc=$?
--      if [ $rc = 5 ]; then
--      try_trace "$RTLD" "$file"
--      rc=$?
--      fi
--      [ $rc = 0 ] || result=1
--      ;;
-     1)
-       # This can be a non-ELF binary or no binary at all.
-       nonelf "$file" || {
-@@ -186,7 +174,7 @@ warning: you do not have execution permi
-       result=1
-       }
-       ;;
--    2)
-+    0|2)
-       try_trace "$RTLD" "$file" || result=1
-       ;;
-     *)
diff --git a/src/patches/glibc/glibc-rh714823.patch b/src/patches/glibc/glibc-rh714823.patch
deleted file mode 100644 (file)
index 8bd121b..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-2011-06-28  Andreas Schwab  <schwab@redhat.com>
-
-       * sysdeps/posix/getaddrinfo.c (gaih_inet): Don't use gethostbyaddr
-       to determine canonical name.
-
-2011-06-22  Andreas Schwab  <schwab@redhat.com>
-
-       * sysdeps/posix/getaddrinfo.c (gaih_inet): Fix last change.
-
-2011-06-21  Ulrich Drepper  <drepper@gmail.com>
-
-       [BZ #12885]
-       * sysdeps/posix/getaddrinfo.c (gaih_inet): When looking up only IPv6
-       addresses using gethostbyname4_r ignore IPv4 addresses.
-
-Index: glibc-2.12-2-gc4ccff1/sysdeps/posix/getaddrinfo.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/posix/getaddrinfo.c
-+++ glibc-2.12-2-gc4ccff1/sysdeps/posix/getaddrinfo.c
-@@ -512,10 +512,11 @@ gaih_inet (const char *name, const struc
-         /* If we do not have to look for IPv4 and IPv6 together, use
-            the simple, old functions.  */
--        if (req->ai_family == AF_INET
--            || (req->ai_family == AF_INET6
--                && ((req->ai_flags & AI_V4MAPPED) == 0
--                    || (req->ai_flags & AI_ALL) == 0)))
-+        if ((req->ai_family == AF_INET
-+             || (req->ai_family == AF_INET6
-+                 && ((req->ai_flags & AI_V4MAPPED) == 0
-+                     || (req->ai_flags & AI_ALL) == 0)))
-+            && (req->ai_flags & AI_CANONNAME) == 0)
-           {
-             int family = req->ai_family;
-             size_t tmpbuflen = 512;
-@@ -731,16 +732,44 @@ gaih_inet (const char *name, const struc
-                                             tmpbuflen, 2 * tmpbuflen);
-                   }
--                no_inet6_data = no_data;
--
-                 if (status == NSS_STATUS_SUCCESS)
-                   {
-+                    assert (!no_data);
-+                    no_data = 1;
-+
-                     if ((req->ai_flags & AI_CANONNAME) != 0 && canon == NULL)
-                       canon = (*pat)->name;
-                     while (*pat != NULL)
--                      pat = &((*pat)->next);
-+                      {
-+                        if ((*pat)->family == AF_INET
-+                            && req->ai_family == AF_INET6
-+                            && (req->ai_flags & AI_V4MAPPED) != 0)
-+                          {
-+                            uint32_t *pataddr = (*pat)->addr;
-+                            (*pat)->family = AF_INET6;
-+                            pataddr[3] = pataddr[0];
-+                            pataddr[2] = htonl (0xffff);
-+                            pataddr[1] = 0;
-+                            pataddr[0] = 0;
-+                            pat = &((*pat)->next);
-+                            no_data = 0;
-+                          }
-+                        else if (req->ai_family == AF_UNSPEC
-+                                 || (*pat)->family == req->ai_family)
-+                          {
-+                            pat = &((*pat)->next);
-+
-+                            no_data = 0;
-+                            if (req->ai_family == AF_INET6)
-+                              got_ipv6 = true;
-+                          }
-+                        else
-+                          *pat = ((*pat)->next);
-+                      }
-                   }
-+
-+                no_inet6_data = no_data;
-               }
-             else
-               {
-@@ -905,39 +934,9 @@ gaih_inet (const char *name, const struc
-         {
-           if (canon == NULL)
-             {
--              struct hostent *h = NULL;
--              int herrno;
--              struct hostent th;
--              size_t tmpbuflen = 512;
--              char *tmpbuf = NULL;
--
--              do
--                {
--                  tmpbuf = extend_alloca (tmpbuf, tmpbuflen, tmpbuflen * 2);
--                  rc = __gethostbyaddr_r (at2->addr,
--                                          ((at2->family == AF_INET6)
--                                           ? sizeof (struct in6_addr)
--                                           : sizeof (struct in_addr)),
--                                          at2->family, &th, tmpbuf,
--                                          tmpbuflen, &h, &herrno);
--                }
--              while (rc == ERANGE && herrno == NETDB_INTERNAL);
--
--              if (rc != 0 && herrno == NETDB_INTERNAL)
--                {
--                  __set_h_errno (herrno);
--                  return -EAI_SYSTEM;
--                }
--
--              if (h != NULL)
--                canon = h->h_name;
--              else
--                {
--                  assert (orig_name != NULL);
--                  /* If the canonical name cannot be determined, use
--                     the passed in string.  */
--                  canon = orig_name;
--                }
-+              /* If the canonical name cannot be determined, use
-+                 the passed in string.  */
-+              canon = orig_name;
-             }
- #ifdef HAVE_LIBIDN
diff --git a/src/patches/glibc/glibc-rh718057.patch b/src/patches/glibc/glibc-rh718057.patch
deleted file mode 100644 (file)
index d331996..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-2011-07-01  Andreas Schwab  <schwab@redhat.com>
-
-       * nis/nss_compat/compat-pwd.c (getpwent_next_nss_netgr): Query NIS
-       domain only when needed.
-
-Index: glibc-2.12-2-gc4ccff1/nis/nss_compat/compat-pwd.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nis/nss_compat/compat-pwd.c
-+++ glibc-2.12-2-gc4ccff1/nis/nss_compat/compat-pwd.c
-@@ -360,7 +360,7 @@ getpwent_next_nss_netgr (const char *nam
-                        char *group, char *buffer, size_t buflen,
-                        int *errnop)
- {
--  char *curdomain, *host, *user, *domain, *p2;
-+  char *curdomain = NULL, *host, *user, *domain, *p2;
-   int status;
-   size_t p2len;
-@@ -369,15 +369,7 @@ getpwent_next_nss_netgr (const char *nam
-   if (!nss_getpwnam_r)
-     return NSS_STATUS_UNAVAIL;
--  if (yp_get_default_domain (&curdomain) != YPERR_SUCCESS)
--    {
--      ent->netgroup = false;
--      ent->first = false;
--      give_pwd_free (&ent->pwd);
--      return NSS_STATUS_UNAVAIL;
--    }
--
--  if (ent->first == true)
-+  if (ent->first)
-     {
-       memset (&ent->netgrdata, 0, sizeof (struct __netgrent));
-       __internal_setnetgrent (group, &ent->netgrdata);
-@@ -403,8 +395,19 @@ getpwent_next_nss_netgr (const char *nam
-       if (user == NULL || user[0] == '-')
-       continue;
--      if (domain != NULL && strcmp (curdomain, domain) != 0)
--      continue;
-+      if (domain != NULL)
-+      {
-+        if (curdomain == NULL
-+            && yp_get_default_domain (&curdomain) != YPERR_SUCCESS)
-+          {
-+            __internal_endnetgrent (&ent->netgrdata);
-+            ent->netgroup = false;
-+            give_pwd_free (&ent->pwd);
-+            return NSS_STATUS_UNAVAIL;
-+          }
-+        if (strcmp (curdomain, domain) != 0)
-+          continue;
-+      }
-       /* If name != NULL, we are called from getpwnam.  */
-       if (name != NULL)
-Index: glibc-2.12-2-gc4ccff1/nis/nss_compat/compat-spwd.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nis/nss_compat/compat-spwd.c
-+++ glibc-2.12-2-gc4ccff1/nis/nss_compat/compat-spwd.c
-@@ -317,7 +317,7 @@ getspent_next_nss_netgr (const char *nam
-                        char *group, char *buffer, size_t buflen,
-                        int *errnop)
- {
--  char *curdomain, *host, *user, *domain, *p2;
-+  char *curdomain = NULL, *host, *user, *domain, *p2;
-   size_t p2len;
-   if (!nss_getspnam_r)
-@@ -327,15 +327,7 @@ getspent_next_nss_netgr (const char *nam
-   if (ent->setent_status != NSS_STATUS_SUCCESS)
-     return ent->setent_status;
--  if (yp_get_default_domain (&curdomain) != YPERR_SUCCESS)
--    {
--      ent->netgroup = false;
--      ent->first = false;
--      give_spwd_free (&ent->pwd);
--      return NSS_STATUS_UNAVAIL;
--    }
--
--  if (ent->first == true)
-+  if (ent->first)
-     {
-       memset (&ent->netgrdata, 0, sizeof (struct __netgrent));
-       __internal_setnetgrent (group, &ent->netgrdata);
-@@ -362,8 +354,19 @@ getspent_next_nss_netgr (const char *nam
-       if (user == NULL || user[0] == '-')
-       continue;
--      if (domain != NULL && strcmp (curdomain, domain) != 0)
--      continue;
-+      if (domain != NULL)
-+      {
-+        if (curdomain == NULL
-+            && yp_get_default_domain (&curdomain) != YPERR_SUCCESS)
-+          {
-+            __internal_endnetgrent (&ent->netgrdata);
-+            ent->netgroup = false;
-+            give_spwd_free (&ent->pwd);
-+            return NSS_STATUS_UNAVAIL;
-+          }
-+        if (strcmp (curdomain, domain) != 0)
-+          continue;
-+      }
-       /* If name != NULL, we are called from getpwnam */
-       if (name != NULL)
diff --git a/src/patches/glibc/glibc-rh726517.patch b/src/patches/glibc/glibc-rh726517.patch
deleted file mode 100644 (file)
index 26addbf..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-Index: glibc-2.12-2-gc4ccff1/malloc/arena.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/malloc/arena.c
-+++ glibc-2.12-2-gc4ccff1/malloc/arena.c
-@@ -870,7 +870,7 @@ heap_trim(heap, pad) heap_info *heap; si
-     heap = prev_heap;
-     if(!prev_inuse(p)) { /* consolidate backward */
-       p = prev_chunk(p);
--      unlink(p, bck, fwd);
-+      unlink(ar_ptr, p, bck, fwd);
-     }
-     assert(((unsigned long)((char*)p + new_size) & (pagesz-1)) == 0);
-     assert( ((char*)p + new_size) == ((char*)heap + heap->size) );
-Index: glibc-2.12-2-gc4ccff1/malloc/hooks.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/malloc/hooks.c
-+++ glibc-2.12-2-gc4ccff1/malloc/hooks.c
-@@ -219,7 +219,9 @@ top_check()
-       (char*)t + chunksize(t) == mp_.sbrk_base + main_arena.system_mem)))
-     return 0;
-+  mutex_unlock(&main_arena);
-   malloc_printerr (check_action, "malloc: top chunk is corrupt", t);
-+  mutex_lock(&main_arena);
-   /* Try to set up a new top chunk. */
-   brk = MORECORE(0);
-Index: glibc-2.12-2-gc4ccff1/malloc/malloc.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/malloc/malloc.c
-+++ glibc-2.12-2-gc4ccff1/malloc/malloc.c
-@@ -2109,12 +2109,14 @@ typedef struct malloc_chunk* mbinptr;
- #define last(b)      ((b)->bk)
- /* Take a chunk off a bin list */
--#define unlink(P, BK, FD) {                                            \
-+#define unlink(AV, P, BK, FD) {                                              \
-   FD = P->fd;                                                          \
-   BK = P->bk;                                                          \
--  if (__builtin_expect (FD->bk != P || BK->fd != P, 0))                \
-+  if (__builtin_expect (FD->bk != P || BK->fd != P, 0)) {            \
-+    mutex_unlock(&(AV)->mutex);                                              \
-     malloc_printerr (check_action, "corrupted double-linked list", P); \
--  else {                                                               \
-+    mutex_lock(&(AV)->mutex);                                        \
-+  } else {                                                           \
-     FD->bk = BK;                                                       \
-     BK->fd = FD;                                                       \
-     if (!in_smallbin_range (P->size)                                 \
-@@ -3257,7 +3259,9 @@ static Void_t* sYSMALLOc(nb, av) INTERNA
-     else if (contiguous(av) && old_size && brk < old_end) {
-       /* Oops!  Someone else killed our space..  Can't touch anything.  */
-+      mutex_unlock(&av->mutex);
-       malloc_printerr (3, "break adjusted to free malloc space", brk);
-+      mutex_lock(&av->mutex);
-     }
-     /*
-@@ -4305,7 +4309,9 @@ _int_malloc(mstate av, size_t bytes)
-       {
-         errstr = "malloc(): memory corruption (fast)";
-       errout:
-+        mutex_unlock(&av->mutex);
-         malloc_printerr (check_action, errstr, chunk2mem (victim));
-+        mutex_lock(&av->mutex);
-         return NULL;
-       }
- #ifndef ATOMIC_FASTBINS
-@@ -4393,8 +4399,12 @@ _int_malloc(mstate av, size_t bytes)
-       bck = victim->bk;
-       if (__builtin_expect (victim->size <= 2 * SIZE_SZ, 0)
-         || __builtin_expect (victim->size > av->system_mem, 0))
--      malloc_printerr (check_action, "malloc(): memory corruption",
--                       chunk2mem (victim));
-+      {
-+        void *p = chunk2mem(victim);
-+        mutex_unlock(&av->mutex);
-+        malloc_printerr (check_action, "malloc(): memory corruption", p);
-+        mutex_lock(&av->mutex);
-+      }
-       size = chunksize(victim);
-       /*
-@@ -4535,7 +4545,7 @@ _int_malloc(mstate av, size_t bytes)
-         victim = victim->fd;
-       remainder_size = size - nb;
--      unlink(victim, bck, fwd);
-+      unlink(av, victim, bck, fwd);
-       /* Exhaust */
-       if (remainder_size < MINSIZE)  {
-@@ -4633,7 +4643,7 @@ _int_malloc(mstate av, size_t bytes)
-       remainder_size = size - nb;
-       /* unlink */
--      unlink(victim, bck, fwd);
-+      unlink(av, victim, bck, fwd);
-       /* Exhaust */
-       if (remainder_size < MINSIZE) {
-@@ -4789,10 +4799,14 @@ _int_free(mstate av, mchunkptr p)
-       errstr = "free(): invalid pointer";
-     errout:
- #ifdef ATOMIC_FASTBINS
--      if (! have_lock && locked)
-+      if (have_lock || locked)
-       (void)mutex_unlock(&av->mutex);
- #endif
-       malloc_printerr (check_action, errstr, chunk2mem(p));
-+#ifdef ATOMIC_FASTBINS
-+      if (have_lock)
-+      mutex_lock(&av->mutex);
-+#endif
-       return;
-     }
-   /* We know that each chunk is at least MINSIZE bytes in size.  */
-@@ -4961,7 +4975,7 @@ _int_free(mstate av, mchunkptr p)
-       prevsize = p->prev_size;
-       size += prevsize;
-       p = chunk_at_offset(p, -((long) prevsize));
--      unlink(p, bck, fwd);
-+      unlink(av, p, bck, fwd);
-     }
-     if (nextchunk != av->top) {
-@@ -4970,7 +4984,7 @@ _int_free(mstate av, mchunkptr p)
-       /* consolidate forward */
-       if (!nextinuse) {
--      unlink(nextchunk, bck, fwd);
-+      unlink(av, nextchunk, bck, fwd);
-       size += nextsize;
-       } else
-       clear_inuse_bit_at_offset(nextchunk, 0);
-@@ -5158,7 +5172,7 @@ static void malloc_consolidate(av) mstat
-           prevsize = p->prev_size;
-           size += prevsize;
-           p = chunk_at_offset(p, -((long) prevsize));
--          unlink(p, bck, fwd);
-+          unlink(av, p, bck, fwd);
-         }
-         if (nextchunk != av->top) {
-@@ -5166,7 +5180,7 @@ static void malloc_consolidate(av) mstat
-           if (!nextinuse) {
-             size += nextsize;
--            unlink(nextchunk, bck, fwd);
-+            unlink(av, nextchunk, bck, fwd);
-           } else
-             clear_inuse_bit_at_offset(nextchunk, 0);
-@@ -5235,7 +5249,9 @@ _int_realloc(mstate av, mchunkptr oldp, 
-     {
-       errstr = "realloc(): invalid old size";
-     errout:
-+      mutex_unlock(&av->mutex);
-       malloc_printerr (check_action, errstr, chunk2mem(oldp));
-+      mutex_lock(&av->mutex);
-       return NULL;
-     }
-@@ -5282,7 +5298,7 @@ _int_realloc(mstate av, mchunkptr oldp, 
-              (unsigned long)(newsize = oldsize + nextsize) >=
-              (unsigned long)(nb)) {
-       newp = oldp;
--      unlink(next, bck, fwd);
-+      unlink(av, next, bck, fwd);
-       }
-       /* allocate, copy, free */
diff --git a/src/patches/glibc/glibc-rh730379.patch b/src/patches/glibc/glibc-rh730379.patch
deleted file mode 100644 (file)
index 45808af..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-2011-08-17  Ulrich Drepper  <drepper@gmail.com>
-
-       * Makeconfig (override CFLAGS): Add library-specific CFLAGS.
-       * resolv/Makefile: Define CFLAGS-libresolv.
-
-Index: glibc-2.12-2-gc4ccff1/Makeconfig
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/Makeconfig
-+++ glibc-2.12-2-gc4ccff1/Makeconfig
-@@ -700,7 +700,9 @@ CPPFLAGS = $($(subdir)-CPPFLAGS) $(+incl
- override CFLAGS       = -std=gnu99 $(gnu89-inline-CFLAGS) \
-                 $(filter-out %frame-pointer,$(+cflags)) $(+gccwarn-c) \
-                 $(sysdep-CFLAGS) $(CFLAGS-$(suffix $@)) $(CFLAGS-$(<F)) \
--                $(CFLAGS-$(@F))
-+                $(CFLAGS-$(@F)) \
-+                $(foreach lib,$(libof-$(basename $(@F))) \
-+                              $(libof-$(<F)) $(libof-$(@F)),$(CFLAGS-$(lib)))
- override CXXFLAGS = $(c++-sysincludes) \
-                   $(filter-out %frame-pointer,$(+cflags)) $(sysdep-CFLAGS) \
-                   $(CFLAGS-$(suffix $@)) $(CFLAGS-$(<F)) $(CFLAGS-$(@F))
-Index: glibc-2.12-2-gc4ccff1/resolv/Makefile
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/resolv/Makefile
-+++ glibc-2.12-2-gc4ccff1/resolv/Makefile
-@@ -76,6 +76,9 @@ CPPFLAGS += -Dgethostbyname=res_gethostb
-           -Dgetnetbyname=res_getnetbyname \
-           -Dgetnetbyaddr=res_getnetbyaddr
-+ifeq (yes,$(have-ssp))
-+CFLAGS-libresolv += -fstack-protector
-+endif
- CFLAGS-res_hconf.c = -fexceptions
- CFLAGS-res_send.c += -fno-strict-aliasing
diff --git a/src/patches/glibc/glibc-rh731042.patch b/src/patches/glibc/glibc-rh731042.patch
deleted file mode 100644 (file)
index d2f7b55..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-2011-08-08  Andreas Schwab  <schwab@redhat.com>
-
-       * sysdeps/unix/sysv/linux/x86_64/cancellation.S: Maintain aligned
-       stack.
-       * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
-       * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.
-
-Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S
-+++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S
-@@ -71,7 +71,9 @@ ENTRY(__pthread_enable_asynccancel)
- 1:    ret
--3:    movq    $TCB_PTHREAD_CANCELED, %fs:RESULT
-+3:    subq    $8, %rsp
-+      cfi_adjust_cfa_offset(8)
-+      movq    $TCB_PTHREAD_CANCELED, %fs:RESULT
-       lock
-       orl     $TCB_EXITING_BITMASK, %fs:CANCELHANDLING
-       movq    %fs:CLEANUP_JMP_BUF, %rdi
-Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
-+++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
-@@ -63,9 +63,9 @@ __pthread_cond_timedwait:
-       cfi_adjust_cfa_offset(8)
-       cfi_rel_offset(%r15, 0)
- #ifdef __ASSUME_FUTEX_CLOCK_REALTIME
--# define FRAME_SIZE 32
-+# define FRAME_SIZE (32+8)
- #else
--# define FRAME_SIZE 48
-+# define FRAME_SIZE (48+8)
- #endif
-       subq    $FRAME_SIZE, %rsp
-       cfi_adjust_cfa_offset(FRAME_SIZE)
-Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
-+++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
-@@ -45,7 +45,7 @@ __pthread_cond_wait:
-       cfi_lsda(DW_EH_PE_udata4, .LexceptSTART)
- #endif
--#define FRAME_SIZE 32
-+#define FRAME_SIZE (32+8)
-       leaq    -FRAME_SIZE(%rsp), %rsp
-       cfi_adjust_cfa_offset(FRAME_SIZE)
diff --git a/src/patches/glibc/glibc-rh736346.patch b/src/patches/glibc/glibc-rh736346.patch
deleted file mode 100644 (file)
index 2dd3f8a..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-2011-01-14  Ulrich Drepper  <drepper@gmail.com>
-
-       [BZ #10563]
-       * sysdeps/unix/sysv/linux/i386/setgroups.c: Use INLINE_SETXID_SYSCALL
-       to make the syscall.
-       * sysdeps/unix/sysv/linux/setgroups.c: New file.
-
-2011-01-14  Ulrich Drepper  <drepper@gmail.com>
-
-       [BZ #10563]
-       * sysdeps/pthread/setxid.h (__SETXID_1): Add cast to assignment.
-       (__SETXID_2): Likewise.
-       (__SETXID_3): Likewise.
-
-Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/pthread/setxid.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/pthread/setxid.h
-+++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/pthread/setxid.h
-@@ -20,11 +20,11 @@
- #include <sysdep.h>
- #define __SETXID_1(cmd, arg1) \
--  cmd.id[0] = arg1
-+  cmd.id[0] = (long int) arg1
- #define __SETXID_2(cmd, arg1, arg2) \
--  __SETXID_1 (cmd, arg1); cmd.id[1] = arg2
-+  __SETXID_1 (cmd, arg1); cmd.id[1] = (long int) arg2
- #define __SETXID_3(cmd, arg1, arg2, arg3) \
--  __SETXID_2 (cmd, arg1, arg2); cmd.id[2] = arg3
-+  __SETXID_2 (cmd, arg1, arg2); cmd.id[2] = (long int) arg3
- #ifdef SINGLE_THREAD
- # define INLINE_SETXID_SYSCALL(name, nr, args...) \
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/i386/setgroups.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/i386/setgroups.c
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/i386/setgroups.c
-@@ -25,6 +25,7 @@
- #include <sys/syscall.h>
- #include <bp-checks.h>
-+#include <setxid.h>
- #include <linux/posix_types.h>
- #include <kernel-features.h>
-@@ -44,7 +45,7 @@ int
- setgroups (size_t n, const gid_t *groups)
- {
- #if __ASSUME_32BITUIDS > 0
--  return INLINE_SYSCALL (setgroups32, 2, n, CHECK_N (groups, n));
-+  return INLINE_SETXID_SYSCALL (setgroups32, 2, n, CHECK_N (groups, n));
- #else
-   if (n > (size_t) __sysconf (_SC_NGROUPS_MAX))
-     {
-@@ -62,7 +63,8 @@ setgroups (size_t n, const gid_t *groups
-         int result;
-         int saved_errno = errno;
--        result = INLINE_SYSCALL (setgroups32, 2, n, CHECK_N (groups, n));
-+        result = INLINE_SETXID_SYSCALL (setgroups32, 2, n,
-+                                        CHECK_N (groups, n));
-         if (result == 0 || errno != ENOSYS)
-           return result;
-@@ -80,7 +82,8 @@ setgroups (size_t n, const gid_t *groups
-           }
-       }
--      return INLINE_SYSCALL (setgroups, 2, n, CHECK_N (kernel_groups, n));
-+      return INLINE_SETXID_SYSCALL (setgroups, 2, n,
-+                                  CHECK_N (kernel_groups, n));
-     }
- #endif
- }
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/setgroups.c
-===================================================================
---- /dev/null
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/setgroups.c
-@@ -0,0 +1,37 @@
-+/* Copyright (C) 1997,1998,2000,2002,2004,2006,2011
-+   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 <grp.h>
-+#include <setxid.h>
-+#include <sysdep.h>
-+
-+
-+/* Set the group set for the current user to GROUPS (N of them).  For
-+   Linux we must convert the array of groups into the format that the
-+   kernel expects.  */
-+int
-+setgroups (size_t n, const gid_t *groups)
-+{
-+#ifdef __NR_setgroups32
-+# error "wrong setgroups.c file used"
-+#endif
-+  return INLINE_SETXID_SYSCALL (setgroups, 2, n, groups);
-+}
-+libc_hidden_def (setgroups)
diff --git a/src/patches/glibc/glibc-rh737778.patch b/src/patches/glibc/glibc-rh737778.patch
deleted file mode 100644 (file)
index 5d3c131..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-2011-08-14  Roland McGrath  <roland@hack.frob.com>
-
-       * locale/Makefile (locale-CPPFLAGS): Renamed CPPFLAGS-locale-programs.
-       (locale-CPPFLAGS): New variable; put LOCALEDIR, LOCALE_ALIAS_PATH and
-       -Iprograms here.
-       (cppflags-iterator.mk sequence): Use locale-programs in place of nonlib.
-       (localedef-modules): Add localedef.
-       (locale-modules): Add locale.
-
-2011-08-13  Ulrich Drepper  <drepper@gmail.com>
-
-       * intl/l10nflist.c (_nl_normalize_codeset): Make it compile outside
-       of libc.  Make tolower call locale-independent.  Optimize a bit by
-       using isdigit instead of isalnum.
-       * locale/Makefile (locale-CPPFLAGS): Add -DNOT_IN_libc.
-
-2011-08-11  Ulrich Drepper  <drepper@gmail.com>
-
-       * intl/l10nflist.c (_nl_make_l10nflist): Use locale-independent
-       classification.
-
-Index: glibc-2.12-2-gc4ccff1/intl/l10nflist.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/intl/l10nflist.c
-+++ glibc-2.12-2-gc4ccff1/intl/l10nflist.c
-@@ -332,13 +332,18 @@ _nl_normalize_codeset (codeset, name_len
-   char *retval;
-   char *wp;
-   size_t cnt;
-+#ifdef NOT_IN_libc
-+  locale_t locale = newlocale (0, "C", NULL);
-+#else
-+# define locale _nl_C_locobj_ptr
-+#endif
-   for (cnt = 0; cnt < name_len; ++cnt)
--    if (isalnum ((unsigned char) codeset[cnt]))
-+    if (__isalnum_l ((unsigned char) codeset[cnt], locale))
-       {
-       ++len;
--      if (isalpha ((unsigned char) codeset[cnt]))
-+      if (! __isdigit_l ((unsigned char) codeset[cnt], locale))
-         only_digit = 0;
-       }
-@@ -346,15 +351,14 @@ _nl_normalize_codeset (codeset, name_len
-   if (retval != NULL)
-     {
-+      wp = retval;
-       if (only_digit)
--      wp = stpcpy (retval, "iso");
--      else
--      wp = retval;
-+      wp = stpcpy (wp, "iso");
-       for (cnt = 0; cnt < name_len; ++cnt)
--      if (isalpha ((unsigned char) codeset[cnt]))
--        *wp++ = tolower ((unsigned char) codeset[cnt]);
--      else if (isdigit ((unsigned char) codeset[cnt]))
-+      if (__isalpha_l ((unsigned char) codeset[cnt], locale))
-+        *wp++ = __tolower_l ((unsigned char) codeset[cnt], locale);
-+      else if (__isdigit_l ((unsigned char) codeset[cnt], locale))
-         *wp++ = codeset[cnt];
-       *wp = '\0';
-Index: glibc-2.12-2-gc4ccff1/locale/Makefile
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/locale/Makefile
-+++ glibc-2.12-2-gc4ccff1/locale/Makefile
-@@ -59,10 +59,11 @@ vpath %.c programs ../crypt
- vpath %.h programs
- vpath %.gperf programs
--localedef-modules     := $(categories:%=ld-%) charmap linereader locfile \
-+localedef-modules     := localedef $(categories:%=ld-%) \
-+                         charmap linereader locfile \
-                          repertoire locarchive
- localedef-aux         := md5
--locale-modules                := locale-spec
-+locale-modules                := locale locale-spec
- lib-modules           := charmap-dir simple-hash xmalloc xstrdup
-@@ -90,22 +91,27 @@ endif
- localepath = "$(localedir):$(i18ndir)"
--locale-CPPFLAGS := -DLOCALE_PATH='$(localepath)' \
--                 -DLOCALEDIR='"$(localedir)"' \
--                 -DLOCALE_ALIAS_PATH='"$(msgcatdir)"' \
--                 -DCHARMAP_PATH='"$(i18ndir)/charmaps"' \
--                 -DREPERTOIREMAP_PATH='"$(i18ndir)/repertoiremaps"' \
--                 -DLOCSRCDIR='"$(i18ndir)/locales"' -DHAVE_CONFIG_H \
--                 -Iprograms
-+# -Iprograms doesn't really belong here, but this gets it at the head
-+# of the list instead of the tail, where CPPFLAGS-$(lib) gets added.
-+# We need it before the standard -I's to see programs/config.h first.
-+locale-CPPFLAGS = -DLOCALEDIR='"$(localedir)"' \
-+                -DLOCALE_ALIAS_PATH='"$(msgcatdir)"' \
-+                -Iprograms
-+
-+CPPFLAGS-locale-programs = -DLOCALE_PATH='$(localepath)' \
-+                         -DCHARMAP_PATH='"$(i18ndir)/charmaps"' \
-+                         -DREPERTOIREMAP_PATH='"$(i18ndir)/repertoiremaps"' \
-+                         -DLOCSRCDIR='"$(i18ndir)/locales"' \
-+                         -DHAVE_CONFIG_H -DNOT_IN_libc
- CFLAGS-charmap.c = -Wno-write-strings -Wno-char-subscripts
- CFLAGS-locfile.c = -Wno-write-strings -Wno-char-subscripts
- CFLAGS-charmap-dir.c = -Wno-write-strings
--# This makes sure -DNOT_IN_libc is passed for all these modules.
-+# This makes sure -DNOT_IN_libc et al are passed for all these modules.
- cpp-srcs-left := $(addsuffix .c,$(localedef-modules) $(localedef-aux) \
-                               $(locale-modules) $(lib-modules))
--lib := nonlib
-+lib := locale-programs
- include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
- # Depend on libc.so so a DT_NEEDED is generated in the shared objects.
diff --git a/src/patches/glibc/glibc-rh738665.patch b/src/patches/glibc/glibc-rh738665.patch
deleted file mode 100644 (file)
index 1eea554..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-2011-09-15  Andreas Schwab  <schwab@redhat.com>
-
-       * sysdeps/pthread/list.h: Define only list_t if __need_list_t is
-       defined.
-       (list_add): Add atomic_write_barrier.
-       * descr.h: Define __need_list_t before including <list.h>.
-       * nptl-init.c: Include <list.h>
-       * allocatestack.c: Likewise.
-
-2011-09-15  Andreas Schwab  <schwab@redhat.com>
-
-       * thread_dbP.h: Include <list.h>
-
-Index: glibc-2.12-2-gc4ccff1/nptl/allocatestack.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nptl/allocatestack.c
-+++ glibc-2.12-2-gc4ccff1/nptl/allocatestack.c
-@@ -27,6 +27,7 @@
- #include <sys/param.h>
- #include <dl-sysdep.h>
- #include <tls.h>
-+#include <list.h>
- #include <lowlevellock.h>
- #include <kernel-features.h>
-Index: glibc-2.12-2-gc4ccff1/nptl/descr.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nptl/descr.h
-+++ glibc-2.12-2-gc4ccff1/nptl/descr.h
-@@ -26,6 +26,7 @@
- #include <stdbool.h>
- #include <sys/types.h>
- #include <hp-timing.h>
-+#define __need_list_t
- #include <list.h>
- #include <lowlevellock.h>
- #include <pthreaddef.h>
-Index: glibc-2.12-2-gc4ccff1/nptl/nptl-init.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nptl/nptl-init.c
-+++ glibc-2.12-2-gc4ccff1/nptl/nptl-init.c
-@@ -29,6 +29,7 @@
- #include <atomic.h>
- #include <ldsodefs.h>
- #include <tls.h>
-+#include <list.h>
- #include <fork.h>
- #include <version.h>
- #include <shlib-compat.h>
-Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/pthread/list.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/pthread/list.h
-+++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/pthread/list.h
-@@ -18,27 +18,39 @@
-    02111-1307 USA.  */
- #ifndef _LIST_H
--#define _LIST_H       1
-+
-+#ifndef __need_list_t
-+# define _LIST_H      1
-+#endif
- /* The definitions of this file are adopted from those which can be
-    found in the Linux kernel headers to enable people familiar with
-    the latter find their way in these sources as well.  */
-+#if defined __need_list_t || defined _LIST_H
-+# ifndef __list_t_defined
-+#  define __list_t_defined
- /* Basic type for the double-link list.  */
- typedef struct list_head
- {
-   struct list_head *next;
-   struct list_head *prev;
- } list_t;
-+# endif
-+# undef __need_list_t
-+#endif
-+
-+#ifdef _LIST_H
-+# include <atomic.h>
- /* Define a variable with the head and tail of the list.  */
--#define LIST_HEAD(name) \
-+# define LIST_HEAD(name) \
-   list_t name = { &(name), &(name) }
- /* Initialize a new list head.  */
--#define INIT_LIST_HEAD(ptr) \
-+# define INIT_LIST_HEAD(ptr) \
-   (ptr)->next = (ptr)->prev = (ptr)
-@@ -49,6 +61,7 @@ list_add (list_t *newp, list_t *head)
-   newp->next = head->next;
-   newp->prev = head;
-   head->next->prev = newp;
-+  atomic_write_barrier ();
-   head->next = newp;
- }
-@@ -78,26 +91,28 @@ list_splice (list_t *add, list_t *head)
- /* Get typed element from list at a given position.  */
--#define list_entry(ptr, type, member) \
-+# define list_entry(ptr, type, member) \
-   ((type *) ((char *) (ptr) - (unsigned long) (&((type *) 0)->member)))
- /* Iterate forward over the elements of the list.  */
--#define list_for_each(pos, head) \
-+# define list_for_each(pos, head) \
-   for (pos = (head)->next; pos != (head); pos = pos->next)
- /* Iterate forward over the elements of the list.  */
--#define list_for_each_prev(pos, head) \
-+# define list_for_each_prev(pos, head) \
-   for (pos = (head)->prev; pos != (head); pos = pos->prev)
- /* Iterate backwards over the elements list.  The list elements can be
-    removed from the list while doing this.  */
--#define list_for_each_prev_safe(pos, p, head) \
-+# define list_for_each_prev_safe(pos, p, head) \
-   for (pos = (head)->prev, p = pos->prev; \
-        pos != (head); \
-        pos = p, p = pos->prev)
-+#endif /* _LIST_H */
-+
- #endif        /* list.h */
-Index: glibc-2.12-2-gc4ccff1/nptl_db/thread_dbP.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nptl_db/thread_dbP.h
-+++ glibc-2.12-2-gc4ccff1/nptl_db/thread_dbP.h
-@@ -29,6 +29,7 @@
- #include "proc_service.h"
- #include "thread_db.h"
- #include "../nptl/pthreadP.h"         /* This is for *_BITMASK only.  */
-+#include <list.h>
- /* Indeces for the symbol names.  */
- enum
diff --git a/src/patches/glibc/glibc-rh738763.patch b/src/patches/glibc/glibc-rh738763.patch
deleted file mode 100644 (file)
index 728464d..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-2011-09-15  Ulrich Drepper  <drepper@gmail.com>
-
-       * sysdeps/unix/sysv/linux/bits/in.h (IP_MULTICAST_ALL): Define.
-       Patch mostly by Neil Horman <nhorman@tuxdriver.com>.
-
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/bits/in.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/bits/in.h
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/bits/in.h
-@@ -70,6 +70,7 @@
- #define IP_XFRM_POLICY        17
- #define IP_PASSSEC    18
- #define IP_TRANSPARENT        19
-+#define IP_MULTICAST_ALL 49   /* bool */
- /* TProxy original addresses */
- #define IP_ORIGDSTADDR       20
diff --git a/src/patches/glibc/glibc-rh739184.patch b/src/patches/glibc/glibc-rh739184.patch
deleted file mode 100644 (file)
index cf12246..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-2010-06-10  Andreas Schwab  <schwab@redhat.com>
-
-       * sysdeps/unix/sysv/linux/getpagesize.c: Don't assume AT_PAGESIZE
-       is always available.
-
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/getpagesize.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/getpagesize.c
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/getpagesize.c
-@@ -28,7 +28,7 @@
- int
- __getpagesize ()
- {
--#ifdef __ASSUME_AT_PAGESIZE
-+#if 0 && defined __ASSUME_AT_PAGESIZE
-   assert (GLRO(dl_pagesize) != 0);
-   return GLRO(dl_pagesize);
- #else
diff --git a/src/patches/glibc/glibc-rh739971.patch b/src/patches/glibc/glibc-rh739971.patch
deleted file mode 100644 (file)
index 960c192..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-commit 32c76b63be605d12314e0c6ac2bd702c883d1423
-Author: Andreas Schwab <schwab@redhat.com>
-Date:   Mon Sep 26 17:49:14 2011 +0200
-
-    Correctly reparse group line after enlarging the buffer
-
-diff --git a/nss/nss_files/files-initgroups.c b/nss/nss_files/files-initgroups.c
-index 113abf2..c343b35 100644
---- a/nss/nss_files/files-initgroups.c
-+++ b/nss/nss_files/files-initgroups.c
-@@ -52,8 +52,10 @@ _nss_files_initgroups_dyn (const char *user, gid_t group, long int *start,
-   gid_t *groups = *groupsp;
-   /* We have to iterate over the entire file.  */
--  while (!feof_unlocked (stream))
-+  while (1)
-     {
-+      fpos_t pos;
-+      fgetpos (stream, &pos);
-       ssize_t n = getline (&line, &linelen, stream);
-       if (n < 0)
-       {
-@@ -64,9 +66,8 @@ _nss_files_initgroups_dyn (const char *user, gid_t group, long int *start,
-       }
-       struct group grp;
--      int res;
--      while ((res = _nss_files_parse_grent (line, &grp, buffer, buflen,
--                                          errnop)) == -1)
-+      int res = _nss_files_parse_grent (line, &grp, buffer, buflen, errnop);
-+      if (res == -1)
-       {
-         size_t newbuflen = 2 * buflen;
-         if (buffer_use_malloc || ! __libc_use_alloca (buflen + newbuflen))
-@@ -85,6 +86,9 @@ _nss_files_initgroups_dyn (const char *user, gid_t group, long int *start,
-           }
-         else
-           buffer = extend_alloca (buffer, buflen, newbuflen);
-+        /* Reread current line, the parser has clobbered it.  */
-+        fsetpos (stream, &pos);
-+        continue;
-       }
-       if (res > 0 && grp.gr_gid != group)
diff --git a/src/patches/glibc/glibc-rh740506-2.patch b/src/patches/glibc/glibc-rh740506-2.patch
deleted file mode 100644 (file)
index adefea0..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-       * malloc/arena.c (arena_get2): Avoid unnecessarily
-       retrieving #cpus from /proc.
-       * malloc/malloc.c (mALLOPt): Clamp arena_test based on
-       the value of arena_max.
-
-diff --git a/malloc/arena.c b/malloc/arena.c
-index cb8548b..00f1da5 100644
---- a/malloc/arena.c
-+++ b/malloc/arena.c
-@@ -828,7 +828,7 @@ arena_get2(mstate a_tsd, size_t size)
-       {
-         if (mp_.arena_max != 0)
-           narenas_limit = mp_.arena_max;
--        else
-+        else if (narenas > mp_.arena_test)
-           {
-             int n  = __get_nprocs ();
-diff --git a/malloc/malloc.c b/malloc/malloc.c
-index 8608083..f8d32da 100644
---- a/malloc/malloc.c
-+++ b/malloc/malloc.c
-@@ -6134,6 +6134,12 @@ int mALLOPt(param_number, value) int par
-     break;
- #endif
-   }
-+#ifdef PER_THREAD
-+  /* Clamp ARENA_TEST from ARENA_MAX to avoid creating too many
-+     arenas.  */
-+  if (mp_.arena_max > 0 && mp_.arena_max <= mp_.arena_test)
-+    mp_.arena_test = mp_.arena_max - 1;
-+#endif
-   (void)mutex_unlock(&av->mutex);
-   return res;
- }
diff --git a/src/patches/glibc/glibc-rh740506.patch b/src/patches/glibc/glibc-rh740506.patch
deleted file mode 100644 (file)
index 6c74ccf..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-2011-11-14  Andreas Schwab  <schwab@redhat.com>
-
-       * malloc/arena.c (arena_get2): Don't call reused_arena when
-       _int_new_arena failed.
-
-2011-11-10  Andreas Schwab  <schwab@redhat.com>
-
-       * malloc/arena.c (_int_new_arena): Don't increment narenas.
-       (reused_arena): Don't check arena limit.
-       (arena_get2): Atomically check arena limit.
-
-diff --git a/malloc/arena.c b/malloc/arena.c
-index 9114fd2..042cac8 100644
---- a/malloc/arena.c
-+++ b/malloc/arena.c
-@@ -747,8 +747,6 @@ _int_new_arena(size_t size)
-   main_arena.next = a;
- #ifdef PER_THREAD
--  ++narenas;
--
-   (void)mutex_unlock(&list_lock);
- #endif
-@@ -786,30 +784,6 @@ get_free_list (void)
- static mstate
- reused_arena (void)
- {
--  if (narenas <= mp_.arena_test)
--    return NULL;
--
--  static int narenas_limit;
--  if (narenas_limit == 0)
--    {
--      if (mp_.arena_max != 0)
--      narenas_limit = mp_.arena_max;
--      else
--      {
--        int n  = __get_nprocs ();
--
--        if (n >= 1)
--          narenas_limit = NARENAS_FROM_NCORES (n);
--        else
--          /* We have no information about the system.  Assume two
--             cores.  */
--          narenas_limit = NARENAS_FROM_NCORES (2);
--      }
--    }
--
--  if (narenas < narenas_limit)
--    return NULL;
--
-   mstate result;
-   static mstate next_to_use;
-   if (next_to_use == NULL)
-@@ -844,10 +818,41 @@ arena_get2(mstate a_tsd, size_t size)
-   mstate a;
- #ifdef PER_THREAD
--  if ((a = get_free_list ()) == NULL
--      && (a = reused_arena ()) == NULL)
--    /* Nothing immediately available, so generate a new arena.  */
--    a = _int_new_arena(size);
-+  static size_t narenas_limit;
-+
-+  a = get_free_list ();
-+  if (a == NULL)
-+    {
-+      /* Nothing immediately available, so generate a new arena.  */
-+      if (narenas_limit == 0)
-+      {
-+        if (mp_.arena_max != 0)
-+          narenas_limit = mp_.arena_max;
-+        else
-+          {
-+            int n  = __get_nprocs ();
-+
-+            if (n >= 1)
-+              narenas_limit = NARENAS_FROM_NCORES (n);
-+            else
-+              /* We have no information about the system.  Assume two
-+                 cores.  */
-+              narenas_limit = NARENAS_FROM_NCORES (2);
-+          }
-+      }
-+    repeat:;
-+      size_t n = narenas;
-+      if (__builtin_expect (n <= mp_.arena_test || n < narenas_limit, 0))
-+      {
-+        if (catomic_compare_and_exchange_bool_acq(&narenas, n + 1, n))
-+          goto repeat;
-+        a = _int_new_arena (size);
-+        if (__builtin_expect (a != NULL, 1))
-+          return a;
-+        catomic_decrement(&narenas);
-+      }
-+      a = reused_arena ();
-+    }
- #else
-   if(!a_tsd)
-     a = a_tsd = &main_arena;
-
-commit a5fb313cb7b7e692fd4684916aaa98e03ec7e8b6
-Author: Andreas Schwab <schwab@redhat.com>
-Date:   Mon Nov 14 11:41:52 2011 +0100
-
-    Don't call reused_arena when _int_new_arena failed
-
-diff --git a/malloc/arena.c b/malloc/arena.c
-index 042cac8..cb8548b 100644
---- a/malloc/arena.c
-+++ b/malloc/arena.c
-@@ -844,14 +844,14 @@ arena_get2(mstate a_tsd, size_t size)
-       size_t n = narenas;
-       if (__builtin_expect (n <= mp_.arena_test || n < narenas_limit, 0))
-       {
--        if (catomic_compare_and_exchange_bool_acq(&narenas, n + 1, n))
-+        if (catomic_compare_and_exchange_bool_acq (&narenas, n + 1, n))
-           goto repeat;
-         a = _int_new_arena (size);
--        if (__builtin_expect (a != NULL, 1))
--          return a;
--        catomic_decrement(&narenas);
-+        if (__builtin_expect (a == NULL, 0))
-+          catomic_decrement (&narenas);
-       }
--      a = reused_arena ();
-+      else
-+      a = reused_arena ();
-     }
- #else
-   if(!a_tsd)
diff --git a/src/patches/glibc/glibc-rh749188.patch b/src/patches/glibc/glibc-rh749188.patch
deleted file mode 100644 (file)
index 43157cd..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-commit 0e8131bb32cf026c87baeacb7abf2a9bdbbc4953
-Author: Andreas Schwab <schwab@redhat.com>
-Date:   Sun May 8 21:48:03 2011 -0400
-
-    Remove .UTF-8 suffix from locale names when it is the only supported codeset
-
-diff --git a/localedata/SUPPORTED b/localedata/SUPPORTED
-index d665961..e952c17 100644
---- a/localedata/SUPPORTED
-+++ b/localedata/SUPPORTED
-@@ -46,8 +46,8 @@ ar_TN.UTF-8/UTF-8 \
- ar_TN/ISO-8859-6 \
- ar_YE.UTF-8/UTF-8 \
- ar_YE/ISO-8859-6 \
--az_AZ.UTF-8/UTF-8 \
--as_IN.UTF-8/UTF-8 \
-+az_AZ/UTF-8 \
-+as_IN/UTF-8 \
- ast_ES.UTF-8/UTF-8 \
- ast_ES/ISO-8859-15 \
- be_BY.UTF-8/UTF-8 \
-@@ -385,8 +385,8 @@ tr_CY/ISO-8859-9 \
- tr_TR.UTF-8/UTF-8 \
- tr_TR/ISO-8859-9 \
- ts_ZA/UTF-8 \
--tt_RU.UTF-8/UTF-8 \
--tt_RU.UTF-8@iqtelif/UTF-8 \
-+tt_RU/UTF-8 \
-+tt_RU@iqtelif/UTF-8 \
- ug_CN/UTF-8 \
- uk_UA.UTF-8/UTF-8 \
- uk_UA/KOI8-U \
diff --git a/src/patches/glibc/glibc-rh750531.patch b/src/patches/glibc/glibc-rh750531.patch
deleted file mode 100644 (file)
index a53e770..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-commit 69da074d7adfab7b57004a0dea9403a928e310a5
-Author: Ulrich Drepper <drepper@gmail.com>
-Date:   Wed Nov 10 02:38:35 2010 -0500
-
-    Fix warnings in __bswap_16.
-
-diff --git a/sysdeps/i386/bits/byteswap.h b/sysdeps/i386/bits/byteswap.h
-index 1f3fc5e..c246ae8 100644
---- a/sysdeps/i386/bits/byteswap.h
-+++ b/sysdeps/i386/bits/byteswap.h
-@@ -1,5 +1,5 @@
- /* Macros to swap the order of bytes in integer values.
--   Copyright (C) 1997, 1998, 2000, 2002, 2003, 2006, 2007, 2008
-+   Copyright (C) 1997, 1998, 2000, 2002, 2003, 2006, 2007, 2008, 2010
-    Free Software Foundation, Inc.
-    This file is part of the GNU C Library.
-@@ -27,26 +27,27 @@
- /* Swap bytes in 16 bit value.  */
- #define __bswap_constant_16(x) \
--     ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8))
-+     ((unsigned short int) ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8)))
- #ifdef __GNUC__
- # if __GNUC__ >= 2
- #  define __bswap_16(x) \
-      (__extension__                                                         \
--      ({ register unsigned short int __v, __x = (x);                        \
-+      ({ register unsigned short int __v, __x = (unsigned short int) (x);     \
-        if (__builtin_constant_p (__x))                                      \
-          __v = __bswap_constant_16 (__x);                                   \
-        else                                                                 \
-          __asm__ ("rorw $8, %w0"                                            \
-                   : "=r" (__v)                                              \
--                  : "0" (__x)                                               \
--                  : "cc");                                                  \
-+                  : "0" (__x)                                               \
-+                  : "cc");                                                  \
-        __v; }))
- # else
- /* This is better than nothing.  */
- #  define __bswap_16(x) \
-      (__extension__                                                         \
--      ({ register unsigned short int __x = (x); __bswap_constant_16 (__x); }))
-+      ({ register unsigned short int __x = (unsigned short int) (x);        \
-+       __bswap_constant_16 (__x); }))
- # endif
- #else
- static __inline unsigned short int
-@@ -122,7 +123,7 @@ __bswap_32 (unsigned int __bsx)
-      (__extension__                                                         \
-       ({ union { __extension__ unsigned long long int __ll;                 \
-                unsigned long int __l[2]; } __w, __r;                        \
--         if (__builtin_constant_p (x))                                              \
-+       if (__builtin_constant_p (x))                                        \
-          __r.__ll = __bswap_constant_64 (x);                                \
-        else                                                                 \
-          {                                                                  \
-diff --git a/sysdeps/x86_64/bits/byteswap.h b/sysdeps/x86_64/bits/byteswap.h
-index 08b38e8..e350fb8 100644
---- a/sysdeps/x86_64/bits/byteswap.h
-+++ b/sysdeps/x86_64/bits/byteswap.h
-@@ -1,5 +1,5 @@
- /* Macros to swap the order of bytes in integer values.
--   Copyright (C) 1997, 1998, 2000, 2002, 2003, 2007, 2008
-+   Copyright (C) 1997, 1998, 2000, 2002, 2003, 2007, 2008, 2010
-    Free Software Foundation, Inc.
-    This file is part of the GNU C Library.
-@@ -29,12 +29,12 @@
- /* Swap bytes in 16 bit value.  */
- #define __bswap_constant_16(x) \
--     ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8))
-+     ((unsigned short int) ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8)))
- #if defined __GNUC__ && __GNUC__ >= 2
- # define __bswap_16(x) \
-      (__extension__                                                         \
--      ({ register unsigned short int __v, __x = (x);                        \
-+      ({ register unsigned short int __v, __x = (unsigned short int) (x);     \
-        if (__builtin_constant_p (__x))                                      \
-          __v = __bswap_constant_16 (__x);                                   \
-        else                                                                 \
-@@ -47,7 +47,8 @@
- /* This is better than nothing.  */
- # define __bswap_16(x) \
-      (__extension__                                                         \
--      ({ register unsigned short int __x = (x); __bswap_constant_16 (__x); }))
-+      ({ register unsigned short int __x = (unsigned short int) (x);          \
-+       __bswap_constant_16 (__x); }))
- #endif
-@@ -120,16 +121,16 @@
- #  define __bswap_64(x) \
-      (__extension__                                                           \
-       ({ union { __extension__ unsigned long long int __ll;                   \
--                 unsigned int __l[2]; } __w, __r;                             \
--         if (__builtin_constant_p (x))                                        \
--           __r.__ll = __bswap_constant_64 (x);                                \
--         else                                                                 \
--           {                                                                  \
--             __w.__ll = (x);                                                  \
--             __r.__l[0] = __bswap_32 (__w.__l[1]);                            \
--             __r.__l[1] = __bswap_32 (__w.__l[0]);                            \
--           }                                                                  \
--         __r.__ll; }))
-+               unsigned int __l[2]; } __w, __r;                             \
-+       if (__builtin_constant_p (x))                                        \
-+         __r.__ll = __bswap_constant_64 (x);                                \
-+       else                                                                 \
-+         {                                                                  \
-+           __w.__ll = (x);                                                  \
-+           __r.__l[0] = __bswap_32 (__w.__l[1]);                            \
-+           __r.__l[1] = __bswap_32 (__w.__l[0]);                            \
-+         }                                                                  \
-+       __r.__ll; }))
- # endif
- #endif
diff --git a/src/patches/glibc/glibc-rh751750.patch b/src/patches/glibc/glibc-rh751750.patch
deleted file mode 100644 (file)
index 6f9dd12..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-commit 7583a88d1c7170caad26966bcea8bfc2c92093ba
-Author: Andreas Schwab <schwab@redhat.com>
-Date:   Mon Nov 7 15:07:31 2011 +0100
-
-    Fix locking in _IO_flush_all_lockp
-
-diff --git a/libio/genops.c b/libio/genops.c
-index 5d21c42..bb40c34 100644
---- a/libio/genops.c
-+++ b/libio/genops.c
-@@ -826,7 +826,7 @@ _IO_flush_all_lockp (int do_lock)
-   int last_stamp;
- #ifdef _IO_MTSAFE_IO
--  _IO_cleanup_region_start_noarg (flush_cleanup);
-+  __libc_cleanup_region_start (do_lock, flush_cleanup, 0);
-   if (do_lock)
-     _IO_lock_lock (list_all_lock);
- #endif
-@@ -866,7 +866,7 @@ _IO_flush_all_lockp (int do_lock)
- #ifdef _IO_MTSAFE_IO
-   if (do_lock)
-     _IO_lock_unlock (list_all_lock);
--  _IO_cleanup_region_end (0);
-+  __libc_cleanup_region_end (0);
- #endif
-   return result;
diff --git a/src/patches/glibc/glibc-rh752122.patch b/src/patches/glibc/glibc-rh752122.patch
deleted file mode 100644 (file)
index 0176dc9..0000000
+++ /dev/null
@@ -1,260 +0,0 @@
-2011-07-24  H.J. Lu  <hongjiu.lu@intel.com>
-
-       * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Simplify
-       AVX check.
-
-2011-08-20  Ulrich Drepper  <drepper@gmail.com>
-
-       * sysdeps/x86_64/dl-trampoline.h: If MORE_CODE is defined, restore
-       the CFI state in the end.
-       * sysdeps/x86_64/dl-trampoline.S: Define MORE_CODE before first
-       inclusion of dl-trampoline.h.
-       Based on a patch by Jiri Olsa <jolsa@redhat.com>.
-
-2011-07-23  Ulrich Drepper  <drepper@gmail.com>
-
-       * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Fix one more
-       typo.
-       (_dl_x86_64_save_sse): Likewise.
-
-2011-07-22  Ulrich Drepper  <drepper@gmail.com>
-
-       * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Fix test for
-       OSXSAVE.
-       (_dl_x86_64_save_sse): Likewise.
-
-2011-07-21  Andreas Schwab  <schwab@redhat.com>
-
-       * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Fix last
-       change.
-       (_dl_x86_64_save_sse): Use correct AVX check.
-
-2011-07-20  Ulrich Drepper  <drepper@gmail.com>
-
-       [BZ #13007]
-       * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): More complete
-       check for AVX enablement so that we don't crash with old kernels and
-       new hardware.
-       * elf/tst-audit4.c: Add same checks here.
-       * elf/tst-audit6.c: Likewise.
-
-Index: glibc-2.12-2-gc4ccff1/elf/tst-audit4.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/tst-audit4.c
-+++ glibc-2.12-2-gc4ccff1/elf/tst-audit4.c
-@@ -6,16 +6,30 @@
- #include <cpuid.h>
- #include <immintrin.h>
-+
-+static int
-+avx_enabled (void)
-+{
-+  unsigned int eax, ebx, ecx, edx;
-+
-+  if (__get_cpuid (1, &eax, &ebx, &ecx, &edx) == 0
-+      || (ecx & (bit_AVX | bit_OSXSAVE)) != (bit_AVX | bit_OSXSAVE))
-+    return 0;
-+
-+  /* Check the OS has AVX and SSE saving enabled.  */
-+  asm ("xgetbv" : "=a" (eax), "=d" (edx) : "c" (0));
-+
-+  return (eax & 6) == 6;
-+}
-+
-+
- extern __m256i audit_test (__m256i, __m256i, __m256i, __m256i,
-                          __m256i, __m256i, __m256i, __m256i);
- int
- main (void)
- {
--  unsigned int eax, ebx, ecx, edx;
--
-   /* Run AVX test only if AVX is supported.  */
--  if (__get_cpuid (1, &eax, &ebx, &ecx, &edx)
--      && (ecx & bit_AVX))
-+  if (avx_enabled ())
-     {
-       __m256i ymm = _mm256_setzero_si256 ();
-       __m256i ret = audit_test (ymm, ymm, ymm, ymm, ymm, ymm, ymm, ymm);
-Index: glibc-2.12-2-gc4ccff1/elf/tst-audit6.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/elf/tst-audit6.c
-+++ glibc-2.12-2-gc4ccff1/elf/tst-audit6.c
-@@ -8,14 +8,28 @@
- extern __m128i audit_test (__m128i, __m128i, __m128i, __m128i,
-                          __m128i, __m128i, __m128i, __m128i);
--int
--main (void)
-+
-+static int
-+avx_enabled (void)
- {
-   unsigned int eax, ebx, ecx, edx;
-+  if (__get_cpuid (1, &eax, &ebx, &ecx, &edx) == 0
-+      || (ecx & (bit_AVX | bit_OSXSAVE)) != (bit_AVX | bit_OSXSAVE))
-+    return 0;
-+
-+  /* Check the OS has AVX and SSE saving enabled.  */
-+  asm ("xgetbv" : "=a" (eax), "=d" (edx) : "c" (0));
-+
-+  return (eax & 6) == 6;
-+}
-+
-+
-+int
-+main (void)
-+{
-   /* Run AVX test only if AVX is supported.  */
--  if (__get_cpuid (1, &eax, &ebx, &ecx, &edx)
--      && (ecx & bit_AVX))
-+  if (avx_enabled ())
-     {
-       __m128i xmm = _mm_setzero_si128 ();
-       __m128i ret = audit_test (xmm, xmm, xmm, xmm, xmm, xmm, xmm, xmm);
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/dl-trampoline.S
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/dl-trampoline.S
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/dl-trampoline.S
-@@ -139,24 +139,31 @@ L(have_avx):
-       movl    $1, %eax
-       cpuid
-       movq    %r11,%rbx               # Restore rbx
--      movl    $1, %eax
--      testl   $(1 << 28), %ecx
-+      xorl    %eax, %eax
-+      // AVX and XSAVE supported?
-+      andl    $((1 << 28) | (1 << 27)), %ecx
-+      cmpl    $((1 << 28) | (1 << 27)), %ecx
-       jne     2f
--      negl    %eax
--2:    movl    %eax, L(have_avx)(%rip)
-+      xorl    %ecx, %ecx
-+      // Get XFEATURE_ENABLED_MASK
-+      xgetbv
-+      andl    $0x6, %eax
-+2:    subl    $0x5, %eax
-+      movl    %eax, L(have_avx)(%rip)
-       cmpl    $0, %eax
- 1:    js      L(no_avx)
- #  define RESTORE_AVX
-+#  define MORE_CODE
- #  include "dl-trampoline.h"
-       .align 16
- L(no_avx):
- # endif
--#  undef RESTORE_AVX
--#  include "dl-trampoline.h"
-+# undef RESTORE_AVX
-+# include "dl-trampoline.h"
-       cfi_endproc
-       .size _dl_runtime_profile, .-_dl_runtime_profile
-@@ -176,11 +183,20 @@ _dl_x86_64_save_sse:
-       movl    $1, %eax
-       cpuid
-       movq    %r11,%rbx               # Restore rbx
--      movl    $1, %eax
--      testl   $(1 << 28), %ecx
-+      xorl    %eax, %eax
-+      // AVX and XSAVE supported?
-+      andl    $((1 << 28) | (1 << 27)), %ecx
-+      cmpl    $((1 << 28) | (1 << 27)), %ecx
-       jne     2f
--      negl    %eax
--2:    movl    %eax, L(have_avx)(%rip)
-+      xorl    %ecx, %ecx
-+      // Get XFEATURE_ENABLED_MASK
-+      xgetbv
-+      andl    $0x6, %eax
-+      cmpl    $0x6, %eax
-+      // Nonzero if SSE and AVX state saving is enabled.
-+      sete    %al
-+2:    leal    -1(%eax,%eax), %eax
-+      movl    %eax, L(have_avx)(%rip)
-       cmpl    $0, %eax
- 1:    js      L(no_avx5)
-Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/dl-trampoline.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/dl-trampoline.h
-+++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/dl-trampoline.h
-@@ -195,14 +195,14 @@
-          _dl_call_pltexit.  The La_x86_64_regs is being pointed by rsp now,
-          so we just need to allocate the sizeof(La_x86_64_retval) space on
-          the stack, since the alignment has already been taken care of. */
--# ifdef RESTORE_AVX
-+#ifdef RESTORE_AVX
-       /* sizeof(La_x86_64_retval).  Need extra space for 2 SSE
-          registers to detect if xmm0/xmm1 registers are changed
-          by audit module.  */
-       subq $(LRV_SIZE + XMM_SIZE*2), %rsp
--# else
-+#else
-       subq $LRV_SIZE, %rsp    # sizeof(La_x86_64_retval)
--# endif
-+#endif
-       movq %rsp, %rcx         # La_x86_64_retval argument to %rcx.
-       /* Fill in the La_x86_64_retval structure.  */
-@@ -212,7 +212,7 @@
-       movaps %xmm0, LRV_XMM0_OFFSET(%rcx)
-       movaps %xmm1, LRV_XMM1_OFFSET(%rcx)
--# ifdef RESTORE_AVX
-+#ifdef RESTORE_AVX
-       /* This is to support AVX audit modules.  */
-       vmovdqu %ymm0, LRV_VECTOR0_OFFSET(%rcx)
-       vmovdqu %ymm1, LRV_VECTOR1_OFFSET(%rcx)
-@@ -221,14 +221,14 @@
-          by audit module.  */
-       vmovdqa %xmm0,            (LRV_SIZE)(%rcx)
-       vmovdqa %xmm1, (LRV_SIZE + XMM_SIZE)(%rcx)
--# endif
-+#endif
-       fstpt LRV_ST0_OFFSET(%rcx)
-       fstpt LRV_ST1_OFFSET(%rcx)
-       movq 24(%rbx), %rdx     # La_x86_64_regs argument to %rdx.
-       movq 40(%rbx), %rsi     # Copy args pushed by PLT in register.
--        movq 32(%rbx), %rdi   # %rdi: link_map, %rsi: reloc_index
-+      movq 32(%rbx), %rdi     # %rdi: link_map, %rsi: reloc_index
-       call _dl_call_pltexit
-       /* Restore return registers.  */
-@@ -238,7 +238,7 @@
-       movaps LRV_XMM0_OFFSET(%rsp), %xmm0
-       movaps LRV_XMM1_OFFSET(%rsp), %xmm1
--# ifdef RESTORE_AVX
-+#ifdef RESTORE_AVX
-       /* Check if xmm0/xmm1 registers are changed by audit module.  */
-       vpcmpeqq (LRV_SIZE)(%rsp), %xmm0, %xmm2
-       vpmovmskb %xmm2, %esi
-@@ -253,7 +253,7 @@
-       vmovdqu LRV_VECTOR1_OFFSET(%rsp), %ymm1
- 1:
--# endif
-+#endif
-       fldt LRV_ST1_OFFSET(%rsp)
-       fldt LRV_ST0_OFFSET(%rsp)
-@@ -267,3 +267,10 @@
-                               # (eats the reloc index and link_map)
-       cfi_adjust_cfa_offset(-48)
-       retq
-+
-+#ifdef MORE_CODE
-+      cfi_adjust_cfa_offset(48)
-+      cfi_rel_offset(%rbx, 0)
-+      cfi_def_cfa_register(%rbx)
-+# undef MORE_CODE
-+#endif
diff --git a/src/patches/glibc/glibc-rh757888.patch b/src/patches/glibc/glibc-rh757888.patch
deleted file mode 100644 (file)
index 721d4a4..0000000
+++ /dev/null
@@ -1,225 +0,0 @@
-commit f3a6cc0a560a17f32a3e90d2f20501a53cab6058
-Author: Andreas Schwab <schwab@redhat.com>
-Date:   Tue Nov 29 10:52:22 2011 +0100
-
-    Fix access after end of search string in regex matcher
-
-diff --git a/locale/weight.h b/locale/weight.h
-index dc70a00..967e176 100644
---- a/locale/weight.h
-+++ b/locale/weight.h
-@@ -1,4 +1,4 @@
--/* Copyright (C) 1996,1997,1998,1999,2000,2003,2004 Free Software Foundation, Inc.
-+/* Copyright (C) 1996,1997,1998,1999,2000,2003,2004,2011 Free Software Foundation, Inc.
-    This file is part of the GNU C Library.
-    Written by Ulrich Drepper, <drepper@cygnus.com>.
-@@ -20,7 +20,7 @@
- /* Find index of weight.  */
- auto inline int32_t
- __attribute ((always_inline))
--findidx (const unsigned char **cpp)
-+findidx (const unsigned char **cpp, size_t len)
- {
-   int_fast32_t i = table[*(*cpp)++];
-   const unsigned char *cp;
-@@ -34,6 +34,7 @@ findidx (const unsigned char **cpp)
-      Search for the correct one.  */
-   cp = &extra[-i];
-   usrc = *cpp;
-+  --len;
-   while (1)
-     {
-       size_t nhere;
-@@ -56,7 +57,7 @@ findidx (const unsigned char **cpp)
-            already.  */
-         size_t cnt;
--        for (cnt = 0; cnt < nhere; ++cnt)
-+        for (cnt = 0; cnt < nhere && cnt < len; ++cnt)
-           if (cp[cnt] != usrc[cnt])
-             break;
-@@ -79,13 +80,13 @@ findidx (const unsigned char **cpp)
-         size_t cnt;
-         size_t offset = 0;
--        for (cnt = 0; cnt < nhere; ++cnt)
-+        for (cnt = 0; cnt < nhere && cnt < len; ++cnt)
-           if (cp[cnt] != usrc[cnt])
-             break;
-         if (cnt != nhere)
-           {
--            if (cp[cnt] > usrc[cnt])
-+            if (cnt == len || cp[cnt] > usrc[cnt])
-               {
-                 /* Cannot be in this range.  */
-                 cp += 2 * nhere;
-diff --git a/locale/weightwc.h b/locale/weightwc.h
-index 9ea1126..7862091 100644
---- a/locale/weightwc.h
-+++ b/locale/weightwc.h
-@@ -1,4 +1,4 @@
--/* Copyright (C) 1996-2001,2003,2004,2005,2007 Free Software Foundation, Inc.
-+/* Copyright (C) 1996-2001,2003,2004,2005,2007,2011 Free Software Foundation, Inc.
-    This file is part of the GNU C Library.
-    Written by Ulrich Drepper, <drepper@cygnus.com>.
-@@ -20,7 +20,7 @@
- /* Find index of weight.  */
- auto inline int32_t
- __attribute ((always_inline))
--findidx (const wint_t **cpp)
-+findidx (const wint_t **cpp, size_t len)
- {
-   wint_t ch = *(*cpp)++;
-   int32_t i = __collidx_table_lookup ((const char *) table, ch);
-@@ -32,6 +32,7 @@ findidx (const wint_t **cpp)
-   /* Oh well, more than one sequence starting with this byte.
-      Search for the correct one.  */
-   const int32_t *cp = (const int32_t *) &extra[-i];
-+  --len;
-   while (1)
-     {
-       size_t nhere;
-@@ -54,7 +55,7 @@ findidx (const wint_t **cpp)
-            already.  */
-         size_t cnt;
--        for (cnt = 0; cnt < nhere; ++cnt)
-+        for (cnt = 0; cnt < nhere && cnt < len; ++cnt)
-           if (cp[cnt] != usrc[cnt])
-             break;
-@@ -75,7 +76,7 @@ findidx (const wint_t **cpp)
-         size_t cnt;
-         size_t offset;
--        for (cnt = 0; cnt < nhere - 1; ++cnt)
-+        for (cnt = 0; cnt < nhere - 1 && cnt < len; ++cnt)
-           if (cp[cnt] != usrc[cnt])
-             break;
-diff --git a/posix/fnmatch_loop.c b/posix/fnmatch_loop.c
-index 18a6667..72bd3ee 100644
---- a/posix/fnmatch_loop.c
-+++ b/posix/fnmatch_loop.c
-@@ -412,7 +412,7 @@ FCT (pattern, string, string_end, no_leading_period, flags, ends, alloca_used)
-                         _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB);
- # endif
--                      idx = findidx (&cp);
-+                      idx = findidx (&cp, 1);
-                       if (idx != 0)
-                         {
-                           /* We found a table entry.  Now see whether the
-@@ -422,7 +422,7 @@ FCT (pattern, string, string_end, no_leading_period, flags, ends, alloca_used)
-                           int32_t idx2;
-                           const UCHAR *np = (const UCHAR *) n;
--                          idx2 = findidx (&np);
-+                          idx2 = findidx (&np, string_end - n);
-                           if (idx2 != 0
-                               && (idx >> 24) == (idx2 >> 24)
-                               && len == weights[idx2 & 0xffffff])
-diff --git a/posix/regcomp.c b/posix/regcomp.c
-index b238c08..34ee845 100644
---- a/posix/regcomp.c
-+++ b/posix/regcomp.c
-@@ -1,5 +1,5 @@
- /* Extended regular expression matching and search library.
--   Copyright (C) 2002-2007,2009,2010 Free Software Foundation, Inc.
-+   Copyright (C) 2002-2007,2009,2010,2011 Free Software Foundation, Inc.
-    This file is part of the GNU C Library.
-    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
-@@ -3409,19 +3409,18 @@ build_equiv_class (bitset_t sbcset, const unsigned char *name)
-                                                  _NL_COLLATE_EXTRAMB);
-       indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE,
-                                               _NL_COLLATE_INDIRECTMB);
--      idx1 = findidx (&cp);
--      if (BE (idx1 == 0 || cp < name + strlen ((const char *) name), 0))
-+      idx1 = findidx (&cp, -1);
-+      if (BE (idx1 == 0 || *cp != '\0', 0))
-       /* This isn't a valid character.  */
-       return REG_ECOLLATE;
-       /* Build single byte matcing table for this equivalence class.  */
--      char_buf[1] = (unsigned char) '\0';
-       len = weights[idx1 & 0xffffff];
-       for (ch = 0; ch < SBC_MAX; ++ch)
-       {
-         char_buf[0] = ch;
-         cp = char_buf;
--        idx2 = findidx (&cp);
-+        idx2 = findidx (&cp, 1);
- /*
-         idx2 = table[ch];
- */
-
---- a/posix/regex_internal.h   2011-11-30 12:47:02.706567482 -0700
-+++ a/posix/regex_internal.h   2011-11-30 12:47:32.969558337 -0700
-@@ -756,7 +756,7 @@
-       indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE,
-                                               _NL_COLLATE_INDIRECTMB);
-       p = pstr->mbs + idx;
--      tmp = findidx (&p);
-+      tmp = findidx (&p, pstr->len - idx);
-       return p - pstr->mbs - idx;
-     }
-   else
-diff --git a/posix/regexec.c b/posix/regexec.c
-index 9e0c565..3ea810b 100644
---- a/posix/regexec.c
-+++ b/posix/regexec.c
-@@ -3924,7 +3924,7 @@ check_node_accept_bytes (const re_dfa_t *dfa, int node_idx,
-               _NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB);
-             indirect = (const int32_t *)
-               _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB);
--            int32_t idx = findidx (&cp);
-+            int32_t idx = findidx (&cp, elem_len);
-             if (idx > 0)
-               for (i = 0; i < cset->nequiv_classes; ++i)
-                 {
-diff --git a/string/strcoll_l.c b/string/strcoll_l.c
-index d8d1139..fb77d08 100644
---- a/string/strcoll_l.c
-+++ b/string/strcoll_l.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 1995-1997,2002,2004,2007,2010 Free Software Foundation, Inc.
-+/* Copyright (C) 1995-1997,2002,2004,2007,2010,2011 Free Software Foundation, Inc.
-    This file is part of the GNU C Library.
-    Written by Ulrich Drepper <drepper@gnu.org>, 1995.
-@@ -205,7 +205,7 @@ STRCOLL (s1, s2, l)
-               while (*us1 != L('\0'))
-                 {
--                  int32_t tmp = findidx (&us1);
-+                  int32_t tmp = findidx (&us1, -1);
-                   rule1arr[idx1max] = tmp >> 24;
-                   idx1arr[idx1max] = tmp & 0xffffff;
-                   idx1cnt = idx1max++;
-@@ -267,7 +267,7 @@ STRCOLL (s1, s2, l)
-               while (*us2 != L('\0'))
-                 {
--                  int32_t tmp = findidx (&us2);
-+                  int32_t tmp = findidx (&us2, -1);
-                   rule2arr[idx2max] = tmp >> 24;
-                   idx2arr[idx2max] = tmp & 0xffffff;
-                   idx2cnt = idx2max++;
-diff --git a/string/strxfrm_l.c b/string/strxfrm_l.c
-index 220253c..b06556d 100644
---- a/string/strxfrm_l.c
-+++ b/string/strxfrm_l.c
-@@ -176,7 +176,7 @@ STRXFRM (STRING_TYPE *dest, const STRING_TYPE *src, size_t n, __locale_t l)
-   idxmax = 0;
-   do
-     {
--      int32_t tmp = findidx (&usrc);
-+      int32_t tmp = findidx (&usrc, -1);
-       rulearr[idxmax] = tmp >> 24;
-       idxarr[idxmax] = tmp & 0xffffff;
diff --git a/src/patches/glibc/glibc-rh766513.patch b/src/patches/glibc/glibc-rh766513.patch
deleted file mode 100644 (file)
index 3f629b4..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -rup a/po/ja.po b/po/ja.po
---- a/po/ja.po 2010-05-04 05:27:23.000000000 -0600
-+++ b/po/ja.po 2012-02-07 12:21:03.023806370 -0700
-@@ -3549,8 +3549,8 @@ msgstr "%s: ÉÔÀµ¤Ê¥ª¥×¥·¥ç¥ó¤Ç¤¹ -- %c\n
- #: posix/getopt.c:945 posix/getopt.c:948
- #, c-format
--msgid "%s: invalid option -- %c\n"
--msgstr "%s: ¥ª¥×¥·¥ç¥ó¤¬°ã¤¤¤Þ¤¹ -- %c\n"
-+msgid "%s: invalid option -- '%c'\n"
-+msgstr "%s: ¥ª¥×¥·¥ç¥ó¤¬°ã¤¤¤Þ¤¹ -- '%c'\n"
- #: posix/getopt.c:1003 posix/getopt.c:1022 posix/getopt.c:1234
- #: posix/getopt.c:1255
diff --git a/src/patches/glibc/glibc-rh767146.patch b/src/patches/glibc/glibc-rh767146.patch
deleted file mode 100644 (file)
index 8252062..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -rup a/elf/dl-load.c b/elf/dl-load.c
---- a/elf/dl-load.c    2012-02-03 10:59:58.917870716 -0700
-+++ b/elf/dl-load.c    2012-02-03 11:01:01.796580644 -0700
-@@ -1130,6 +1130,16 @@ _dl_map_object_from_fd (const char *name
-               = N_("ELF load command address/offset not properly aligned");
-             goto call_lose;
-           }
-+        if (__builtin_expect ((ph->p_offset + ph->p_filesz > st.st_size), 0))
-+          {
-+            /* If the segment requires zeroing of part of its last
-+               page, we'll crash when accessing the unmapped page.
-+               There's still a possibility of a race, if the shared
-+               object is truncated between the fxstat above and the
-+               memset below.  */
-+            errstring = N_("ELF load command past end of file");
-+            goto call_lose;
-+          }
-         c = &loadcmds[nloadcmds++];
-         c->mapstart = ph->p_vaddr & ~(GLRO(dl_pagesize) - 1);
-Only in b/elf: dl-load.c.orig
diff --git a/src/patches/glibc/glibc-rh767693-2.patch b/src/patches/glibc/glibc-rh767693-2.patch
deleted file mode 100644 (file)
index 4418ac6..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-Index: glibc-2.5-20061008T1257/sunrpc/svc_tcp.c
-===================================================================
---- glibc-2.5-20061008T1257.orig/sunrpc/svc_tcp.c
-+++ glibc-2.5-20061008T1257/sunrpc/svc_tcp.c
-@@ -50,6 +50,7 @@ static char sccsid[] = "@(#)svc_tcp.c 1.
- #include <sys/poll.h>
- #include <errno.h>
- #include <stdlib.h>
-+#include <time.h>
- #ifdef USE_IN_LIBIO
- # include <wchar.h>
-@@ -249,6 +250,11 @@ again:
-     {
-       if (errno == EINTR)
-       goto again;
-+      if (errno == EMFILE)
-+        {
-+          struct timespec ts = { .tv_sec = 0, .tv_nsec = 50000000 };
-+          __nanosleep(&ts , NULL);
-+        }
-       return FALSE;
-     }
-   /*
-Index: glibc-2.5-20061008T1257/sunrpc/svc_udp.c
-===================================================================
---- glibc-2.5-20061008T1257.orig/sunrpc/svc_udp.c
-+++ glibc-2.5-20061008T1257/sunrpc/svc_udp.c
-@@ -46,6 +46,7 @@ static char sccsid[] = "@(#)svc_udp.c 1.
- #include <sys/socket.h>
- #include <errno.h>
- #include <libintl.h>
-+#include <time.h>
- #ifdef IP_PKTINFO
- #include <sys/uio.h>
-@@ -277,8 +278,16 @@ again:
-                      (int) su->su_iosz, 0,
-                      (struct sockaddr *) &(xprt->xp_raddr), &len);
-   xprt->xp_addrlen = len;
--  if (rlen == -1 && errno == EINTR)
--    goto again;
-+  if (rlen == -1)
-+    {
-+      if (errno == EINTR)
-+        goto again;
-+      if (errno == EMFILE)
-+        {
-+          struct timespec ts = { .tv_sec = 0, .tv_nsec = 50000000 };
-+          __nanosleep(&ts , NULL);
-+        }
-+    }
-   if (rlen < 16)              /* < 4 32-bit ints? */
-     return FALSE;
-   xdrs->x_op = XDR_DECODE;
-Index: glibc-2.5-20061008T1257/sunrpc/svc_unix.c
-===================================================================
---- glibc-2.5-20061008T1257.orig/sunrpc/svc_unix.c
-+++ glibc-2.5-20061008T1257/sunrpc/svc_unix.c
-@@ -48,6 +48,7 @@
- #include <errno.h>
- #include <stdlib.h>
- #include <libintl.h>
-+#include <time.h>
- #ifdef USE_IN_LIBIO
- # include <wchar.h>
-@@ -247,6 +248,11 @@ again:
-     {
-       if (errno == EINTR)
-       goto again;
-+      if (errno == EMFILE)
-+        {
-+          struct timespec ts = { .tv_sec = 0, .tv_nsec = 50000000 };
-+          __nanosleep(&ts , NULL);
-+        }
-       return FALSE;
-     }
-   /*
diff --git a/src/patches/glibc/glibc-rh767693.patch b/src/patches/glibc/glibc-rh767693.patch
deleted file mode 100644 (file)
index 8f76beb..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-commit 97ac2654b2d831acaa18a2b018b0736245903fd2
-Author: Ulrich Drepper <drepper@gmail.com>
-Date:   Sat Dec 17 20:18:42 2011 -0500
-
-    Check values from TZ file header
-
-
-       [BZ #13506]
-       * time/tzfile.c (__tzfile_read): Check values from file header.
-
-diff -ru a/time/tzfile.c b/time/tzfile.c
---- a/time/tzfile.c    2010-05-04 11:27:23.000000000 +0000
-+++ b/time/tzfile.c    2011-12-19 06:39:49.875358578 +0000
-@@ -19,6 +19,7 @@
- #include <assert.h>
- #include <limits.h>
-+#include <stdint.h>
- #include <stdio.h>
- #include <stdio_ext.h>
- #include <stdlib.h>
-@@ -234,23 +235,58 @@
-       goto read_again;
-     }
-+  if (__builtin_expect (num_transitions
-+                      > ((SIZE_MAX - (__alignof__ (struct ttinfo) - 1))
-+                         / (sizeof (time_t) + 1)), 0))
-+    goto lose;
-   total_size = num_transitions * (sizeof (time_t) + 1);
-   total_size = ((total_size + __alignof__ (struct ttinfo) - 1)
-               & ~(__alignof__ (struct ttinfo) - 1));
-   types_idx = total_size;
--  total_size += num_types * sizeof (struct ttinfo) + chars;
-+  if (__builtin_expect (num_types
-+                      > (SIZE_MAX - total_size) / sizeof (struct ttinfo), 0))
-+    goto lose;
-+  total_size += num_types * sizeof (struct ttinfo);
-+  if (__builtin_expect (chars > SIZE_MAX - total_size, 0))
-+    goto lose;
-+  total_size += chars;
-+  if (__builtin_expect (__alignof__ (struct leap) - 1
-+                      > SIZE_MAX - total_size, 0))
-+    goto lose;
-   total_size = ((total_size + __alignof__ (struct leap) - 1)
-               & ~(__alignof__ (struct leap) - 1));
-   leaps_idx = total_size;
-+  if (__builtin_expect (num_leaps
-+                      > (SIZE_MAX - total_size) / sizeof (struct leap), 0))
-+    goto lose;
-   total_size += num_leaps * sizeof (struct leap);
--  tzspec_len = (sizeof (time_t) == 8 && trans_width == 8
--              ? st.st_size - (ftello (f)
--                              + num_transitions * (8 + 1)
--                              + num_types * 6
--                              + chars
--                              + num_leaps * 12
--                              + num_isstd
--                              + num_isgmt) - 1 : 0);
-+  tzspec_len = 0;
-+  if (sizeof (time_t) == 8 && trans_width == 8)
-+    {
-+      off_t rem = st.st_size - ftello (f);
-+      if (__builtin_expect (rem < 0
-+                          || (size_t) rem < (num_transitions * (8 + 1)
-+                                             + num_types * 6
-+                                             + chars), 0))
-+      goto lose;
-+      tzspec_len = (size_t) rem - (num_transitions * (8 + 1)
-+                                 + num_types * 6
-+                                 + chars);
-+      if (__builtin_expect (num_leaps > SIZE_MAX / 12
-+                          || tzspec_len < num_leaps * 12, 0))
-+      goto lose;
-+      tzspec_len -= num_leaps * 12;
-+      if (__builtin_expect (tzspec_len < num_isstd, 0))
-+      goto lose;
-+      tzspec_len -= num_isstd;
-+      if (__builtin_expect (tzspec_len == 0 || tzspec_len - 1 < num_isgmt, 0))
-+      goto lose;
-+      tzspec_len -= num_isgmt + 1;
-+      if (__builtin_expect (SIZE_MAX - total_size < tzspec_len, 0))
-+      goto lose;
-+    }
-+  if (__builtin_expect (SIZE_MAX - total_size - tzspec_len < extra, 0))
-+    goto lose;
-   /* Allocate enough memory including the extra block requested by the
-      caller.  */
diff --git a/src/patches/glibc/glibc-rh767746.patch b/src/patches/glibc/glibc-rh767746.patch
deleted file mode 100644 (file)
index 58d96d8..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/nptl/pthread_create.c    2011-12-13 11:41:37.000000000 -0700
-+++ b/nptl/pthread_create.c    2011-12-14 10:03:13.000000000 -0700
-@@ -440,8 +440,9 @@
-   int err = ALLOCATE_STACK (iattr, &pd);
-   if (__builtin_expect (err != 0, 0))
-     /* Something went wrong.  Maybe a parameter of the attributes is
--       invalid or we could not allocate memory.  */
--    return err;
-+       invalid or we could not allocate memory.  Note we have to
-+       translate error codes.  */
-+    return err == ENOMEM ? EAGAIN : err;
-   /* Initialize the TCB.  All initializations with zero should be
diff --git a/src/patches/glibc/glibc-rh771342.patch b/src/patches/glibc/glibc-rh771342.patch
deleted file mode 100644 (file)
index 0a49b8c..0000000
+++ /dev/null
@@ -1,155 +0,0 @@
-2011-06-30  Ulrich Drepper  <drepper@gmail.com>
-
-       * nptl-init.c (__nptl_set_robust): New function.
-       (pthread_functions): Add reference.
-       * npthreadP.h: Declare __nptl_set_robust.
-       * sysdeps/pthread/pthread-functions.h (pthread_functions): Add
-       ptr_set_robust member.
-       * sysdeps/unix/sysv/linux/fork.c: Call set_robust_list syscall in
-       child if threads are used.
-
-diff -Nrup a/nptl/nptl-init.c b/nptl/nptl-init.c
---- a/nptl/nptl-init.c 2011-12-20 00:29:54.645538691 -0700
-+++ b/nptl/nptl-init.c 2012-01-03 10:18:38.977513783 -0700
-@@ -69,6 +69,13 @@ extern void __libc_setup_tls (size_t tcb
- #endif
- #ifdef SHARED
-+static
-+#else
-+extern
-+#endif
-+void __nptl_set_robust (struct pthread *);
-+
-+#ifdef SHARED
- static void nptl_freeres (void);
-@@ -131,13 +138,25 @@ static const struct pthread_functions pt
-     .ptr__nptl_deallocate_tsd = __nptl_deallocate_tsd,
-     .ptr__nptl_setxid = __nptl_setxid,
-     /* For now only the stack cache needs to be freed.  */
--    .ptr_freeres = nptl_freeres
-+    .ptr_freeres = nptl_freeres,
-+    .ptr_set_robust = __nptl_set_robust
-   };
- # define ptr_pthread_functions &pthread_functions
- #else
- # define ptr_pthread_functions NULL
- #endif
-+#ifdef SHARED
-+static
-+#endif
-+void
-+__nptl_set_robust (struct pthread *self)
-+{
-+  INTERNAL_SYSCALL_DECL (err);
-+  INTERNAL_SYSCALL (set_robust_list, err, 2, &self->robust_head,
-+                   sizeof (struct robust_list_head));
-+}
-+
- #ifdef SHARED
- /* This function is called indirectly from the freeres code in libc.  */
-diff -Nrup a/nptl/pthreadP.h b/nptl/pthreadP.h
---- a/nptl/pthreadP.h  2010-05-04 05:27:23.000000000 -0600
-+++ b/nptl/pthreadP.h  2012-01-03 10:12:35.599269269 -0700
-@@ -555,17 +555,20 @@ extern void __pthread_cleanup_pop_restor
- /* Old cleanup interfaces, still used in libc.so.  */
- extern void _pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer,
--                                   void (*routine) (void *), void *arg);
-+                                 void (*routine) (void *), void *arg);
- extern void _pthread_cleanup_pop (struct _pthread_cleanup_buffer *buffer,
--                                  int execute);
-+                                int execute);
- extern void _pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *buffer,
--                                         void (*routine) (void *), void *arg);
-+                                       void (*routine) (void *), void *arg);
- extern void _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *buffer,
--                                          int execute);
-+                                        int execute);
- extern void __nptl_deallocate_tsd (void) attribute_hidden;
- extern int __nptl_setxid (struct xid_command *cmdp) attribute_hidden;
-+#ifndef SHARED
-+extern void __nptl_set_robust (struct pthread *self);
-+#endif
- extern void __free_stacks (size_t limit) attribute_hidden;
-diff -Nrup a/nptl/sysdeps/pthread/pthread-functions.h b/nptl/sysdeps/pthread/pthread-functions.h
---- a/nptl/sysdeps/pthread/pthread-functions.h 2010-05-04 05:27:23.000000000 -0600
-+++ b/nptl/sysdeps/pthread/pthread-functions.h 2012-01-03 10:12:35.639269301 -0700
-@@ -97,6 +97,7 @@ struct pthread_functions
-   void (*ptr__nptl_deallocate_tsd) (void);
-   int (*ptr__nptl_setxid) (struct xid_command *);
-   void (*ptr_freeres) (void);
-+  void (*ptr_set_robust) (struct pthread *);
- };
- /* Variable in libc.so.  */
-diff -Nrup a/nptl/sysdeps/unix/sysv/linux/fork.c b/nptl/sysdeps/unix/sysv/linux/fork.c
---- a/nptl/sysdeps/unix/sysv/linux/fork.c      2010-05-04 05:27:23.000000000 -0600
-+++ b/nptl/sysdeps/unix/sysv/linux/fork.c      2012-01-03 10:12:35.649269309 -0700
-@@ -29,6 +29,7 @@
- #include <ldsodefs.h>
- #include <bits/stdio-lock.h>
- #include <atomic.h>
-+#include <pthreadP.h>
- unsigned long int *__fork_generation_pointer;
-@@ -86,8 +87,8 @@ __libc_fork (void)
-        just go away.  The unloading code works in the order of the
-        list.
--         While executing the registered handlers we are building a
--         list of all the entries so that we can go backward later on.  */
-+       While executing the registered handlers we are building a
-+       list of all the entries so that we can go backward later on.  */
-       while (1)
-       {
-         /* Execute the handler if there is one.  */
-@@ -154,6 +155,24 @@ __libc_fork (void)
-       GL(dl_cpuclock_offset) = now;
- #endif
-+#ifdef __NR_set_robust_list
-+      /* Initialize the robust mutex list which has been reset during
-+       the fork.  We do not check for errors since if it fails here
-+       it failed at process start as well and noone could have used
-+       robust mutexes.  We also do not have to set
-+       self->robust_head.futex_offset since we inherit the correct
-+       value from the parent.  */
-+# ifdef SHARED
-+      if (__libc_pthread_functions.ptr_set_robust != NULL)
-+      PTHFCT_CALL (ptr_set_robust, (self));
-+# else
-+      extern __typeof (__nptl_set_robust) __nptl_set_robust
-+      __attribute__((weak));
-+      if (__builtin_expect (__nptl_set_robust != NULL, 0))
-+      __nptl_set_robust (self);
-+# endif
-+#endif
-+
-       /* Reset the file list.  These are recursive mutexes.  */
-       fresetlockfiles ();
-@@ -170,10 +189,10 @@ __libc_fork (void)
-           allp->handler->child_handler ();
-         /* Note that we do not have to wake any possible waiter.
--           This is the only thread in the new process.  The count
--           may have been bumped up by other threads doing a fork.
--           We reset it to 1, to avoid waiting for non-existing
--           thread(s) to release the count.  */
-+           This is the only thread in the new process.  The count
-+           may have been bumped up by other threads doing a fork.
-+           We reset it to 1, to avoid waiting for non-existing
-+           thread(s) to release the count.  */
-         allp->handler->refcntr = 1;
-         /* XXX We could at this point look through the object pool
diff --git a/src/patches/glibc/glibc-rh782585.patch b/src/patches/glibc/glibc-rh782585.patch
deleted file mode 100644 (file)
index a554d4b..0000000
+++ /dev/null
@@ -1,329 +0,0 @@
-diff -rup a/elf/dl-close.c b/elf/dl-close.c
---- a/elf/dl-close.c   2012-01-19 12:59:42.759484350 -0700
-+++ b/elf/dl-close.c   2012-01-19 14:10:20.439263806 -0700
-@@ -223,7 +223,7 @@ _dl_close_worker (struct link_map *map)
-     }
-   /* Sort the entries.  */
--  _dl_sort_fini (ns->_ns_loaded, maps, nloaded, used, nsid);
-+  _dl_sort_fini (maps, nloaded, used, nsid);
-   /* Call all termination functions at once.  */
- #ifdef SHARED
-diff -rup a/elf/dl-deps.c b/elf/dl-deps.c
---- a/elf/dl-deps.c    2012-01-19 12:59:42.716484301 -0700
-+++ b/elf/dl-deps.c    2012-01-19 13:52:35.223720556 -0700
-@@ -614,51 +614,67 @@ Filters not supported with LD_TRACE_PREL
-       map->l_searchlist.r_list[i]->l_reserved = 0;
-     }
--  /* Now determine the order in which the initialization has to happen.  */
-+  /* Sort the initializer list to take dependencies into account.  The binary
-+     itself will always be initialize last.  */
-   memcpy (l_initfini, map->l_searchlist.r_list,
-         nlist * sizeof (struct link_map *));
--  /* We can skip looking for the binary itself which is at the front
--     of the search list.  Look through the list backward so that circular
--     dependencies are not changing the order.  */
--  for (i = 1; i < nlist; ++i)
-+  if (__builtin_expect (nlist > 1, 1))
-     {
--      struct link_map *l = map->l_searchlist.r_list[i];
--      unsigned int j;
--      unsigned int k;
--
--      /* Find the place in the initfini list where the map is currently
--       located.  */
--      for (j = 1; l_initfini[j] != l; ++j)
--      ;
--
--      /* Find all object for which the current one is a dependency and
--       move the found object (if necessary) in front.  */
--      for (k = j + 1; k < nlist; ++k)
-+      /* We can skip looking for the binary itself which is at the front
-+       of the search list.  */
-+      i = 1;
-+      unsigned int seen[nlist];
-+      memset (seen, 0, nlist * sizeof (seen[0]));
-+      while (1)
-       {
--        struct link_map **runp;
--
--        runp = l_initfini[k]->l_initfini;
--        if (runp != NULL)
-+        /* Keep track of which object we looked at this round.  */
-+        ++seen[i];
-+        struct link_map *thisp = l_initfini[i];
-+
-+        /* Find the last object in the list for which the current one is
-+           a dependency and move the current object behind the object
-+           with the dependency.  */
-+        unsigned int k = nlist - 1;
-+        while (k > i)
-           {
--            while (*runp != NULL)
--              if (__builtin_expect (*runp++ == l, 0))
--                {
--                  struct link_map *here = l_initfini[k];
--
--                  /* Move it now.  */
--                  memmove (&l_initfini[j] + 1, &l_initfini[j],
--                           (k - j) * sizeof (struct link_map *));
--                  l_initfini[j] = here;
--
--                  /* Don't insert further matches before the last
--                     entry moved to the front.  */
--                  ++j;
-+            struct link_map **runp = l_initfini[k]->l_initfini;
-+            if (runp != NULL)
-+              /* Look through the dependencies of the object.  */
-+              while (*runp != NULL)
-+                if (__builtin_expect (*runp++ == thisp, 0))
-+                  {
-+                    /* Move the current object to the back past the last
-+                       object with it as the dependency.  */
-+                    memmove (&l_initfini[i], &l_initfini[i + 1],
-+                             (k - i) * sizeof (l_initfini[0]));
-+                    l_initfini[k] = thisp;
-+
-+                    if (seen[i + 1] > nlist - i - 2)
-+                      {
-+                        ++i;
-+                        goto next_clear;
-+                      }
-+
-+                    unsigned int this_seen = seen[i];
-+                    memmove (&seen[i], &seen[i + 1],
-+                             (k - i) * sizeof (seen[0]));
-+                    seen[k] = this_seen;
-+
-+                    goto next;
-+                  }
--                  break;
--                }
-+            --k;
-           }
-+
-+        if (++i == nlist)
-+          break;
-+      next_clear:
-+        memset (&seen[i], 0, (nlist - i) * sizeof (seen[0]));
-+
-+      next:;
-       }
-     }
-+
-   /* Terminate the list of dependencies.  */
-   l_initfini[nlist] = NULL;
-   atomic_write_barrier ();
-diff -rup a/elf/dl-fini.c b/elf/dl-fini.c
---- a/elf/dl-fini.c    2010-05-04 05:27:23.000000000 -0600
-+++ b/elf/dl-fini.c    2012-01-19 13:56:38.653842046 -0700
-@@ -1,5 +1,6 @@
- /* Call the termination functions of loaded shared objects.
--   Copyright (C) 1995,96,1998-2002,2004-2005,2009 Free Software Foundation, Inc.
-+   Copyright (C) 1995,96,1998-2002,2004-2005,2009,2011
-+   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
-@@ -29,89 +30,100 @@ typedef void (*fini_t) (void);
- void
- internal_function
--_dl_sort_fini (struct link_map *l, struct link_map **maps, size_t nmaps,
--             char *used, Lmid_t ns)
-+_dl_sort_fini (struct link_map **maps, size_t nmaps, char *used, Lmid_t ns)
- {
--  if (ns == LM_ID_BASE)
--    /* The main executable always comes first.  */
--    l = l->l_next;
--
--  for (; l != NULL; l = l->l_next)
--    /* Do not handle ld.so in secondary namespaces and object which
--       are not removed.  */
--    if (l == l->l_real && l->l_idx != -1)
--      {
--      /* Find the place in the 'maps' array.  */
--      unsigned int j;
--      for (j = ns == LM_ID_BASE ? 1 : 0; maps[j] != l; ++j)
--        assert (j < nmaps);
--
--      /* Find all object for which the current one is a dependency
--         and move the found object (if necessary) in front.  */
--      for (unsigned int k = j + 1; k < nmaps; ++k)
--        {
--          struct link_map **runp = maps[k]->l_initfini;
--          if (runp != NULL)
--            {
--              while (*runp != NULL)
--                if (*runp == l)
--                  {
--                    struct link_map *here = maps[k];
-+  /* A list of one element need not be sorted.  */
-+  if (nmaps == 1)
-+    return;
-+
-+  /* We can skip looking for the binary itself which is at the front
-+     of the search list for the main namespace.  */
-+  unsigned int i = ns == LM_ID_BASE;
-+  unsigned int seen[nmaps];
-+  memset (seen, 0, nmaps * sizeof (seen[0]));
-+  while (1)
-+    {
-+      /* Keep track of which object we looked at this round.  */
-+      ++seen[i];
-+      struct link_map *thisp = maps[i];
-+
-+      /* Do not handle ld.so in secondary namespaces and object which
-+       are not removed.  */
-+      if (thisp != thisp->l_real || thisp->l_idx == -1)
-+      goto skip;
-+
-+      /* Find the last object in the list for which the current one is
-+       a dependency and move the current object behind the object
-+       with the dependency.  */
-+      unsigned int k = nmaps - 1;
-+      while (k > i)
-+      {
-+        struct link_map **runp = maps[k]->l_initfini;
-+        if (runp != NULL)
-+          /* Look through the dependencies of the object.  */
-+          while (*runp != NULL)
-+            if (__builtin_expect (*runp++ == thisp, 0))
-+              {
-+              move:
-+                /* Move the current object to the back past the last
-+                   object with it as the dependency.  */
-+                memmove (&maps[i], &maps[i + 1],
-+                         (k - i) * sizeof (maps[0]));
-+                maps[k] = thisp;
--                    /* Move it now.  */
--                    memmove (&maps[j] + 1,
--                             &maps[j], (k - j) * sizeof (struct link_map *));
--                    maps[j] = here;
-+                if (used != NULL)
-+                  {
-+                    char here_used = used[i];
-+                    memmove (&used[i], &used[i + 1],
-+                             (k - i) * sizeof (used[0]));
-+                    used[k] = here_used;
-+                  }
--                    if (used != NULL)
--                      {
--                        char here_used = used[k];
-+                if (seen[i + 1] > nmaps - i - 2)
-+                  {
-+                    ++i;
-+                    goto next_clear;
-+                  }
--                        memmove (&used[j] + 1,
--                                 &used[j], (k - j) * sizeof (char));
--                        used[j] = here_used;
--                      }
-+                unsigned int this_seen = seen[i];
-+                memmove (&seen[i], &seen[i + 1], (k - i) * sizeof (seen[0]));
-+                seen[k] = this_seen;
--                    ++j;
-+                goto next;
-+              }
--                    break;
--                  }
--                else
--                  ++runp;
--            }
--
--          if (__builtin_expect (maps[k]->l_reldeps != NULL, 0))
--            {
--              unsigned int m = maps[k]->l_reldeps->act;
--              struct link_map **relmaps = &maps[k]->l_reldeps->list[0];
-+        if (__builtin_expect (maps[k]->l_reldeps != NULL, 0))
-+          {
-+            unsigned int m = maps[k]->l_reldeps->act;
-+            struct link_map **relmaps = &maps[k]->l_reldeps->list[0];
--              while (m-- > 0)
-+            /* Look through the relocation dependencies of the object.  */
-+            while (m-- > 0)
-+              if (__builtin_expect (relmaps[m] == thisp, 0))
-                 {
--                  if (relmaps[m] == l)
--                    {
--                      struct link_map *here = maps[k];
--
--                      /* Move it now.  */
--                      memmove (&maps[j] + 1,
--                               &maps[j],
--                               (k - j) * sizeof (struct link_map *));
--                      maps[j] = here;
--
--                      if (used != NULL)
--                        {
--                          char here_used = used[k];
--
--                          memmove (&used[j] + 1,
--                                   &used[j], (k - j) * sizeof (char));
--                          used[j] = here_used;
--                        }
--
--                      break;
--                    }
-+                  /* If a cycle exists with a link time dependency,
-+                     preserve the latter.  */
-+                  struct link_map **runp = thisp->l_initfini;
-+                  if (runp != NULL)
-+                    while (*runp != NULL)
-+                      if (__builtin_expect (*runp++ == maps[k], 0))
-+                        goto ignore;
-+                  goto move;
-                 }
--            }
--        }
--      }
-+          ignore:;
-+          }
-+
-+        --k;
-+      }
-+
-+    skip:
-+      if (++i == nmaps)
-+      break;
-+    next_clear:
-+      memset (&seen[i], 0, (nmaps - i) * sizeof (seen[0]));
-+
-+    next:;
-+    }
- }
-@@ -196,9 +208,8 @@ _dl_fini (void)
-       assert (ns == LM_ID_BASE || i == nloaded || i == nloaded - 1);
-       nmaps = i;
--      if (nmaps != 0)
--      /* Now we have to do the sorting.  */
--      _dl_sort_fini (GL(dl_ns)[ns]._ns_loaded, maps, nmaps, NULL, ns);
-+      /* Now we have to do the sorting.  */
-+      _dl_sort_fini (maps, nmaps, NULL, ns);
-       /* We do not rely on the linked list of loaded object anymore from
-        this point on.  We have our own list here (maps).  The various
-diff -rup a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
---- a/sysdeps/generic/ldsodefs.h       2012-01-19 12:59:42.446483997 -0700
-+++ b/sysdeps/generic/ldsodefs.h       2012-01-19 14:16:36.242453532 -0700
-@@ -947,7 +947,7 @@ extern void _dl_init (struct link_map *m
- extern void _dl_fini (void) internal_function;
- /* Sort array MAPS according to dependencies of the contained objects.  */
--extern void _dl_sort_fini (struct link_map *l, struct link_map **maps,
-+extern void _dl_sort_fini (struct link_map **maps,
-                          size_t nmaps, char *used, Lmid_t ns)
-      internal_function;
diff --git a/src/patches/glibc/glibc-rh784402.patch b/src/patches/glibc/glibc-rh784402.patch
deleted file mode 100644 (file)
index d75773e..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-commit 3e1aa84e7f9f38815f5db9cd7654b1a9497cf6e4
-Author: Ulrich Drepper <drepper@gmail.com>
-Date:   Fri Jan 20 22:39:54 2012 -0500
-
-    Do not cache negative results in nscd if these are transient
-
-diff -rup a/nscd/aicache.c b/nscd/aicache.c
---- a/nscd/aicache.c   2012-01-24 20:32:58.906826425 -0700
-+++ b/nscd/aicache.c   2012-01-24 20:42:17.663968882 -0700
-@@ -511,9 +511,17 @@ next_nip:
-       if (fd != -1)
-       TEMP_FAILURE_RETRY (send (fd, &notfound, total, MSG_NOSIGNAL));
--      dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len, 1);
--      /* If we cannot permanently store the result, so be it.  */
--      if (dataset != NULL)
-+      /* If we have a transient error or cannot permanently store the
-+       result, so be it.  */
-+      if (rc4 == EAGAIN || __builtin_expect (db->negtimeout == 0, 0))
-+      {
-+        /* Mark the old entry as obsolete.  */
-+        if (dh != NULL)
-+          dh->usable = false;
-+        dataset = NULL;
-+      }
-+      else if ((dataset = mempool_alloc (db, (sizeof (struct dataset)
-+                                            + req->key_len), 1)) != NULL)
-       {
-         dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
-         dataset->head.recsize = total;
-diff -rup a/nscd/grpcache.c b/nscd/grpcache.c
---- a/nscd/grpcache.c  2012-01-24 20:32:58.910826427 -0700
-+++ b/nscd/grpcache.c  2012-01-24 20:42:17.666968883 -0700
-@@ -114,13 +114,21 @@ cache_addgr (struct database_dyn *db, in
-            case.  */
-         total = sizeof (notfound);
--        written = TEMP_FAILURE_RETRY (send (fd, &notfound, total,
--                                            MSG_NOSIGNAL));
-+        if (fd != -1)
-+          written = TEMP_FAILURE_RETRY (send (fd, &notfound, total,
-+                                              MSG_NOSIGNAL));
-+        else
-+          written = total;
--        dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len,
--                                 1);
--        /* If we cannot permanently store the result, so be it.  */
--        if (dataset != NULL)
-+        /* If we have a transient error or cannot permanently store
-+           the result, so be it.  */
-+        if (errno == EAGAIN || __builtin_expect (db->negtimeout == 0, 0))
-+          {
-+            /* Mark the old entry as obsolete.  */
-+            if (dh != NULL)
-+              dh->usable = false;
-+          }
-+        else if ((dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len, 1)) != NULL)
-           {
-             dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
-             dataset->head.recsize = total;
-diff -rup a/nscd/hstcache.c b/nscd/hstcache.c
---- a/nscd/hstcache.c  2012-01-24 20:32:58.911826427 -0700
-+++ b/nscd/hstcache.c  2012-01-24 20:42:17.668968883 -0700
-@@ -141,10 +141,16 @@ cache_addhst (struct database_dyn *db, i
-                                       MSG_NOSIGNAL)) != total)
-           all_written = false;
--        dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len,
--                                 1);
--        /* If we cannot permanently store the result, so be it.  */
--        if (dataset != NULL)
-+        /* If we have a transient error or cannot permanently store
-+           the result, so be it.  */
-+        if (errval == EAGAIN || __builtin_expect (db->negtimeout == 0, 0))
-+          {
-+            /* Mark the old entry as obsolete.  */
-+            if (dh != NULL)
-+              dh->usable = false;
-+          }
-+        else if ((dataset = mempool_alloc (db, (sizeof (struct dataset)
-+                                                + req->key_len), 1)) != NULL)
-           {
-             dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
-             dataset->head.recsize = total;
-diff -rup a/nscd/initgrcache.c b/nscd/initgrcache.c
---- a/nscd/initgrcache.c       2012-01-24 20:32:58.912826427 -0700
-+++ b/nscd/initgrcache.c       2012-01-24 20:42:17.671968883 -0700
-@@ -202,10 +202,16 @@ addinitgroupsX (struct database_dyn *db,
-           written = TEMP_FAILURE_RETRY (send (fd, &notfound, total,
-                                               MSG_NOSIGNAL));
--        dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len,
--                                 1);
--        /* If we cannot permanently store the result, so be it.  */
--        if (dataset != NULL)
-+        /* If we have a transient error or cannot permanently store
-+           the result, so be it.  */
-+        if (all_tryagain || __builtin_expect (db->negtimeout == 0, 0))
-+          {
-+            /* Mark the old entry as obsolete.  */
-+            if (dh != NULL)
-+              dh->usable = false;
-+          }
-+        else if ((dataset = mempool_alloc (db, (sizeof (struct dataset)
-+                                                + req->key_len), 1)) != NULL)
-           {
-             dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
-             dataset->head.recsize = total;
-diff -rup a/nscd/pwdcache.c b/nscd/pwdcache.c
---- a/nscd/pwdcache.c  2012-01-24 20:32:58.914826427 -0700
-+++ b/nscd/pwdcache.c  2012-01-24 20:42:17.671968883 -0700
-@@ -124,10 +124,16 @@ cache_addpw (struct database_dyn *db, in
-           written = TEMP_FAILURE_RETRY (send (fd, &notfound, total,
-                                               MSG_NOSIGNAL));
--        dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len,
--                                 1);
--        /* If we cannot permanently store the result, so be it.  */
--        if (dataset != NULL)
-+        /* If we have a transient error or cannot permanently store
-+           the result, so be it.  */
-+        if (errno == EAGAIN || __builtin_expect (db->negtimeout == 0, 0))
-+          {
-+            /* Mark the old entry as obsolete.  */
-+            if (dh != NULL)
-+              dh->usable = false;
-+          }
-+        else if ((dataset = mempool_alloc (db, (sizeof (struct dataset)
-+                                                + req->key_len), 1)) != NULL)
-           {
-             dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
-             dataset->head.recsize = total;
-diff -rup a/nscd/servicescache.c b/nscd/servicescache.c
---- a/nscd/servicescache.c     2012-01-24 20:32:58.915826427 -0700
-+++ b/nscd/servicescache.c     2012-01-24 20:42:17.672968884 -0700
-@@ -102,15 +102,22 @@ cache_addserv (struct database_dyn *db,
-       {
-         /* We have no data.  This means we send the standard reply for this
-            case.  */
--        total = sizeof (notfound);
-+        written = total = sizeof (notfound);
--        written = TEMP_FAILURE_RETRY (send (fd, &notfound, total,
--                                            MSG_NOSIGNAL));
-+        if (fd != -1)
-+          written = TEMP_FAILURE_RETRY (send (fd, &notfound, total,
-+                                              MSG_NOSIGNAL));
--        dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len,
--                                 1);
--        /* If we cannot permanently store the result, so be it.  */
--        if (dataset != NULL)
-+        /* If we have a transient error or cannot permanently store
-+           the result, so be it.  */
-+        if (errval == EAGAIN || __builtin_expect (db->negtimeout == 0, 0))
-+          {
-+            /* Mark the old entry as obsolete.  */
-+            if (dh != NULL)
-+              dh->usable = false;
-+          }
-+        else if ((dataset = mempool_alloc (db, (sizeof (struct dataset)
-+                                                + req->key_len), 1)) != NULL)
-           {
-             dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
-             dataset->head.recsize = total;
diff --git a/src/patches/glibc/glibc-rh785984.patch b/src/patches/glibc/glibc-rh785984.patch
deleted file mode 100644 (file)
index 80ba5e8..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-diff -rup a/localedata/locales/zh_CN b/localedata/locales/zh_CN
---- a/localedata/locales/zh_CN 2006-07-30 16:19:43.000000000 -0600
-+++ b/localedata/locales/zh_CN 2012-01-30 21:24:46.905115483 -0700
-@@ -108,11 +108,11 @@ day      "<U661F><U671F><U65E5>";/
-       "<U661F><U671F><U4E94>";/
-       "<U661F><U671F><U516D>"
--abmon "<U0020><U0031><U6708>";"<U0020><U0032><U6708>";/
--      "<U0020><U0033><U6708>";"<U0020><U0034><U6708>";/
--      "<U0020><U0035><U6708>";"<U0020><U0036><U6708>";/
--      "<U0020><U0037><U6708>";"<U0020><U0038><U6708>";/
--      "<U0020><U0039><U6708>";"<U0031><U0030><U6708>";/
-+abmon "<U0031><U6708>";"<U0032><U6708>";/
-+      "<U0033><U6708>";"<U0034><U6708>";/
-+      "<U0035><U6708>";"<U0036><U6708>";/
-+      "<U0037><U6708>";"<U0038><U6708>";/
-+      "<U0039><U6708>";"<U0031><U0030><U6708>";/
-       "<U0031><U0031><U6708>";"<U0031><U0032><U6708>"
- mon   "<U4E00><U6708>";"<U4E8C><U6708>";"<U4E09><U6708>";/
diff --git a/src/patches/glibc/glibc-rh788959-2.patch b/src/patches/glibc/glibc-rh788959-2.patch
deleted file mode 100644 (file)
index 1147af6..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-Index: glibc-2.12-2-gc4ccff1/nscd/grpcache.c
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/nscd/grpcache.c
-+++ glibc-2.12-2-gc4ccff1/nscd/grpcache.c
-@@ -178,7 +178,8 @@ cache_addgr (struct database_dyn *db, in
-       char *cp;
-       const size_t key_len = strlen (key);
-       const size_t buf_len = 3 * sizeof (grp->gr_gid) + key_len + 1;
--      char *buf = alloca (buf_len);
-+      size_t alloca_used = 0;
-+      char *buf = alloca_account (buf_len, alloca_used);
-       ssize_t n;
-       size_t cnt;
-@@ -190,7 +191,8 @@ cache_addgr (struct database_dyn *db, in
-       /* Determine the length of all members.  */
-       while (grp->gr_mem[gr_mem_cnt])
-       ++gr_mem_cnt;
--      gr_mem_len = (uint32_t *) alloca (gr_mem_cnt * sizeof (uint32_t));
-+      gr_mem_len = (uint32_t *) alloca_account (gr_mem_cnt * sizeof (uint32_t),
-+                                              alloca_used);
-       for (gr_mem_cnt = 0; grp->gr_mem[gr_mem_cnt]; ++gr_mem_cnt)
-       {
-         gr_mem_len[gr_mem_cnt] = strlen (grp->gr_mem[gr_mem_cnt]) + 1;
-@@ -205,10 +207,10 @@ cache_addgr (struct database_dyn *db, in
-        change.  Allocate memory on the cache since it is likely
-        discarded anyway.  If it turns out to be necessary to have a
-        new record we can still allocate real memory.  */
--      bool alloca_used = false;
-+      bool dataset_in_stack_or_freed = false;
-       dataset = NULL;
--      if (he == NULL)
-+      if (he == NULL || ! __libc_use_alloca (alloca_used + total + n))
-       dataset = (struct dataset *) mempool_alloc (db, total + n, 1);
-       if (dataset == NULL)
-@@ -216,10 +218,10 @@ cache_addgr (struct database_dyn *db, in
-         /* We cannot permanently add the result in the moment.  But
-            we can provide the result as is.  Store the data in some
-            temporary memory.  */
--        dataset = (struct dataset *) alloca (total + n);
-+        dataset = (struct dataset *) alloca_account (total + n, alloca_used);
-         /* We cannot add this record to the permanent database.  */
--        alloca_used = true;
-+        dataset_in_stack_or_freed = true;
-       }
-       dataset->head.allocsize = total + n;
-@@ -273,6 +275,14 @@ cache_addgr (struct database_dyn *db, in
-                allocated on the stack and need not be freed.  */
-             dh->timeout = dataset->head.timeout;
-             ++dh->nreloads;
-+
-+            /* If the new record was not allocated on the stack, then it must
-+               be freed.  Note that it can no longer be used.  */
-+            if (! dataset_in_stack_or_freed)
-+              {
-+                free (dataset);
-+                dataset_in_stack_or_freed = true;
-+              }
-           }
-         else
-           {
-@@ -288,7 +298,7 @@ cache_addgr (struct database_dyn *db, in
-                 key_copy = (char *) newp + (key_copy - (char *) dataset);
-                 dataset = memcpy (newp, dataset, total + n);
--                alloca_used = false;
-+                dataset_in_stack_or_freed = false;
-               }
-             /* Mark the old record as obsolete.  */
-@@ -303,7 +313,7 @@ cache_addgr (struct database_dyn *db, in
-         assert (fd != -1);
- #ifdef HAVE_SENDFILE
--        if (__builtin_expect (db->mmap_used, 1) && !alloca_used)
-+        if (__builtin_expect (db->mmap_used, 1) && !dataset_in_stack_or_freed)
-           {
-             assert (db->wr_fd != -1);
-             assert ((char *) &dataset->resp > (char *) db->data);
-@@ -330,7 +340,7 @@ cache_addgr (struct database_dyn *db, in
-       /* Add the record to the database.  But only if it has not been
-        stored on the stack.  */
--      if (! alloca_used)
-+      if (! dataset_in_stack_or_freed)
-       {
-         /* If necessary, we also propagate the data to disk.  */
-         if (db->persistent)
diff --git a/src/patches/glibc/glibc-rh788959.patch b/src/patches/glibc/glibc-rh788959.patch
deleted file mode 100644 (file)
index adc6c99..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-diff -pruN glibc-2.12-2-gc4ccff1/nis/nss_compat/compat-initgroups.c glibc-2.12-2-gc4ccff1.patched/nis/nss_compat/compat-initgroups.c
---- glibc-2.12-2-gc4ccff1/nis/nss_compat/compat-initgroups.c   2010-05-04 16:57:23.000000000 +0530
-+++ glibc-2.12-2-gc4ccff1.patched/nis/nss_compat/compat-initgroups.c   2012-02-21 11:11:19.877008465 +0530
-@@ -297,6 +297,8 @@ getgrent_next_nss (ent_t *ent, char *buf
-       if (nss_initgroups_dyn (user, group, &mystart, &mysize, &mygroups,
-                             limit, errnop) == NSS_STATUS_SUCCESS)
-       {
-+        status = NSS_STATUS_NOTFOUND;
-+
-         /* If there is no blacklist we can trust the underlying
-            initgroups implementation.  */
-         if (ent->blacklist.current <= 1)
-@@ -309,6 +311,7 @@ getgrent_next_nss (ent_t *ent, char *buf
-                overwrite the pointer with one to a bigger buffer.  */
-             char *tmpbuf = buffer;
-             size_t tmplen = buflen;
-+            bool use_malloc = false;
-             for (int i = 0; i < mystart; i++)
-               {
-@@ -316,21 +319,36 @@ getgrent_next_nss (ent_t *ent, char *buf
-                                                  tmpbuf, tmplen, errnop))
-                        == NSS_STATUS_TRYAGAIN
-                        && *errnop == ERANGE)
--                  if (tmpbuf == buffer)
--                    {
--                      tmplen *= 2;
--                      tmpbuf = __alloca (tmplen);
--                    }
--                  else
--                    tmpbuf = extend_alloca (tmpbuf, tmplen, 2 * tmplen);
-+                    {
-+                      if (__libc_use_alloca (tmplen * 2))
-+                        {
-+                          if (tmpbuf == buffer)
-+                            {
-+                              tmplen *= 2;
-+                              tmpbuf = __alloca (tmplen);
-+                            }
-+                          else
-+                            tmpbuf = extend_alloca (tmpbuf, tmplen, tmplen * 2);
-+                        }
-+                      else
-+                        {
-+                          tmplen *= 2;
-+                          char *newbuf = realloc (use_malloc ? tmpbuf : NULL, tmplen);
-+                    
-+                          if (newbuf == NULL)
-+                            {
-+                              status = NSS_STATUS_TRYAGAIN;
-+                            goto done;
-+                            }
-+                          use_malloc = true;
-+                          tmpbuf = newbuf;
-+                        }
-+                    }
-                 if (__builtin_expect  (status != NSS_STATUS_NOTFOUND, 1))
-                   {
-                     if (__builtin_expect  (status != NSS_STATUS_SUCCESS, 0))
--                      {
--                        free (mygroups);
--                        return status;
--                      }
-+                      goto done;
-                     if (!in_blacklist (grpbuf.gr_name,
-                                        strlen (grpbuf.gr_name), ent)
-@@ -348,11 +366,17 @@ getgrent_next_nss (ent_t *ent, char *buf
-                       }
-                   }
-               }
-+
-+              status = NSS_STATUS_NOTFOUND;
-+
-+ done:
-+              if (use_malloc)
-+                free (tmpbuf);
-           }
-         free (mygroups);
--        return NSS_STATUS_NOTFOUND;
-+        return status;
-       }
-       free (mygroups);
-@@ -506,6 +530,7 @@ _nss_compat_initgroups_dyn (const char *
-   char *tmpbuf;
-   enum nss_status status;
-   ent_t intern = { true, false, false, NULL, {NULL, 0, 0} };
-+  bool use_malloc = false;
-   status = internal_setgrent (&intern);
-   if (status != NSS_STATUS_SUCCESS)
-@@ -519,13 +544,32 @@ _nss_compat_initgroups_dyn (const char *
-                                           user, group, start, size,
-                                           groupsp, limit, errnop))
-            == NSS_STATUS_TRYAGAIN && *errnop == ERANGE)
--      tmpbuf = extend_alloca (tmpbuf, buflen, 2 * buflen);
-+        if (__libc_use_alloca (buflen * 2))
-+          tmpbuf = extend_alloca (tmpbuf, buflen, 2 * buflen);
-+        else
-+          {
-+            buflen *= 2;
-+            char *newbuf = realloc (use_malloc ? tmpbuf : NULL, buflen);
-+            if (newbuf == NULL)
-+              {
-+                status = NSS_STATUS_TRYAGAIN;
-+                goto done;
-+              }
-+            use_malloc = true;
-+            tmpbuf = newbuf;
-+          }
-     }
-   while (status == NSS_STATUS_SUCCESS);
-+  status = NSS_STATUS_SUCCESS;
-+
-+ done:
-+  if (use_malloc)
-+    free (tmpbuf);
-+
-   internal_endgrent (&intern);
--  return NSS_STATUS_SUCCESS;
-+  return status;
- }
diff --git a/src/patches/glibc/glibc-rh789189.patch b/src/patches/glibc/glibc-rh789189.patch
deleted file mode 100644 (file)
index fc0e2e0..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -rup a/resolv/res_init.c b/resolv/res_init.c
---- a/resolv/res_init.c        2010-05-04 05:27:23.000000000 -0600
-+++ b/resolv/res_init.c        2012-02-10 10:20:24.923578396 -0700
-@@ -325,7 +325,7 @@ __res_vinit(res_state statp, int preinit
-                         struct in6_addr a6;
-                         char *el;
--                        if ((el = strchr(cp, '\n')) != NULL)
-+                        if ((el = strpbrk(cp, " \t\n")) != NULL)
-                             *el = '\0';
-                       if ((el = strchr(cp, SCOPE_DELIMITER)) != NULL)
-                           *el = '\0';
diff --git a/src/patches/glibc/glibc-rh789209.patch b/src/patches/glibc/glibc-rh789209.patch
deleted file mode 100644 (file)
index 3aea97e..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -rup a/localedata/locales/uk_UA b/localedata/locales/uk_UA
---- a/localedata/locales/uk_UA 2010-05-04 05:27:23.000000000 -0600
-+++ b/localedata/locales/uk_UA 2012-02-10 09:59:16.934189715 -0700
-@@ -700,7 +700,7 @@ LC_MONETARY
- % 200 hrv. - 200 hryven (money)
- % the local currency symbol
--currency_symbol           "<U0433><U0440>" % hr (hryvnya)
-+currency_symbol           "<U0433><U0440><U043D><U002E>"  % hr (hryvnya)
- % This must be a 4-character string containing the international currency
- % symbol as defined by the ISO 4217 standard (three characters) followed
diff --git a/src/patches/glibc/glibc-rh789238-2.patch b/src/patches/glibc/glibc-rh789238-2.patch
deleted file mode 100644 (file)
index 62b5492..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-diff -rup a/malloc/arena.c b/malloc/arena.c
---- a/malloc/arena.c   2012-03-02 10:22:47.025002715 -0700
-+++ b/malloc/arena.c   2012-03-02 10:27:47.442361529 -0700
-@@ -123,14 +123,14 @@ int __malloc_initialized = -1;
-   if(ptr) \
-     (void)mutex_lock(&ptr->mutex); \
-   else \
--    ptr = arena_get2(ptr, (size)); \
-+    ptr = arena_get2(ptr, (size), false); \
- } while(0)
- #else
- #define arena_lock(ptr, size) do { \
-   if(ptr && !mutex_trylock(&ptr->mutex)) { \
-     THREAD_STAT(++(ptr->stat_lock_direct)); \
-   } else \
--    ptr = arena_get2(ptr, (size)); \
-+    ptr = arena_get2(ptr, (size), false); \
- } while(0)
- #endif
-@@ -982,7 +982,7 @@ get_free_list (void)
- static mstate
--reused_arena (void)
-+reused_arena (bool retrying)
- {
-   mstate result;
-   static mstate next_to_use;
-@@ -999,6 +999,15 @@ reused_arena (void)
-     }
-   while (result != next_to_use);
-+  /* If we are retrying due to a failure to allocate in the main
-+     arena, don't wait for the main arena to become available, select
-+     another.
-+
-+     To really fix this right we would have to try the allocation
-+     in every other arena, but that seems like severe overkill.  */
-+  if (retrying && result == &main_arena)
-+    result = result->next;
-+
-   /* No arena available.  Wait for the next in line.  */
-   (void)mutex_lock(&result->mutex);
-@@ -1014,9 +1023,9 @@ reused_arena (void)
- static mstate
- internal_function
- #if __STD_C
--arena_get2(mstate a_tsd, size_t size)
-+arena_get2(mstate a_tsd, size_t size, bool retrying)
- #else
--arena_get2(a_tsd, size) mstate a_tsd; size_t size;
-+arena_get2(a_tsd, size, retrying) mstate a_tsd; size_t size; bool retrying
- #endif
- {
-   mstate a;
-@@ -1055,7 +1064,7 @@ arena_get2(a_tsd, size) mstate a_tsd; si
-           catomic_decrement (&narenas);
-       }
-       else
--      a = reused_arena ();
-+      a = reused_arena (retrying);
-     }
- #else
-   if(!a_tsd)
-diff -rup a/malloc/malloc.c b/malloc/malloc.c
---- a/malloc/malloc.c  2012-03-02 10:22:47.061002519 -0700
-+++ b/malloc/malloc.c  2012-03-02 10:23:53.151643863 -0700
-@@ -3671,7 +3671,7 @@ public_mALLOc(size_t bytes)
-       /* ... or sbrk() has failed and there is still a chance to mmap() */
-       mstate prev = ar_ptr->next ? ar_ptr : 0;
-       (void)mutex_unlock(&ar_ptr->mutex);
--      ar_ptr = arena_get2(prev, bytes);
-+      ar_ptr = arena_get2(prev, bytes, true);
-       if(ar_ptr) {
-       victim = _int_malloc(ar_ptr, bytes);
-       (void)mutex_unlock(&ar_ptr->mutex);
-@@ -3892,7 +3892,7 @@ public_mEMALIGn(size_t alignment, size_t
-       /* ... or sbrk() has failed and there is still a chance to mmap() */
-       mstate prev = ar_ptr->next ? ar_ptr : 0;
-       (void)mutex_unlock(&ar_ptr->mutex);
--      ar_ptr = arena_get2(prev, bytes);
-+      ar_ptr = arena_get2(prev, bytes, true);
-       if(ar_ptr) {
-       p = _int_memalign(ar_ptr, alignment, bytes);
-       (void)mutex_unlock(&ar_ptr->mutex);
-@@ -3943,7 +3943,7 @@ public_vALLOc(size_t bytes)
-       /* ... or sbrk() has failed and there is still a chance to mmap() */
-       mstate prev = ar_ptr->next ? ar_ptr : 0;
-       (void)mutex_unlock(&ar_ptr->mutex);
--      ar_ptr = arena_get2(prev, bytes);
-+      ar_ptr = arena_get2(prev, bytes, true);
-       if(ar_ptr) {
-       p = _int_memalign(ar_ptr, pagesz, bytes);
-       (void)mutex_unlock(&ar_ptr->mutex);
-@@ -3992,7 +3992,7 @@ public_pVALLOc(size_t bytes)
-       /* ... or sbrk() has failed and there is still a chance to mmap() */
-       mstate prev = ar_ptr->next ? ar_ptr : 0;
-       (void)mutex_unlock(&ar_ptr->mutex);
--      ar_ptr = arena_get2(prev, bytes + 2*pagesz + MINSIZE);
-+      ar_ptr = arena_get2(prev, bytes + 2*pagesz + MINSIZE, true);
-       if(ar_ptr) {
-       p = _int_memalign(ar_ptr, pagesz, rounded_bytes);
-       (void)mutex_unlock(&ar_ptr->mutex);
-@@ -4086,7 +4086,7 @@ public_cALLOc(size_t n, size_t elem_size
-       /* ... or sbrk() has failed and there is still a chance to mmap() */
-       mstate prev = av->next ? av : 0;
-       (void)mutex_unlock(&av->mutex);
--      av = arena_get2(prev, sz);
-+      av = arena_get2(prev, sz, true);
-       if(av) {
-       mem = _int_malloc(av, sz);
-       (void)mutex_unlock(&av->mutex);
diff --git a/src/patches/glibc/glibc-rh789238.patch b/src/patches/glibc/glibc-rh789238.patch
deleted file mode 100644 (file)
index f2c90e2..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-diff -rup a/malloc/malloc.c b/malloc/malloc.c
---- a/malloc/malloc.c  2012-02-13 21:46:11.678847531 -0700
-+++ b/malloc/malloc.c  2012-02-13 22:43:14.788431976 -0700
-@@ -3669,8 +3669,9 @@ public_mALLOc(size_t bytes)
-     } else {
- #if USE_ARENAS
-       /* ... or sbrk() has failed and there is still a chance to mmap() */
--      ar_ptr = arena_get2(ar_ptr->next ? ar_ptr : 0, bytes);
--      (void)mutex_unlock(&main_arena.mutex);
-+      mstate prev = ar_ptr->next ? ar_ptr : 0;
-+      (void)mutex_unlock(&ar_ptr->mutex);
-+      ar_ptr = arena_get2(prev, bytes);
-       if(ar_ptr) {
-       victim = _int_malloc(ar_ptr, bytes);
-       (void)mutex_unlock(&ar_ptr->mutex);
-@@ -3929,10 +3930,10 @@ public_vALLOc(size_t bytes)
-   if(!ar_ptr)
-     return 0;
-   p = _int_valloc(ar_ptr, bytes);
--  (void)mutex_unlock(&ar_ptr->mutex);
-   if(!p) {
-     /* Maybe the failure is due to running out of mmapped areas. */
-     if(ar_ptr != &main_arena) {
-+      (void)mutex_unlock(&ar_ptr->mutex);
-       ar_ptr = &main_arena;
-       (void)mutex_lock(&ar_ptr->mutex);
-       p = _int_memalign(ar_ptr, pagesz, bytes);
-@@ -3940,14 +3941,17 @@ public_vALLOc(size_t bytes)
-     } else {
- #if USE_ARENAS
-       /* ... or sbrk() has failed and there is still a chance to mmap() */
--      ar_ptr = arena_get2(ar_ptr->next ? ar_ptr : 0, bytes);
-+      mstate prev = ar_ptr->next ? ar_ptr : 0;
-+      (void)mutex_unlock(&ar_ptr->mutex);
-+      ar_ptr = arena_get2(prev, bytes);
-       if(ar_ptr) {
-       p = _int_memalign(ar_ptr, pagesz, bytes);
-       (void)mutex_unlock(&ar_ptr->mutex);
-       }
- #endif
-     }
--  }
-+  } else
-+    (void)mutex_unlock(&ar_ptr->mutex);
-   assert(!p || chunk_is_mmapped(mem2chunk(p)) ||
-        ar_ptr == arena_for_chunk(mem2chunk(p)));
-@@ -3975,10 +3979,10 @@ public_pVALLOc(size_t bytes)
-   arena_get(ar_ptr, bytes + 2*pagesz + MINSIZE);
-   p = _int_pvalloc(ar_ptr, bytes);
--  (void)mutex_unlock(&ar_ptr->mutex);
-   if(!p) {
-     /* Maybe the failure is due to running out of mmapped areas. */
-     if(ar_ptr != &main_arena) {
-+      (void)mutex_unlock(&ar_ptr->mutex);
-       ar_ptr = &main_arena;
-       (void)mutex_lock(&ar_ptr->mutex);
-       p = _int_memalign(ar_ptr, pagesz, rounded_bytes);
-@@ -3986,15 +3990,17 @@ public_pVALLOc(size_t bytes)
-     } else {
- #if USE_ARENAS
-       /* ... or sbrk() has failed and there is still a chance to mmap() */
--      ar_ptr = arena_get2(ar_ptr->next ? ar_ptr : 0,
--                        bytes + 2*pagesz + MINSIZE);
-+      mstate prev = ar_ptr->next ? ar_ptr : 0;
-+      (void)mutex_unlock(&ar_ptr->mutex);
-+      ar_ptr = arena_get2(prev, bytes + 2*pagesz + MINSIZE);
-       if(ar_ptr) {
-       p = _int_memalign(ar_ptr, pagesz, rounded_bytes);
-       (void)mutex_unlock(&ar_ptr->mutex);
-       }
- #endif
-     }
--  }
-+  } else
-+    (void)mutex_unlock(&ar_ptr->mutex);
-   assert(!p || chunk_is_mmapped(mem2chunk(p)) ||
-        ar_ptr == arena_for_chunk(mem2chunk(p)));
-@@ -4064,8 +4070,6 @@ public_cALLOc(size_t n, size_t elem_size
- #endif
-   mem = _int_malloc(av, sz);
--  /* Only clearing follows, so we can unlock early. */
--  (void)mutex_unlock(&av->mutex);
-   assert(!mem || chunk_is_mmapped(mem2chunk(mem)) ||
-        av == arena_for_chunk(mem2chunk(mem)));
-@@ -4073,15 +4077,16 @@ public_cALLOc(size_t n, size_t elem_size
-   if (mem == 0) {
-     /* Maybe the failure is due to running out of mmapped areas. */
-     if(av != &main_arena) {
-+      (void)mutex_unlock(&av->mutex);
-       (void)mutex_lock(&main_arena.mutex);
-       mem = _int_malloc(&main_arena, sz);
-       (void)mutex_unlock(&main_arena.mutex);
-     } else {
- #if USE_ARENAS
-       /* ... or sbrk() has failed and there is still a chance to mmap() */
--      (void)mutex_lock(&main_arena.mutex);
--      av = arena_get2(av->next ? av : 0, sz);
--      (void)mutex_unlock(&main_arena.mutex);
-+      mstate prev = av->next ? av : 0;
-+      (void)mutex_unlock(&av->mutex);
-+      av = arena_get2(prev, sz);
-       if(av) {
-       mem = _int_malloc(av, sz);
-       (void)mutex_unlock(&av->mutex);
-@@ -4089,7 +4094,8 @@ public_cALLOc(size_t n, size_t elem_size
- #endif
-     }
-     if (mem == 0) return 0;
--  }
-+  } else
-+    (void)mutex_unlock(&av->mutex);
-   p = mem2chunk(mem);
-   /* Two optional cases in which clearing not necessary */
diff --git a/src/patches/glibc/glibc-rh794817-2.patch b/src/patches/glibc/glibc-rh794817-2.patch
deleted file mode 100644 (file)
index 15774b4..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-diff -rup a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c
---- a/stdio-common/vfprintf.c  2012-03-05 09:43:14.705536167 -0700
-+++ b/stdio-common/vfprintf.c  2012-03-05 09:48:11.602890982 -0700
-@@ -822,7 +822,7 @@ vfprintf (FILE *s, const CHAR_T *format,
-                                                                             \
-       if (function_done < 0)                                                \
-         {                                                                   \
--          /* Error in print handler.  */                                    \
-+          /* Error in print handler; up to handler to set errno.  */        \
-           done = -1;                                                        \
-           goto all_done;                                                    \
-         }                                                                   \
-@@ -876,7 +876,7 @@ vfprintf (FILE *s, const CHAR_T *format,
-                                                                             \
-       if (function_done < 0)                                                \
-         {                                                                   \
--          /* Error in print handler.  */                                    \
-+          /* Error in print handler; up to handler to set errno.  */        \
-           done = -1;                                                        \
-           goto all_done;                                                    \
-         }                                                                   \
-@@ -1117,7 +1117,7 @@ vfprintf (FILE *s, const CHAR_T *format,
-                        &mbstate);                                           \
-       if (len == (size_t) -1)                                               \
-         {                                                                   \
--          /* Something went wron gduring the conversion.  Bail out.  */     \
-+          /* Something went wrong during the conversion.  Bail out.  */     \
-           done = -1;                                                        \
-           goto all_done;                                                    \
-         }                                                                   \
-@@ -1188,6 +1188,7 @@ vfprintf (FILE *s, const CHAR_T *format,
-                     if (__mbsnrtowcs (ignore, &str2, strend - str2,         \
-                                       ignore_size, &ps) == (size_t) -1)     \
-                       {                                                     \
-+                        /* Conversion function has set errno.  */           \
-                         done = -1;                                          \
-                         goto all_done;                                      \
-                       }                                                     \
-@@ -1599,6 +1600,7 @@ vfprintf (FILE *s, const CHAR_T *format,
-         if (spec == L_('\0'))
-           {
-             /* The format string ended before the specifier is complete.  */
-+            __set_errno (EINVAL);
-             done = -1;
-             goto all_done;
-           }
-@@ -1696,17 +1698,20 @@ do_positional:
-     /* Determine the number of arguments the format string consumes.  */
-     nargs = MAX (nargs, max_ref_arg);
-+    /* Calculate total size needed to represent a single argument across
-+       all three argument-related arrays.  */
-     bytes_per_arg = sizeof (*args_value) + sizeof (*args_size)
-                     + sizeof (*args_type);
-     /* Check for potential integer overflow.  */
--    if (nargs > SIZE_MAX / bytes_per_arg)
-+    if (__builtin_expect (nargs > SIZE_MAX / bytes_per_arg, 0))
-       {
-+         __set_errno (ERANGE);
-          done = -1;
-          goto all_done;
-       }
--    /* Allocate memory for the argument descriptions.  */
-+    /* Allocate memory for all three argument arrays.  */
-     if (__libc_use_alloca (nargs * bytes_per_arg))
-         args_value = alloca (nargs * bytes_per_arg);
-     else
-@@ -1937,6 +1942,7 @@ do_positional:
-                      about # of chars.  */
-                   if (function_done < 0)
-                     {
-+                      /* Function has set errno.  */
-                       done = -1;
-                       goto all_done;
-                     }
-@@ -1971,6 +1977,7 @@ do_positional:
-                of chars.  */
-             if (function_done < 0)
-               {
-+                /* Function has set errno.  */
-                 done = -1;
-                 goto all_done;
-               }
diff --git a/src/patches/glibc/glibc-rh794817.patch b/src/patches/glibc/glibc-rh794817.patch
deleted file mode 100644 (file)
index e21caaa..0000000
+++ /dev/null
@@ -1,239 +0,0 @@
-From libc-alpha-return-25252-listarch-libc-alpha=sources dot redhat dot com at sourceware dot org Thu Feb 16 16:21:17 2012
-Return-Path: <libc-alpha-return-25252-listarch-libc-alpha=sources dot redhat dot com at sourceware dot org>
-Delivered-To: listarch-libc-alpha at sources dot redhat dot com
-Received: (qmail 5187 invoked by alias); 16 Feb 2012 16:21:14 -0000
-Delivered-To: moderator for libc-alpha at sourceware dot org
-Received: (qmail 2174 invoked by uid 22791); 16 Feb 2012 16:17:18 -0000
-X-SWARE-Spam-Status: No, hits=-2.0 required=5.0
-       tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,TW_TV,TW_VB,TW_VF,T_RP_MATCHES_RCVD
-X-Spam-Check-By: sourceware.org
-Date: Thu, 16 Feb 2012 08:16:13 -0800
-From: Kees Cook <kees at outflux dot net>
-To: "Ryan S dot  Arnold" <ryan dot arnold at gmail dot com>
-Cc: libc-alpha at sourceware dot org, Paul Eggert <eggert at cs dot ucla dot edu>,
-        Roland McGrath <roland at hack dot frob dot com>,
-        Andreas Schwab <schwab at linux-m68k dot org>
-Subject: Re: [PATCH] vfprintf: validate nargs and maybe allocate from heap
-Message-ID: <20120216161613.GZ20420@outflux.net>
-References: <20120206062537.GM4979@outflux.net>
- <20120207000509 dot GP4989 at outflux dot net>
- <20120210192457 dot GF20420 at outflux dot net>
- <CAAKybw8AgkGsKAx=kvX4Tsi74f+HtuVnatTCB0VfsHi7vVFi1Q at mail dot gmail dot com>
- <20120214223048 dot GM20420 at outflux dot net>
- <CAAKybw_HS+cav+YcDw3ns7UXu6_xA7EHPrkiB87P+OGwEB0PVQ at mail dot gmail dot com>
- <20120214224543 dot GN20420 at outflux dot net>
-MIME-Version: 1.0
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: inline
-In-Reply-To: <20120214224543 dot GN20420 at outflux dot net>
-X-MIMEDefang-Filter: outflux$Revision: 1.316 $
-X-HELO: www.outflux.net
-Mailing-List: contact libc-alpha-help at sourceware dot org; run by ezmlm
-Precedence: bulk
-List-Id: <libc-alpha.sourceware.org>
-List-Subscribe: <mailto:libc-alpha-subscribe at sourceware dot org>
-List-Archive: <http://sourceware.org/ml/libc-alpha/>
-List-Post: <mailto:libc-alpha at sourceware dot org>
-List-Help: <mailto:libc-alpha-help at sourceware dot org>, <http://sourceware dot org/ml/#faqs>
-Sender: libc-alpha-owner at sourceware dot org
-Delivered-To: mailing list libc-alpha at sourceware dot org
-
-The nargs value can overflow when doing allocations, allowing arbitrary
-memory writes via format strings, bypassing _FORTIFY_SOURCE:
-http://www.phrack.org/issues.html?issue=67&id=9
-
-This checks for nargs overflow and possibly allocates from heap instead of
-stack, and adds a regression test for the situation.
-
-I have FSF assignment via Google. (Sent from @outflux since that's how I'm
-subscribed here, but CL shows @chromium.org as part of my Google work.)
-
-This version disables the useless test on non-32-bit platforms.
-
-2012-02-16  Kees Cook  <keescook@chromium.org>
-
-       [BZ #13656]
-       * stdio-common/vfprintf.c (vfprintf): Check for nargs overflow and
-       possibly allocate from heap instead of stack.
-       * stdio-common/bug-vfprintf-nargs.c: New file.
-       * stdio-common/Makefile (tests): Add nargs overflow test.
-
-diff -rup a/stdio-common/Makefile b/stdio-common/Makefile
---- a/stdio-common/Makefile    2010-05-04 05:27:23.000000000 -0600
-+++ b/stdio-common/Makefile    2012-02-20 21:57:52.983040992 -0700
-@@ -60,7 +60,7 @@ tests := tstscanf test_rdwr test-popen t
-        tst-popen tst-unlockedio tst-fmemopen2 tst-put-error tst-fgets \
-        tst-fwrite bug16 bug17 tst-swscanf tst-sprintf2 bug18 bug18a \
-        bug19 bug19a tst-popen2 scanf13 scanf14 scanf15 bug20 bug21 bug22 \
--       scanf16 scanf17 tst-setvbuf1
-+       scanf16 scanf17 tst-setvbuf1 bug-vfprintf-nargs
- test-srcs = tst-unbputc tst-printf
-diff --git a/stdio-common/bug-vfprintf-nargs.c b/stdio-common/bug-vfprintf-nargs.c
-new file mode 100644
-index 0000000..13c66c0
---- /dev/null
-+++ b/stdio-common/bug-vfprintf-nargs.c
-@@ -0,0 +1,78 @@
-+/* Test for vfprintf nargs allocation overflow (BZ #13656).
-+   Copyright (C) 2012 Free Software Foundation, Inc.
-+   This file is part of the GNU C Library.
-+   Contributed by Kees Cook <keescook@chromium.org>, 2012.
-+
-+   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 <stdio.h>
-+#include <stdlib.h>
-+#include <stdint.h>
-+#include <unistd.h>
-+#include <inttypes.h>
-+#include <string.h>
-+#include <signal.h>
-+
-+static int
-+format_failed (const char *fmt, const char *expected)
-+{
-+  char output[80];
-+
-+  printf ("%s : ", fmt);
-+
-+  memset (output, 0, sizeof output);
-+  /* Having sprintf itself detect a failure is good.  */
-+  if (sprintf (output, fmt, 1, 2, 3, "test") > 0
-+      && strcmp (output, expected) != 0)
-+    {
-+      printf ("FAIL (output '%s' != expected '%s')\n", output, expected);
-+      return 1;
-+    }
-+  puts ("ok");
-+  return 0;
-+}
-+
-+static int
-+do_test (void)
-+{
-+  int rc = 0;
-+  char buf[64];
-+
-+  /* Regular positionals work.  */
-+  if (format_failed ("%1$d", "1") != 0)
-+    rc = 1;
-+
-+  /* Regular width positionals work.  */
-+  if (format_failed ("%1$*2$d", " 1") != 0)
-+    rc = 1;
-+
-+  /* Positional arguments are constructed via read_int, so nargs can only
-+     overflow on 32-bit systems.  On 64-bit systems, it will attempt to
-+     allocate a giant amount of memory and possibly crash, which is the
-+     expected situation.  Since the 64-bit behavior is arch-specific, only
-+     test this on 32-bit systems.  */
-+  if (sizeof (long int) == 4)
-+    {
-+      sprintf (buf, "%%1$d %%%" PRIdPTR "$d", UINT32_MAX / sizeof (int));
-+      if (format_failed (buf, "1 %$d") != 0)
-+        rc = 1;
-+    }
-+
-+  return rc;
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
-diff --git a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c
-index 863cd5d..022e72b 100644
---- a/stdio-common/vfprintf.c
-+++ b/stdio-common/vfprintf.c
-@@ -235,6 +235,9 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap)
-      0 if unknown.  */
-   int readonly_format = 0;
-+  /* For the argument descriptions, which may be allocated on the heap.  */
-+  void *args_malloced = NULL;
-+
-   /* This table maps a character into a number representing a
-      class.  In each step there is a destination label for each
-      class.  */
-@@ -1647,9 +1650,10 @@ do_positional:
-        determine the size of the array needed to store the argument
-        attributes.  */
-     size_t nargs = 0;
--    int *args_type;
--    union printf_arg *args_value = NULL;
-+    size_t bytes_per_arg;
-+    union printf_arg *args_value;
-     int *args_size;
-+    int *args_type;
-     /* Positional parameters refer to arguments directly.  This could
-        also determine the maximum number of arguments.  Track the
-@@ -1698,13 +1702,33 @@ do_positional:
-     /* Determine the number of arguments the format string consumes.  */
-     nargs = MAX (nargs, max_ref_arg);
-+    bytes_per_arg = sizeof (*args_value) + sizeof (*args_size)
-+                    + sizeof (*args_type);
-+
-+    /* Check for potential integer overflow.  */
-+    if (nargs > SIZE_MAX / bytes_per_arg)
-+      {
-+         done = -1;
-+         goto all_done;
-+      }
-     /* Allocate memory for the argument descriptions.  */
--    args_type = alloca (nargs * sizeof (int));
-+    if (__libc_use_alloca (nargs * bytes_per_arg))
-+        args_value = alloca (nargs * bytes_per_arg);
-+    else
-+      {
-+        args_value = args_malloced = malloc (nargs * bytes_per_arg);
-+        if (args_value == NULL)
-+          {
-+            done = -1;
-+            goto all_done;
-+          }
-+      }
-+
-+    args_size = &args_value[nargs].pa_int;
-+    args_type = &args_size[nargs];
-     memset (args_type, s->_flags2 & _IO_FLAGS2_FORTIFY ? '\xff' : '\0',
--          nargs * sizeof (int));
--    args_value = alloca (nargs * sizeof (union printf_arg));
--    args_size = alloca (nargs * sizeof (int));
-+          nargs * sizeof (*args_type));
-     /* XXX Could do sanity check here: If any element in ARGS_TYPE is
-        still zero after this loop, format is invalid.  For now we
-@@ -1973,8 +1997,8 @@ do_positional:
-   }
- all_done:
--  if (__builtin_expect (workstart != NULL, 0))
--    free (workstart);
-+  free (args_malloced);
-+  free (workstart);
-   /* Unlock the stream.  */
-   _IO_funlockfile (s);
-   _IO_cleanup_region_end (0);
--- 
-1.7.5.4
-
--- 
-Kees Cook                                            @outflux.net
-
diff --git a/src/patches/glibc/glibc-rh795498.patch b/src/patches/glibc/glibc-rh795498.patch
deleted file mode 100644 (file)
index 729c5a4..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c
-index 01369f6..44ad04d 100644
---- a/resolv/nss_dns/dns-host.c
-+++ b/resolv/nss_dns/dns-host.c
-@@ -1219,7 +1219,7 @@ gaih_getanswer (const querybuf *answer1, int anslen1, const querybuf *answer2,
-                                 &first);
-   if ((status == NSS_STATUS_SUCCESS || status == NSS_STATUS_NOTFOUND
-        || (status == NSS_STATUS_TRYAGAIN
--         && (errno != ERANGE || *h_errnop != NO_RECOVERY)))
-+         && (*errnop != ERANGE || *h_errnop == NO_RECOVERY)))
-       && answer2 != NULL && anslen2 > 0)
-     {
-       enum nss_status status2 = gaih_getanswer_slice(answer2, anslen2, qname,
diff --git a/src/patches/glibc/glibc-rh797094-1.patch b/src/patches/glibc/glibc-rh797094-1.patch
deleted file mode 100644 (file)
index e98b9c0..0000000
+++ /dev/null
@@ -1,657 +0,0 @@
-diff -rup a/include/alloca.h b/include/alloca.h
---- a/include/alloca.h 2012-02-29 13:11:19.439693476 -0700
-+++ b/include/alloca.h 2012-02-29 13:11:49.832530623 -0700
-@@ -49,15 +49,24 @@ libc_hidden_proto (__libc_alloca_cutoff)
- #if defined stackinfo_get_sp && defined stackinfo_sub_sp
- # define alloca_account(size, avar) \
--  ({ void *old__ = stackinfo_get_sp ();                       \
--     void *m__ = __alloca (size);                     \
--     avar += stackinfo_sub_sp (old__);                        \
-+  ({ void *old__ = stackinfo_get_sp ();                                             \
-+     void *m__ = __alloca (size);                                           \
-+     avar += stackinfo_sub_sp (old__);                                              \
-+     m__; })
-+# define extend_alloca_account(buf, len, newlen, avar) \
-+  ({ void *old__ = stackinfo_get_sp ();                                             \
-+     void *m__ = extend_alloca (buf, len, newlen);                          \
-+     avar += stackinfo_sub_sp (old__);                                              \
-      m__; })
- #else
- # define alloca_account(size, avar) \
--  ({ size_t s__ = (size);                 \
--     avar += s__;                         \
-+  ({ size_t s__ = (size);                                                   \
-+     avar += s__;                                                           \
-      __alloca (s__); })
-+# define extend_alloca_account(buf, len, newlen, avar) \
-+  ({ size_t s__ = (newlen);                                                 \
-+     avar += s__;                                                           \
-+     extend_alloca (buf, len, s__); })
- #endif
- #endif
-diff -rup a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
---- a/sysdeps/posix/getaddrinfo.c      2012-02-29 13:11:19.588692676 -0700
-+++ b/sysdeps/posix/getaddrinfo.c      2012-02-29 13:12:42.972245862 -0700
-@@ -278,6 +278,7 @@ gaih_inet (const char *name, const struc
-   bool got_ipv6 = false;
-   const char *canon = NULL;
-   const char *orig_name = name;
-+  size_t alloca_used = 0;
-   if (req->ai_protocol || req->ai_socktype)
-     {
-@@ -310,7 +311,7 @@ gaih_inet (const char *name, const struc
-         if (tp->name[0])
-           {
-             st = (struct gaih_servtuple *)
--              __alloca (sizeof (struct gaih_servtuple));
-+              alloca_account (sizeof (struct gaih_servtuple), alloca_used);
-             if ((rc = gaih_inet_serv (service->name, tp, req, st)))
-               return rc;
-@@ -334,7 +335,8 @@ gaih_inet (const char *name, const struc
-                   continue;
-                 newp = (struct gaih_servtuple *)
--                  __alloca (sizeof (struct gaih_servtuple));
-+                  alloca_account (sizeof (struct gaih_servtuple),
-+                                  alloca_used);
-                 if ((rc = gaih_inet_serv (service->name, tp, req, newp)))
-                   {
-@@ -362,7 +364,7 @@ gaih_inet (const char *name, const struc
-       if (req->ai_socktype || req->ai_protocol)
-       {
--        st = __alloca (sizeof (struct gaih_servtuple));
-+        st = alloca_account (sizeof (struct gaih_servtuple), alloca_used);
-         st->next = NULL;
-         st->socktype = tp->socktype;
-         st->protocol = ((tp->protoflag & GAI_PROTO_PROTOANY)
-@@ -379,7 +381,8 @@ gaih_inet (const char *name, const struc
-             {
-               struct gaih_servtuple *newp;
--              newp = __alloca (sizeof (struct gaih_servtuple));
-+              newp = alloca_account (sizeof (struct gaih_servtuple),
-+                                     alloca_used);
-               newp->next = NULL;
-               newp->socktype = tp->socktype;
-               newp->protocol = tp->protocol;
-@@ -391,10 +394,17 @@ gaih_inet (const char *name, const struc
-       }
-     }
-+  bool malloc_name = false;
-+  bool malloc_addrmem = false;
-+  struct gaih_addrtuple *addrmem = NULL;
-+  bool malloc_canonbuf = false;
-+  char *canonbuf = NULL;
-+  bool malloc_tmpbuf = false;
-+  char *tmpbuf = NULL;
-+  int result = 0;
-   if (name != NULL)
-     {
--      at = __alloca (sizeof (struct gaih_addrtuple));
--
-+      at = alloca_account (sizeof (struct gaih_addrtuple), alloca_used);
-       at->family = AF_UNSPEC;
-       at->scopeid = 0;
-       at->next = NULL;
-@@ -412,6 +422,7 @@ gaih_inet (const char *name, const struc
-         rc = __idna_to_ascii_lz (name, &p, idn_flags);
-         if (rc != IDNA_SUCCESS)
-           {
-+            /* No need to jump to free_and_return here.  */
-             if (rc == IDNA_MALLOC_ERROR)
-               return -EAI_MEMORY;
-             if (rc == IDNA_DLOPEN_ERROR)
-@@ -421,10 +432,7 @@ gaih_inet (const char *name, const struc
-         /* In case the output string is the same as the input string
-            no new string has been allocated.  */
-         if (p != name)
--          {
--            name = strdupa (p);
--            free (p);
--          }
-+          malloc_name = true;
-       }
- #endif
-@@ -441,23 +449,59 @@ gaih_inet (const char *name, const struc
-             at->family = AF_INET6;
-           }
-         else
--          return -EAI_ADDRFAMILY;
-+          {
-+            result = -EAI_ADDRFAMILY;
-+            goto free_and_return;
-+          }
-         if (req->ai_flags & AI_CANONNAME)
-           canon = name;
-       }
-       else if (at->family == AF_UNSPEC)
-       {
--        char *namebuf = (char *) name;
-         char *scope_delim = strchr (name, SCOPE_DELIMITER);
-+        int e;
--        if (__builtin_expect (scope_delim != NULL, 0))
--          {
--            namebuf = alloca (scope_delim - name + 1);
--            *((char *) __mempcpy (namebuf, name, scope_delim - name)) = '\0';
--          }
-+        {
-+          bool malloc_namebuf = false;
-+          char *namebuf = (char *) name;
-+
-+          if (__builtin_expect (scope_delim != NULL, 0))
-+            {
-+              if (malloc_name)
-+                *scope_delim = '\0';
-+              else
-+                {
-+                  if (__libc_use_alloca (alloca_used
-+                                         + scope_delim - name + 1))
-+                    {
-+                      namebuf = alloca_account (scope_delim - name + 1,
-+                                                alloca_used);
-+                      *((char *) __mempcpy (namebuf, name,
-+                                            scope_delim - name)) = '\0';
-+                    }
-+                  else
-+                    {
-+                      namebuf = strndup (name, scope_delim - name);
-+                      if (namebuf == NULL)
-+                        {
-+                          assert (!malloc_name);
-+                          return -EAI_MEMORY;
-+                        }
-+                      malloc_namebuf = true;
-+                    }
-+                }
-+            }
--        if (inet_pton (AF_INET6, namebuf, at->addr) > 0)
-+          e = inet_pton (AF_INET6, namebuf, at->addr);
-+
-+          if (malloc_namebuf)
-+            free (namebuf);
-+          else if (scope_delim != NULL && malloc_name)
-+            /* Undo what we did above.  */
-+            *scope_delim = SCOPE_DELIMITER;
-+        }
-+        if (e > 0)
-           {
-             if (req->ai_family == AF_UNSPEC || req->ai_family == AF_INET6)
-               at->family = AF_INET6;
-@@ -468,7 +512,10 @@ gaih_inet (const char *name, const struc
-                 at->family = AF_INET;
-               }
-             else
--              return -EAI_ADDRFAMILY;
-+              {
-+                result = -EAI_ADDRFAMILY;
-+                goto free_and_return;
-+              }
-             if (scope_delim != NULL)
-               {
-@@ -490,7 +537,10 @@ gaih_inet (const char *name, const struc
-                     at->scopeid = (uint32_t) strtoul (scope_delim + 1, &end,
-                                                       10);
-                     if (*end != '\0')
--                      return GAIH_OKIFUNSPEC | -EAI_NONAME;
-+                      {
-+                        result = GAIH_OKIFUNSPEC | -EAI_NONAME;
-+                        goto free_and_return;
-+                      }
-                   }
-               }
-@@ -520,59 +570,80 @@ gaih_inet (const char *name, const struc
-           {
-             int family = req->ai_family;
-             size_t tmpbuflen = 512;
--            char *tmpbuf = alloca (tmpbuflen);
-+            assert (tmpbuf == NULL);
-+            tmpbuf = alloca_account (tmpbuflen, alloca_used);
-             int rc;
-             struct hostent th;
-             struct hostent *h;
-             int herrno;
--          simple_again:
-             while (1)
-               {
--                rc = __gethostbyname2_r (name, family, &th, tmpbuf,
-+                rc = __gethostbyname2_r (name, AF_INET, &th, tmpbuf,
-                                          tmpbuflen, &h, &herrno);
-                 if (rc != ERANGE || herrno != NETDB_INTERNAL)
-                   break;
--                tmpbuf = extend_alloca (tmpbuf, tmpbuflen, 2 * tmpbuflen);
-+
-+                if (!malloc_tmpbuf
-+                    && __libc_use_alloca (alloca_used + 2 * tmpbuflen))
-+                  tmpbuf = extend_alloca_account (tmpbuf, tmpbuflen,
-+                                                  2 * tmpbuflen,
-+                                                  alloca_used);
-+                else
-+                  {
-+                    char *newp = realloc (malloc_tmpbuf ? tmpbuf : NULL,
-+                                          2 * tmpbuflen);
-+                    if (newp == NULL)
-+                      {
-+                        result = -EAI_MEMORY;
-+                        goto free_and_return;
-+                      }
-+                    tmpbuf = newp;
-+                    malloc_tmpbuf = true;
-+                    tmpbuflen = 2 * tmpbuflen;
-+                  }
-               }
-             if (rc == 0)
-               {
--                if (h == NULL)
-+                if (h != NULL)
-                   {
--                    if (req->ai_family == AF_INET6
--                        && (req->ai_flags & AI_V4MAPPED)
--                        && family == AF_INET6)
-+                    int i;
-+                    /* We found data, count the number of addresses.  */
-+                    for (i = 0; h->h_addr_list[i]; ++i)
-+                      ;
-+                    if (i > 0 && *pat != NULL)
-+                      --i;
-+
-+                    if (__libc_use_alloca (alloca_used
-+                                           + i * sizeof (struct gaih_addrtuple)))
-+                      addrmem = alloca_account (i * sizeof (struct gaih_addrtuple),
-+                                                alloca_used);
-+                    else
-                       {
--                        /* Try again, this time looking for IPv4
--                           addresses.  */
--                        family = AF_INET;
--                        goto simple_again;
-+                        addrmem = malloc (i
-+                                          * sizeof (struct gaih_addrtuple));
-+                        if (addrmem == NULL)
-+                      {
-+                            result = -EAI_MEMORY;
-+                            goto free_and_return;
-                       }
-+                        malloc_addrmem = true;
-                   }
--                else
--                  {
--                    /* We found data, now convert it into the list.  */
--                    for (int i = 0; h->h_addr_list[i]; ++i)
-+
-+                    /* Now convert it into the list.  */
-+                    struct gaih_addrtuple *addrfree = addrmem;
-+                    for (i = 0; h->h_addr_list[i]; ++i)
-                       {
-                         if (*pat == NULL)
-                           {
--                            *pat = __alloca (sizeof (struct gaih_addrtuple));
-+                            *pat = addrfree++;
-                             (*pat)->scopeid = 0;
-                           }
-                         (*pat)->next = NULL;
--                        (*pat)->family = req->ai_family;
--                        if (family == req->ai_family)
-+                        (*pat)->family = AF_INET;
-                           memcpy ((*pat)->addr, h->h_addr_list[i],
-                                   h->h_length);
--                        else
--                          {
--                            uint32_t *addr = (uint32_t *) (*pat)->addr;
--                            addr[3] = *(uint32_t *) h->h_addr_list[i];
--                            addr[2] = htonl (0xffff);
--                            addr[1] = 0;
--                            addr[0] = 0;
--                          }
-                         pat = &((*pat)->next);
-                       }
-                   }
-@@ -582,15 +653,16 @@ gaih_inet (const char *name, const struc
-                 if (herrno == NETDB_INTERNAL)
-                   {
-                     __set_h_errno (herrno);
--                    return -EAI_SYSTEM;
--                  }
--                if (herrno == TRY_AGAIN)
--                  {
--                    return -EAI_AGAIN;
-+                    result = -EAI_SYSTEM;
-                   }
-+                else if (herrno == TRY_AGAIN)
-+                  result = -EAI_AGAIN;
-+                else
-                 /* We made requests but they turned out no data.
-                    The name is known, though.  */
--                return GAIH_OKIFUNSPEC | -EAI_NODATA;
-+                  result = GAIH_OKIFUNSPEC | -EAI_NODATA;
-+
-+                goto free_and_return;
-               }
-             goto process_list;
-@@ -613,21 +685,56 @@ gaih_inet (const char *name, const struc
-                 bool added_canon = (req->ai_flags & AI_CANONNAME) == 0;
-                 char *addrs = air->addrs;
-+                if (__libc_use_alloca (alloca_used
-+                                       + air->naddrs * sizeof (struct gaih_addrtuple)))
-+                  addrmem = alloca_account (air->naddrs
-+                                            * sizeof (struct gaih_addrtuple),
-+                                            alloca_used);
-+                else
-+                  {
-+                    addrmem = malloc (air->naddrs
-+                                      * sizeof (struct gaih_addrtuple));
-+                    if (addrmem == NULL)
-+                      {
-+                        result = -EAI_MEMORY;
-+                        goto free_and_return;
-+                      }
-+                    malloc_addrmem = true;
-+                  }
-+
-+                struct gaih_addrtuple *addrfree = addrmem;
-                 for (int i = 0; i < air->naddrs; ++i)
-                   {
-                     socklen_t size = (air->family[i] == AF_INET
-                                       ? INADDRSZ : IN6ADDRSZ);
-                     if (*pat == NULL)
-                       {
--                        *pat = __alloca (sizeof (struct gaih_addrtuple));
-+                        *pat = addrfree++;
-                         (*pat)->scopeid = 0;
-                       }
-                     uint32_t *pataddr = (*pat)->addr;
-                     (*pat)->next = NULL;
-                     if (added_canon || air->canon == NULL)
-                       (*pat)->name = NULL;
--                    else
--                      canon = (*pat)->name = strdupa (air->canon);
-+                    else if (canonbuf == NULL)
-+                      {
-+                        size_t canonlen = strlen (air->canon) + 1;
-+                        if ((req->ai_flags & AI_CANONIDN) != 0
-+                            && __libc_use_alloca (alloca_used + canonlen))
-+                          canonbuf = alloca_account (canonlen, alloca_used);
-+                        else
-+                          {
-+                            canonbuf = malloc (canonlen);
-+                            if (canonbuf == NULL)
-+                              {
-+                                result = -EAI_MEMORY;
-+                                goto free_and_return;
-+                              }
-+                            malloc_canonbuf = true;
-+                          }
-+                        canon = (*pat)->name = memcpy (canonbuf, air->canon,
-+                                                       canonlen);
-+                      }
-                     if (air->family[i] == AF_INET
-                         && req->ai_family == AF_INET6
-@@ -657,20 +764,26 @@ gaih_inet (const char *name, const struc
-                 free (air);
-                 if (at->family == AF_UNSPEC)
--                  return GAIH_OKIFUNSPEC | -EAI_NONAME;
-+                  {
-+                    result = GAIH_OKIFUNSPEC | -EAI_NONAME;
-+                    goto free_and_return;
-+                  }
-                 goto process_list;
-               }
-             else if (err == 0)
-               /* The database contains a negative entry.  */
--              return 0;
-+              goto free_and_return;
-             else if (__nss_not_use_nscd_hosts == 0)
-               {
-                 if (herrno == NETDB_INTERNAL && errno == ENOMEM)
--                  return -EAI_MEMORY;
--                if (herrno == TRY_AGAIN)
--                  return -EAI_AGAIN;
--                return -EAI_SYSTEM;
-+                  result = -EAI_MEMORY;
-+                else if (herrno == TRY_AGAIN)
-+                  result = -EAI_AGAIN;
-+                else
-+                  result = -EAI_SYSTEM;
-+
-+                goto free_and_return;
-               }
-           }
- #endif
-@@ -699,7 +812,19 @@ gaih_inet (const char *name, const struc
-         _res.options &= ~RES_USE_INET6;
-         size_t tmpbuflen = 1024;
--        char *tmpbuf = alloca (tmpbuflen);
-+        malloc_tmpbuf = !__libc_use_alloca (alloca_used + tmpbuflen);
-+        assert (tmpbuf == NULL);
-+        if (!malloc_tmpbuf)
-+          tmpbuf = alloca_account (tmpbuflen, alloca_used);
-+        else
-+          {
-+            tmpbuf = malloc (tmpbuflen);
-+            if (tmpbuf == NULL)
-+              {
-+                result = -EAI_MEMORY;
-+                goto free_and_return;
-+              }
-+          }
-         while (!no_more)
-           {
-@@ -728,8 +853,25 @@ gaih_inet (const char *name, const struc
-                           no_data = herrno == NO_DATA;
-                         break;
-                       }
--                    tmpbuf = extend_alloca (tmpbuf,
--                                            tmpbuflen, 2 * tmpbuflen);
-+
-+                    if (!malloc_tmpbuf
-+                        && __libc_use_alloca (alloca_used + 2 * tmpbuflen))
-+                      tmpbuf = extend_alloca_account (tmpbuf, tmpbuflen,
-+                                                      2 * tmpbuflen,
-+                                                      alloca_used);
-+                    else
-+                      {
-+                        char *newp = realloc (malloc_tmpbuf ? tmpbuf : NULL,
-+                                              2 * tmpbuflen);
-+                        if (newp == NULL)
-+                          {
-+                            result = -EAI_MEMORY;
-+                            goto free_and_return;
-+                          }
-+                        tmpbuf = newp;
-+                        malloc_tmpbuf = true;
-+                        tmpbuflen = 2 * tmpbuflen;
-+                      }
-                   }
-                 if (status == NSS_STATUS_SUCCESS)
-@@ -832,18 +974,40 @@ gaih_inet (const char *name, const struc
-                             if (cfct != NULL)
-                               {
-                                 const size_t max_fqdn_len = 256;
--                                char *buf = alloca (max_fqdn_len);
-+                                if ((req->ai_flags & AI_CANONIDN) != 0
-+                                    && __libc_use_alloca (alloca_used
-+                                                          + max_fqdn_len))
-+                                  canonbuf = alloca_account (max_fqdn_len,
-+                                                             alloca_used);
-+                                else
-+                                  {
-+                                    canonbuf = malloc (max_fqdn_len);
-+                                    if (canonbuf == NULL)
-+                                      {
-+                                        result = -EAI_MEMORY;
-+                                        goto free_and_return;
-+                                      }
-+                                    malloc_canonbuf = true;
-+                                  }
-                                 char *s;
-                                 if (DL_CALL_FCT (cfct, (at->name ?: name,
--                                                        buf, max_fqdn_len,
-+                                                        canonbuf,
-+                                                        max_fqdn_len,
-                                                         &s, &rc, &herrno))
-                                     == NSS_STATUS_SUCCESS)
-                                   canon = s;
-                                 else
--                                  /* Set to name now to avoid using
--                                     gethostbyaddr.  */
--                                  canon = name;
-+                                  {
-+                                    /* Set to name now to avoid using
-+                                       gethostbyaddr.  */
-+                                    if (malloc_canonbuf)
-+                                      {
-+                                        free (canonbuf);
-+                                        malloc_canonbuf = false;
-+                                      }
-+                                    canon = name;
-+                                  }
-                               }
-                           }
-                         status = NSS_STATUS_SUCCESS;
-@@ -878,22 +1042,27 @@ gaih_inet (const char *name, const struc
-           {
-             /* If both requests timed out report this.  */
-             if (no_data == EAI_AGAIN && no_inet6_data == EAI_AGAIN)
--              return -EAI_AGAIN;
-+              result = -EAI_AGAIN;
-+            else
-+              /* We made requests but they turned out no data.  The name
-+                 is known, though.  */
-+              result = GAIH_OKIFUNSPEC | -EAI_NODATA;
--            /* We made requests but they turned out no data.  The name
--               is known, though.  */
--            return GAIH_OKIFUNSPEC | -EAI_NODATA;
-+            goto free_and_return;
-           }
-       }
-     process_list:
-       if (at->family == AF_UNSPEC)
--      return GAIH_OKIFUNSPEC | -EAI_NONAME;
-+      {
-+        result = GAIH_OKIFUNSPEC | -EAI_NONAME;
-+        goto free_and_return;
-+      }
-     }
-   else
-     {
-       struct gaih_addrtuple *atr;
--      atr = at = __alloca (sizeof (struct gaih_addrtuple));
-+      atr = at = alloca_account (sizeof (struct gaih_addrtuple), alloca_used);
-       memset (at, '\0', sizeof (struct gaih_addrtuple));
-       if (req->ai_family == AF_UNSPEC)
-@@ -932,6 +1101,9 @@ gaih_inet (const char *name, const struc
-       /* Only the first entry gets the canonical name.  */
-       if (at2 == at && (req->ai_flags & AI_CANONNAME) != 0)
-         {
-+          char *tmpbuf2 = NULL;
-+          bool malloc_tmpbuf2 = false;
-+
-           if (canon == NULL)
-             {
-               /* If the canonical name cannot be determined, use
-@@ -952,11 +1124,16 @@ gaih_inet (const char *name, const struc
-               int rc = __idna_to_unicode_lzlz (canon, &out, idn_flags);
-               if (rc != IDNA_SUCCESS)
-                 {
-+                  if (malloc_tmpbuf2)
-+                    free (tmpbuf2);
-+
-                   if (rc == IDNA_MALLOC_ERROR)
--                    return -EAI_MEMORY;
--                  if (rc == IDNA_DLOPEN_ERROR)
--                    return -EAI_SYSTEM;
--                  return -EAI_IDN_ENCODE;
-+                    result = -EAI_MEMORY;
-+                  else if (rc == IDNA_DLOPEN_ERROR)
-+                    result = -EAI_SYSTEM;
-+                  else
-+                    result = -EAI_IDN_ENCODE;
-+                  goto free_and_return;
-                 }
-               /* In case the output string is the same as the input
-                  string no new string has been allocated and we
-@@ -970,10 +1147,25 @@ gaih_inet (const char *name, const struc
- #ifdef HAVE_LIBIDN
-             make_copy:
- #endif
--              canon = strdup (canon);
--              if (canon == NULL)
--                return -EAI_MEMORY;
-+              if (malloc_canonbuf)
-+                /* We already allocated the string using malloc.  */
-+                malloc_canonbuf = false;
-+              else
-+                {
-+                  canon = strdup (canon);
-+                  if (canon == NULL)
-+                    {
-+                      if (malloc_tmpbuf2)
-+                        free (tmpbuf2);
-+
-+                      result = -EAI_MEMORY;
-+                      goto free_and_return;
-+                    }
-+                }
-             }
-+
-+          if (malloc_tmpbuf2)
-+            free (tmpbuf2);
-         }
-       family = at2->family;
-@@ -999,7 +1191,8 @@ gaih_inet (const char *name, const struc
-           if (ai == NULL)
-             {
-               free ((char *) canon);
--              return -EAI_MEMORY;
-+              result = -EAI_MEMORY;
-+              goto free_and_return;
-             }
-           ai->ai_flags = req->ai_flags;
-@@ -1052,7 +1245,18 @@ gaih_inet (const char *name, const struc
-       at2 = at2->next;
-       }
-   }
--  return 0;
-+
-+ free_and_return:
-+  if (malloc_name)
-+    free ((char *) name);
-+  if (malloc_addrmem)
-+    free (addrmem);
-+  if (malloc_canonbuf)
-+    free (canonbuf);
-+  if (malloc_tmpbuf)
-+    free (tmpbuf);
-+
-+  return result;
- }
diff --git a/src/patches/glibc/glibc-rh797094-2.patch b/src/patches/glibc/glibc-rh797094-2.patch
deleted file mode 100644 (file)
index 5aa9084..0000000
+++ /dev/null
@@ -1,862 +0,0 @@
-From: Ulrich Drepper <drepper@gmail.com>
-Date: Mon, 23 May 2011 03:04:16 +0000 (-0400)
-Subject: Add a few more alloca size checks
-X-Git-Tag: glibc-2.14~41
-X-Git-Url: http://sourceware.org/git/?p=glibc.git;a=commitdiff_plain;h=f2962a71959fd254a7a223437ca4b63b9e81130c
-
-Add a few more alloca size checks
----
-
- 2011-05-22  Ulrich Drepper  <drepper@gmail.com>
-       [BZ #12671]
-       * nis/nss_nis/nis-alias.c (_nss_nis_getaliasbyname_r): Use malloc in
-       some situations.
-       * nscd/nscd_getserv_r.c (nscd_getserv_r): Likewise.
-       * posix/glob.c (glob_in_dir): Take additional parameter alloca_used.
-       add in in __libc_use_alloca calls.  Adjust callers.
-       (glob): Use malloc in some situations.
-diff --git a/nis/nss_nis/nis-alias.c b/nis/nss_nis/nis-alias.c
-index 9286e36..cfe4097 100644
---- a/nis/nss_nis/nis-alias.c
-+++ b/nis/nss_nis/nis-alias.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 1996-2002, 2003, 2006 Free Software Foundation, Inc.
-+/* Copyright (C) 1996-2002, 2003, 2006, 2011 Free Software Foundation, Inc.
-    This file is part of the GNU C Library.
-    Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
-@@ -142,10 +142,10 @@ internal_nis_getaliasent_r (struct aliasent *alias, char *buffer,
-       int yperr;
-       if (new_start)
--        yperr = yp_first (domain, "mail.aliases", &outkey, &keylen, &result,
-+      yperr = yp_first (domain, "mail.aliases", &outkey, &keylen, &result,
-                         &len);
-       else
--        yperr = yp_next (domain, "mail.aliases", oldkey, oldkeylen, &outkey,
-+      yperr = yp_next (domain, "mail.aliases", oldkey, oldkeylen, &outkey,
-                        &keylen, &result, &len);
-       if (__builtin_expect (yperr != YPERR_SUCCESS, 0))
-@@ -153,20 +153,20 @@ internal_nis_getaliasent_r (struct aliasent *alias, char *buffer,
-         enum nss_status retval = yperr2nss (yperr);
-         if (retval == NSS_STATUS_TRYAGAIN)
--            *errnop = errno;
--          return retval;
--        }
-+          *errnop = errno;
-+        return retval;
-+      }
-       if (__builtin_expect ((size_t) (len + 1) > buflen, 0))
--        {
-+      {
-         free (result);
--          *errnop = ERANGE;
--          return NSS_STATUS_TRYAGAIN;
--        }
-+        *errnop = ERANGE;
-+        return NSS_STATUS_TRYAGAIN;
-+      }
-       char *p = strncpy (buffer, result, len);
-       buffer[len] = '\0';
-       while (isspace (*p))
--        ++p;
-+      ++p;
-       free (result);
-       parse_res = _nss_nis_parse_aliasent (outkey, p, alias, buffer,
-@@ -213,13 +213,25 @@ _nss_nis_getaliasbyname_r (const char *name, struct aliasent *alias,
-       return NSS_STATUS_UNAVAIL;
-     }
--  size_t namlen = strlen (name);
--  char name2[namlen + 1];
--
-   char *domain;
-   if (__builtin_expect (yp_get_default_domain (&domain), 0))
-     return NSS_STATUS_UNAVAIL;
-+  size_t namlen = strlen (name);
-+  char *name2;
-+  int use_alloca = __libc_use_alloca (namlen + 1);
-+  if (use_alloca)
-+    name2 = __alloca (namlen + 1);
-+  else
-+    {
-+      name2 = malloc (namlen + 1);
-+      if (name2 == NULL)
-+      {
-+        *errnop = ENOMEM;
-+        return NSS_STATUS_TRYAGAIN;
-+      }
-+    }
-+
-   /* Convert name to lowercase.  */
-   size_t i;
-   for (i = 0; i < namlen; ++i)
-@@ -230,6 +242,9 @@ _nss_nis_getaliasbyname_r (const char *name, struct aliasent *alias,
-   int len;
-   int yperr = yp_match (domain, "mail.aliases", name2, namlen, &result, &len);
-+  if (!use_alloca)
-+    free (name2);
-+
-   if (__builtin_expect (yperr != YPERR_SUCCESS, 0))
-     {
-       enum nss_status retval = yperr2nss (yperr);
-diff --git a/nscd/nscd_getserv_r.c b/nscd/nscd_getserv_r.c
-index dce4165..de96a57 100644
---- a/nscd/nscd_getserv_r.c
-+++ b/nscd/nscd_getserv_r.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2007, 2009 Free Software Foundation, Inc.
-+/* Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
-    This file is part of the GNU C Library.
-    Contributed by Ulrich Drepper <drepper@redhat.com>, 2007.
-@@ -17,6 +17,7 @@
-    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-    02111-1307 USA.  */
-+#include <assert.h>
- #include <errno.h>
- #include <string.h>
- #include <not-cancel.h>
-@@ -80,6 +81,7 @@ nscd_getserv_r (const char *crit, size_t critlen, const char *proto,
- {
-   int gc_cycle;
-   int nretries = 0;
-+  size_t alloca_used = 0;
-   /* If the mapping is available, try to search there instead of
-      communicating with the nscd.  */
-@@ -88,13 +90,23 @@ nscd_getserv_r (const char *crit, size_t critlen, const char *proto,
-                              &gc_cycle);
-   size_t protolen = proto == NULL ? 0 : strlen (proto);
-   size_t keylen = critlen + 1 + protolen + 1;
--  char *key = alloca (keylen);
-+  int alloca_key = __libc_use_alloca (keylen);
-+  char *key;
-+  if (alloca_key)
-+    key = alloca_account (keylen, alloca_used);
-+  else
-+    {
-+      key = malloc (keylen);
-+      if (key == NULL)
-+      return -1;
-+    }
-   memcpy (__mempcpy (__mempcpy (key, crit, critlen),
-                    "/", 1), proto ?: "", protolen + 1);
-  retry:;
-   const char *s_name = NULL;
-   const char *s_proto = NULL;
-+  int alloca_aliases_len = 0;
-   const uint32_t *aliases_len = NULL;
-   const char *aliases_list = NULL;
-   int retval = -1;
-@@ -136,8 +148,22 @@ nscd_getserv_r (const char *crit, size_t critlen, const char *proto,
-         if (((uintptr_t) aliases_len & (__alignof__ (*aliases_len) - 1))
-             != 0)
-           {
--            uint32_t *tmp = alloca (serv_resp.s_aliases_cnt
--                                    * sizeof (uint32_t));
-+            uint32_t *tmp;
-+            alloca_aliases_len
-+              = __libc_use_alloca (alloca_used
-+                                   + (serv_resp.s_aliases_cnt
-+                                      * sizeof (uint32_t)));
-+            if (alloca_aliases_len)
-+              tmp = __alloca (serv_resp.s_aliases_cnt * sizeof (uint32_t));
-+            else
-+              {
-+                tmp = malloc (serv_resp.s_aliases_cnt * sizeof (uint32_t));
-+                if (tmp == NULL)
-+                  {
-+                    retval = ENOMEM;
-+                    goto out;
-+                  }
-+              }
-             aliases_len = memcpy (tmp, aliases_len,
-                                   serv_resp.s_aliases_cnt
-                                   * sizeof (uint32_t));
-@@ -217,8 +243,24 @@ nscd_getserv_r (const char *crit, size_t critlen, const char *proto,
-         if (serv_resp.s_aliases_cnt > 0)
-           {
--            aliases_len = alloca (serv_resp.s_aliases_cnt
--                                  * sizeof (uint32_t));
-+            assert (alloca_aliases_len == 0);
-+            alloca_aliases_len
-+              = __libc_use_alloca (alloca_used
-+                                   + (serv_resp.s_aliases_cnt
-+                                      * sizeof (uint32_t)));
-+            if (alloca_aliases_len)
-+              aliases_len = alloca (serv_resp.s_aliases_cnt
-+                                    * sizeof (uint32_t));
-+            else
-+              {
-+                aliases_len = malloc (serv_resp.s_aliases_cnt
-+                                      * sizeof (uint32_t));
-+                if (aliases_len == NULL)
-+                  {
-+                    retval = ENOMEM;
-+                    goto out_close;
-+                  }
-+              }
-             vec[n].iov_base = (void *) aliases_len;
-             vec[n].iov_len = serv_resp.s_aliases_cnt * sizeof (uint32_t);
-@@ -329,5 +371,10 @@ nscd_getserv_r (const char *crit, size_t critlen, const char *proto,
-       goto retry;
-     }
-+  if (!alloca_aliases_len)
-+    free ((void *) aliases_len);
-+  if (!alloca_key)
-+    free (key);
-+
-   return retval;
- }
-diff --git a/posix/glob.c b/posix/glob.c
-index 6df083a..79b6e50 100644
---- a/posix/glob.c
-+++ b/posix/glob.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 1991-2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010
-+/* Copyright (C) 1991-2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011
-    Free Software Foundation, Inc.
-    This file is part of the GNU C Library.
-@@ -199,7 +199,7 @@ static const char *next_brace_sub (const char *begin, int flags) __THROW;
- static int glob_in_dir (const char *pattern, const char *directory,
-                       int flags, int (*errfunc) (const char *, int),
--                      glob_t *pglob);
-+                      glob_t *pglob, size_t alloca_used);
- extern int __glob_pattern_type (const char *pattern, int quote)
-     attribute_hidden;
-@@ -253,13 +253,18 @@ glob (pattern, flags, errfunc, pglob)
-      glob_t *pglob;
- {
-   const char *filename;
--  const char *dirname;
-+  char *dirname = NULL;
-   size_t dirlen;
-   int status;
-   size_t oldcount;
-   int meta;
-   int dirname_modified;
-+  int malloc_dirname = 0;
-   glob_t dirs;
-+  int retval = 0;
-+#ifdef _LIBC
-+  size_t alloca_used = 0;
-+#endif
-   if (pattern == NULL || pglob == NULL || (flags & ~__GLOB_FLAGS) != 0)
-     {
-@@ -308,20 +313,26 @@ glob (pattern, flags, errfunc, pglob)
-         const char *next;
-         const char *rest;
-         size_t rest_len;
--#ifdef __GNUC__
--        char onealt[strlen (pattern) - 1];
--#else
--        char *onealt = (char *) malloc (strlen (pattern) - 1);
--        if (onealt == NULL)
-+        char *onealt;
-+        size_t pattern_len = strlen (pattern) - 1;
-+#ifdef _LIBC
-+        int alloca_onealt = __libc_use_alloca (alloca_used + pattern_len);
-+        if (alloca_onealt)
-+          onealt = alloca_account (pattern_len, alloca_used);
-+        else
-+#endif
-           {
--            if (!(flags & GLOB_APPEND))
-+            onealt = (char *) malloc (pattern_len);
-+            if (onealt == NULL)
-               {
--                pglob->gl_pathc = 0;
--                pglob->gl_pathv = NULL;
-+                if (!(flags & GLOB_APPEND))
-+                  {
-+                    pglob->gl_pathc = 0;
-+                    pglob->gl_pathv = NULL;
-+                  }
-+                return GLOB_NOSPACE;
-               }
--            return GLOB_NOSPACE;
-           }
--#endif
-         /* We know the prefix for all sub-patterns.  */
-         alt_start = mempcpy (onealt, pattern, begin - pattern);
-@@ -332,9 +343,11 @@ glob (pattern, flags, errfunc, pglob)
-         if (next == NULL)
-           {
-             /* It is an illegal expression.  */
--#ifndef __GNUC__
--            free (onealt);
-+          illegal_brace:
-+#ifdef _LIBC
-+            if (__builtin_expect (!alloca_onealt, 0))
- #endif
-+              free (onealt);
-             return glob (pattern, flags & ~GLOB_BRACE, errfunc, pglob);
-           }
-@@ -344,13 +357,8 @@ glob (pattern, flags, errfunc, pglob)
-           {
-             rest = next_brace_sub (rest + 1, flags);
-             if (rest == NULL)
--              {
--                /* It is an illegal expression.  */
--#ifndef __GNUC__
--                free (onealt);
--#endif
--                return glob (pattern, flags & ~GLOB_BRACE, errfunc, pglob);
--              }
-+              /* It is an illegal expression.  */
-+              goto illegal_brace;
-           }
-         /* Please note that we now can be sure the brace expression
-            is well-formed.  */
-@@ -386,9 +394,10 @@ glob (pattern, flags, errfunc, pglob)
-             /* If we got an error, return it.  */
-             if (result && result != GLOB_NOMATCH)
-               {
--#ifndef __GNUC__
--                free (onealt);
-+#ifdef _LIBC
-+                if (__builtin_expect (!alloca_onealt, 0))
- #endif
-+                  free (onealt);
-                 if (!(flags & GLOB_APPEND))
-                   {
-                     globfree (pglob);
-@@ -406,9 +415,10 @@ glob (pattern, flags, errfunc, pglob)
-             assert (next != NULL);
-           }
--#ifndef __GNUC__
--        free (onealt);
-+#ifdef _LIBC
-+        if (__builtin_expect (!alloca_onealt, 0))
- #endif
-+          free (onealt);
-         if (pglob->gl_pathc != firstc)
-           /* We found some entries.  */
-@@ -455,7 +465,7 @@ glob (pattern, flags, errfunc, pglob)
-        case is nothing but a notation for a directory.  */
-       if ((flags & (GLOB_TILDE|GLOB_TILDE_CHECK)) && pattern[0] == '~')
-       {
--        dirname = pattern;
-+        dirname = (char *) pattern;
-         dirlen = strlen (pattern);
-         /* Set FILENAME to NULL as a special flag.  This is ugly but
-@@ -473,9 +483,9 @@ glob (pattern, flags, errfunc, pglob)
-         filename = pattern;
- #ifdef _AMIGA
--        dirname = "";
-+        dirname = (char *) "";
- #else
--        dirname = ".";
-+        dirname = (char *) ".";
- #endif
-         dirlen = 0;
-       }
-@@ -485,7 +495,7 @@ glob (pattern, flags, errfunc, pglob)
-              && (flags & GLOB_NOESCAPE) == 0))
-     {
-       /* "/pattern" or "\\/pattern".  */
--      dirname = "/";
-+      dirname = (char *) "/";
-       dirlen = 1;
-       ++filename;
-     }
-@@ -511,7 +521,17 @@ glob (pattern, flags, errfunc, pglob)
-            from "d:/", since "d:" and "d:/" are not the same.*/
-       }
- #endif
--      newp = (char *) __alloca (dirlen + 1);
-+#ifdef _LIBC
-+      if (__libc_use_alloca (alloca_used + dirlen + 1))
-+      newp = alloca_account (dirlen + 1, alloca_used);
-+      else
-+#endif
-+      {
-+        newp = malloc (dirlen + 1);
-+        if (newp == NULL)
-+          return GLOB_NOSPACE;
-+        malloc_dirname = 1;
-+      }
-       *((char *) mempcpy (newp, pattern, dirlen)) = '\0';
-       dirname = newp;
-       ++filename;
-@@ -551,7 +571,8 @@ glob (pattern, flags, errfunc, pglob)
-             oldcount = pglob->gl_pathc + pglob->gl_offs;
-             goto no_matches;
-           }
--        return val;
-+        retval = val;
-+        goto out;
-       }
-     }
-@@ -563,7 +584,8 @@ glob (pattern, flags, errfunc, pglob)
-             && (dirname[2] == '\0' || dirname[2] == '/')))
-       {
-         /* Look up home directory.  */
--        const char *home_dir = getenv ("HOME");
-+        char *home_dir = getenv ("HOME");
-+        int malloc_home_dir = 0;
- # ifdef _AMIGA
-         if (home_dir == NULL || home_dir[0] == '\0')
-           home_dir = "SYS:";
-@@ -582,7 +604,7 @@ glob (pattern, flags, errfunc, pglob)
-               /* `sysconf' does not support _SC_LOGIN_NAME_MAX.  Try
-                  a moderate value.  */
-               buflen = 20;
--            name = (char *) __alloca (buflen);
-+            name = alloca_account (buflen, alloca_used);
-             success = getlogin_r (name, buflen) == 0;
-             if (success)
-@@ -592,6 +614,7 @@ glob (pattern, flags, errfunc, pglob)
-                 long int pwbuflen = GETPW_R_SIZE_MAX ();
-                 char *pwtmpbuf;
-                 struct passwd pwbuf;
-+                int malloc_pwtmpbuf = 0;
-                 int save = errno;
- #    ifndef _LIBC
-@@ -600,7 +623,18 @@ glob (pattern, flags, errfunc, pglob)
-                      Try a moderate value.  */
-                   pwbuflen = 1024;
- #    endif
--                pwtmpbuf = (char *) __alloca (pwbuflen);
-+                if (__libc_use_alloca (alloca_used + pwbuflen))
-+                  pwtmpbuf = alloca_account (pwbuflen, alloca_used);
-+                else
-+                  {
-+                    pwtmpbuf = malloc (pwbuflen);
-+                    if (pwtmpbuf == NULL)
-+                      {
-+                        retval = GLOB_NOSPACE;
-+                        goto out;
-+                      }
-+                    malloc_pwtmpbuf = 1;
-+                  }
-                 while (getpwnam_r (name, &pwbuf, pwtmpbuf, pwbuflen, &p)
-                        != 0)
-@@ -610,46 +644,115 @@ glob (pattern, flags, errfunc, pglob)
-                         p = NULL;
-                         break;
-                       }
--#    ifdef _LIBC
--                    pwtmpbuf = extend_alloca (pwtmpbuf, pwbuflen,
-+
-+                    if (!malloc_pwtmpbuf
-+                        && __libc_use_alloca (alloca_used
-+                                              + 2 * pwbuflen))
-+                      pwtmpbuf = extend_alloca_account (pwtmpbuf, pwbuflen,
-+                                                        2 * pwbuflen,
-+                                                        alloca_used);
-+                    else
-+                      {
-+                        char *newp = realloc (malloc_pwtmpbuf
-+                                              ? pwtmpbuf : NULL,
-                                               2 * pwbuflen);
--#    else
--                    pwbuflen *= 2;
--                    pwtmpbuf = (char *) __alloca (pwbuflen);
--#    endif
-+                        if (newp == NULL)
-+                          {
-+                            if (__builtin_expect (malloc_pwtmpbuf, 0))
-+                              free (pwtmpbuf);
-+                            retval = GLOB_NOSPACE;
-+                            goto out;
-+                          }
-+                        pwtmpbuf = newp;
-+                        pwbuflen = 2 * pwbuflen;
-+                        malloc_pwtmpbuf = 1;
-+                      }
-                     __set_errno (save);
-                   }
- #   else
-                 p = getpwnam (name);
- #   endif
-                 if (p != NULL)
--                  home_dir = p->pw_dir;
-+                  {
-+                    if (!malloc_pwtmpbuf)
-+                      home_dir = p->pw_dir;
-+                    else
-+                      {
-+                        size_t home_dir_len = strlen (p->pw_dir) + 1;
-+                        if (__libc_use_alloca (alloca_used + home_dir_len))
-+                          home_dir = alloca_account (home_dir_len,
-+                                                     alloca_used);
-+                        else
-+                          {
-+                            home_dir = malloc (home_dir_len);
-+                            if (home_dir == NULL)
-+                              {
-+                                free (pwtmpbuf);
-+                                retval = GLOB_NOSPACE;
-+                                goto out;
-+                              }
-+                            malloc_home_dir = 1;
-+                          }
-+                        memcpy (home_dir, p->pw_dir, home_dir_len);
-+
-+                        free (pwtmpbuf);
-+                      }
-+                  }
-               }
-           }
-         if (home_dir == NULL || home_dir[0] == '\0')
-           {
-             if (flags & GLOB_TILDE_CHECK)
--              return GLOB_NOMATCH;
-+              {
-+                if (__builtin_expect (malloc_home_dir, 0))
-+                  free (home_dir);
-+                retval = GLOB_NOMATCH;
-+                goto out;
-+              }
-             else
--              home_dir = "~"; /* No luck.  */
-+              home_dir = (char *) "~"; /* No luck.  */
-           }
- #  endif /* WINDOWS32 */
- # endif
-         /* Now construct the full directory.  */
-         if (dirname[1] == '\0')
-           {
-+            if (__builtin_expect (malloc_dirname, 0))
-+              free (dirname);
-+
-             dirname = home_dir;
-             dirlen = strlen (dirname);
-+            malloc_dirname = malloc_home_dir;
-           }
-         else
-           {
-             char *newp;
-             size_t home_len = strlen (home_dir);
--            newp = (char *) __alloca (home_len + dirlen);
-+            int use_alloca = __libc_use_alloca (alloca_used
-+                                                + home_len + dirlen);
-+            if (use_alloca)
-+              newp = alloca_account (home_len + dirlen, alloca_used);
-+            else
-+              {
-+                newp = malloc (home_len + dirlen);
-+                if (newp == NULL)
-+                  {
-+                    if (__builtin_expect (malloc_home_dir, 0))
-+                      free (home_dir);
-+                    retval = GLOB_NOSPACE;
-+                    goto out;
-+                  }
-+              }
-+
-             mempcpy (mempcpy (newp, home_dir, home_len),
-                      &dirname[1], dirlen);
-+
-+            if (__builtin_expect (malloc_dirname, 0))
-+              free (dirname);
-+
-             dirname = newp;
-             dirlen += home_len - 1;
-+            malloc_dirname = !use_alloca;
-           }
-         dirname_modified = 1;
-       }
-@@ -657,7 +760,8 @@ glob (pattern, flags, errfunc, pglob)
-       else
-       {
-         char *end_name = strchr (dirname, '/');
--        const char *user_name;
-+        char *user_name;
-+        int malloc_user_name = 0;
-         const char *home_dir;
-         char *unescape = NULL;
-@@ -677,7 +781,18 @@ glob (pattern, flags, errfunc, pglob)
-         else
-           {
-             char *newp;
--            newp = (char *) __alloca (end_name - dirname);
-+            if (__libc_use_alloca (alloca_used + (end_name - dirname)))
-+              newp = alloca_account (end_name - dirname, alloca_used);
-+            else
-+              {
-+                newp = malloc (end_name - dirname);
-+                if (newp == NULL)
-+                  {
-+                    retval = GLOB_NOSPACE;
-+                    goto out;
-+                  }
-+                malloc_user_name = 1;
-+              }
-             if (unescape != NULL)
-               {
-                 char *p = mempcpy (newp, dirname + 1,
-@@ -714,6 +829,7 @@ glob (pattern, flags, errfunc, pglob)
- #  if defined HAVE_GETPWNAM_R || defined _LIBC
-           long int buflen = GETPW_R_SIZE_MAX ();
-           char *pwtmpbuf;
-+          int malloc_pwtmpbuf = 0;
-           struct passwd pwbuf;
-           int save = errno;
-@@ -723,7 +839,21 @@ glob (pattern, flags, errfunc, pglob)
-                moderate value.  */
-             buflen = 1024;
- #   endif
--          pwtmpbuf = (char *) __alloca (buflen);
-+          if (__libc_use_alloca (alloca_used + buflen))
-+            pwtmpbuf = alloca_account (buflen, alloca_used);
-+          else
-+            {
-+              pwtmpbuf = malloc (buflen);
-+              if (pwtmpbuf == NULL)
-+                {
-+                nomem_getpw:
-+                  if (__builtin_expect (malloc_user_name, 0))
-+                    free (user_name);
-+                  retval = GLOB_NOSPACE;
-+                  goto out;
-+                }
-+              malloc_pwtmpbuf = 1;
-+            }
-           while (getpwnam_r (user_name, &pwbuf, pwtmpbuf, buflen, &p) != 0)
-             {
-@@ -732,40 +862,77 @@ glob (pattern, flags, errfunc, pglob)
-                   p = NULL;
-                   break;
-                 }
--#   ifdef _LIBC
--              pwtmpbuf = extend_alloca (pwtmpbuf, buflen, 2 * buflen);
--#   else
--              buflen *= 2;
--              pwtmpbuf = __alloca (buflen);
--#   endif
-+              if (!malloc_pwtmpbuf
-+                  && __libc_use_alloca (alloca_used + 2 * buflen))
-+                pwtmpbuf = extend_alloca_account (pwtmpbuf, buflen,
-+                                                  2 * buflen, alloca_used);
-+              else
-+                {
-+                  char *newp = realloc (malloc_pwtmpbuf ? pwtmpbuf : NULL,
-+                                        2 * buflen);
-+                  if (newp == NULL)
-+                    {
-+                      if (__builtin_expect (malloc_pwtmpbuf, 0))
-+                        free (pwtmpbuf);
-+                      goto nomem_getpw;
-+                    }
-+                  pwtmpbuf = newp;
-+                  malloc_pwtmpbuf = 1;
-+                }
-               __set_errno (save);
-             }
- #  else
-           p = getpwnam (user_name);
- #  endif
-+
-+          if (__builtin_expect (malloc_user_name, 0))
-+            free (user_name);
-+
-+          /* If we found a home directory use this.  */
-           if (p != NULL)
--            home_dir = p->pw_dir;
-+            {
-+              size_t home_len = strlen (p->pw_dir);
-+              size_t rest_len = end_name == NULL ? 0 : strlen (end_name);
-+
-+              if (__builtin_expect (malloc_dirname, 0))
-+                free (dirname);
-+              malloc_dirname = 0;
-+
-+              if (__libc_use_alloca (alloca_used + home_len + rest_len + 1))
-+                dirname = alloca_account (home_len + rest_len + 1,
-+                                          alloca_used);
-+              else
-+                {
-+                  dirname = malloc (home_len + rest_len + 1);
-+                  if (dirname == NULL)
-+                    {
-+                      if (__builtin_expect (malloc_pwtmpbuf, 0))
-+                        free (pwtmpbuf);
-+                      retval = GLOB_NOSPACE;
-+                      goto out;
-+                    }
-+                  malloc_dirname = 1;
-+                }
-+              *((char *) mempcpy (mempcpy (dirname, p->pw_dir, home_len),
-+                                  end_name, rest_len)) = '\0';
-+
-+              dirlen = home_len + rest_len;
-+              dirname_modified = 1;
-+
-+              if (__builtin_expect (malloc_pwtmpbuf, 0))
-+                free (pwtmpbuf);
-+            }
-           else
--            home_dir = NULL;
-+            {
-+              if (__builtin_expect (malloc_pwtmpbuf, 0))
-+                free (pwtmpbuf);
-+
-+              if (flags & GLOB_TILDE_CHECK)
-+                /* We have to regard it as an error if we cannot find the
-+                   home directory.  */
-+                return GLOB_NOMATCH;
-+            }
-         }
--        /* If we found a home directory use this.  */
--        if (home_dir != NULL)
--          {
--            char *newp;
--            size_t home_len = strlen (home_dir);
--            size_t rest_len = end_name == NULL ? 0 : strlen (end_name);
--            newp = (char *) __alloca (home_len + rest_len + 1);
--            *((char *) mempcpy (mempcpy (newp, home_dir, home_len),
--                                end_name, rest_len)) = '\0';
--            dirname = newp;
--            dirlen = home_len + rest_len;
--            dirname_modified = 1;
--          }
--        else
--          if (flags & GLOB_TILDE_CHECK)
--            /* We have to regard it as an error if we cannot find the
--               home directory.  */
--            return GLOB_NOMATCH;
-       }
- # endif       /* Not Amiga && not WINDOWS32.  */
-     }
-@@ -899,7 +1066,7 @@ glob (pattern, flags, errfunc, pglob)
-         status = glob_in_dir (filename, dirs.gl_pathv[i],
-                               ((flags | GLOB_APPEND)
-                                & ~(GLOB_NOCHECK | GLOB_NOMAGIC)),
--                              errfunc, pglob);
-+                              errfunc, pglob, alloca_used);
-         if (status == GLOB_NOMATCH)
-           /* No matches in this directory.  Try the next.  */
-           continue;
-@@ -1000,7 +1167,8 @@ glob (pattern, flags, errfunc, pglob)
-       }
-       if (dirname_modified)
-       flags &= ~(GLOB_NOCHECK | GLOB_NOMAGIC);
--      status = glob_in_dir (filename, dirname, flags, errfunc, pglob);
-+      status = glob_in_dir (filename, dirname, flags, errfunc, pglob,
-+                          alloca_used);
-       if (status != 0)
-       {
-         if (status == GLOB_NOMATCH && flags != orig_flags
-@@ -1063,7 +1231,11 @@ glob (pattern, flags, errfunc, pglob)
-            sizeof (char *), collated_compare);
-     }
--  return 0;
-+ out:
-+  if (__builtin_expect (malloc_dirname, 0))
-+    free (dirname);
-+
-+  return retval;
- }
- #if defined _LIBC && !defined glob
- libc_hidden_def (glob)
-@@ -1273,7 +1445,7 @@ link_exists2_p (const char *dir, size_t dirlen, const char *fname,
- static int
- glob_in_dir (const char *pattern, const char *directory, int flags,
-            int (*errfunc) (const char *, int),
--           glob_t *pglob)
-+           glob_t *pglob, size_t alloca_used)
- {
-   size_t dirlen = strlen (directory);
-   void *stream = NULL;
-@@ -1288,11 +1460,12 @@ glob_in_dir (const char *pattern, const char *directory, int flags,
-   struct globnames *names = &init_names;
-   struct globnames *names_alloca = &init_names;
-   size_t nfound = 0;
--  size_t allocasize = sizeof (init_names);
-   size_t cur = 0;
-   int meta;
-   int save;
-+  alloca_used += sizeof (init_names);
-+
-   init_names.next = NULL;
-   init_names.count = INITIAL_COUNT;
-@@ -1308,20 +1481,36 @@ glob_in_dir (const char *pattern, const char *directory, int flags,
-     {
-       /* Since we use the normal file functions we can also use stat()
-        to verify the file is there.  */
--      struct stat st;
--      struct_stat64 st64;
-+      union
-+      {
-+      struct stat st;
-+      struct_stat64 st64;
-+      } ust;
-       size_t patlen = strlen (pattern);
--      char *fullname = (char *) __alloca (dirlen + 1 + patlen + 1);
-+      int alloca_fullname = __libc_use_alloca (alloca_used
-+                                             + dirlen + 1 + patlen + 1);
-+      char *fullname;
-+      if (alloca_fullname)
-+      fullname = alloca_account (dirlen + 1 + patlen + 1, alloca_used);
-+      else
-+      {
-+        fullname = malloc (dirlen + 1 + patlen + 1);
-+        if (fullname == NULL)
-+          return GLOB_NOSPACE;
-+      }
-       mempcpy (mempcpy (mempcpy (fullname, directory, dirlen),
-                       "/", 1),
-              pattern, patlen + 1);
-       if ((__builtin_expect (flags & GLOB_ALTDIRFUNC, 0)
--         ? (*pglob->gl_stat) (fullname, &st)
--         : __stat64 (fullname, &st64)) == 0)
-+         ? (*pglob->gl_stat) (fullname, &ust.st)
-+         : __stat64 (fullname, &ust.st64)) == 0)
-       /* We found this file to be existing.  Now tell the rest
-          of the function to copy this name into the result.  */
-       flags |= GLOB_NOCHECK;
-+
-+      if (__builtin_expect (!alloca_fullname, 0))
-+      free (fullname);
-     }
-   else
-     {
-@@ -1409,9 +1598,9 @@ glob_in_dir (const char *pattern, const char *directory, int flags,
-                         size_t size = (sizeof (struct globnames)
-                                        + ((count - INITIAL_COUNT)
-                                           * sizeof (char *)));
--                        allocasize += size;
--                        if (__libc_use_alloca (allocasize))
--                          newnames = names_alloca = __alloca (size);
-+                        if (__libc_use_alloca (alloca_used + size))
-+                          newnames = names_alloca
-+                            = alloca_account (size, alloca_used);
-                         else if ((newnames = malloc (size))
-                                  == NULL)
-                           goto memory_error;
diff --git a/src/patches/glibc/glibc-rh804686.patch b/src/patches/glibc/glibc-rh804686.patch
deleted file mode 100644 (file)
index 292cd84..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
---- a/resolv/res_query.c       2010-05-04 05:27:23.000000000 -0600
-+++ a/resolv/res_query.c       2012-08-03 13:43:10.761506047 -0600
-@@ -122,6 +122,7 @@ __libc_res_nquery(res_state statp,
-                 int *resplen2)
- {
-       HEADER *hp = (HEADER *) answer;
-+      HEADER *hp2;
-       int n, use_malloc = 0;
-         u_int oflags = statp->_flags;
-@@ -239,26 +240,25 @@ __libc_res_nquery(res_state statp,
-         /* __libc_res_nsend might have reallocated the buffer.  */
-         hp = (HEADER *) *answerp;
--      /* We simplify the following tests by assigning HP to HP2.  It
--         is easy to verify that this is the same as ignoring all
--         tests of HP2.  */
--      HEADER *hp2 = answerp2 ? (HEADER *) *answerp2 : hp;
--
--      if (n < (int) sizeof (HEADER) && answerp2 != NULL
--          && *resplen2 > (int) sizeof (HEADER))
-+      /* We simplify the following tests by assigning HP to HP2 or
-+         vice versa.  It is easy to verify that this is the same as
-+         ignoring all tests of HP or HP2.  */
-+      if (answerp2 == NULL || *resplen2 < (int) sizeof (HEADER))
-         {
--          /* Special case of partial answer.  */
--          assert (hp != hp2);
--          hp = hp2;
-+          hp2 = hp;
-         }
--      else if (answerp2 != NULL && *resplen2 < (int) sizeof (HEADER)
--               && n > (int) sizeof (HEADER))
-+      else
-         {
--          /* Special case of partial answer.  */
--          assert (hp != hp2);
--          hp2 = hp;
-+          hp2 = (HEADER *) *answerp2;
-+          if (n < (int) sizeof (HEADER))
-+            {
-+              hp = hp2;
-+            }
-         }
-+      /* Make sure both hp and hp2 are defined */
-+      assert((hp != NULL) && (hp2 != NULL));
-+
-       if ((hp->rcode != NOERROR || ntohs(hp->ancount) == 0)
-           && (hp2->rcode != NOERROR || ntohs(hp2->ancount) == 0)) {
- #ifdef DEBUG
---- a/resolv/res_send.c        2012-08-03 13:31:26.622168278 -0600
-+++ a/resolv/res_send.c        2012-08-03 13:43:11.881501862 -0600
-@@ -549,7 +549,7 @@ __libc_res_nsend(res_state statp, const
-                                   ns, ansp, ansp2, nansp2, resplen2);
-                       if (n < 0)
-                               return (-1);
--                      if (n == 0)
-+                      if (n == 0 && (buf2 == NULL || *resplen2 == 0))
-                               goto next_ns;
-               } else {
-                       /* Use datagrams. */
-@@ -559,7 +559,7 @@ __libc_res_nsend(res_state statp, const
-                                   ansp2, nansp2, resplen2);
-                       if (n < 0)
-                               return (-1);
--                      if (n == 0)
-+                      if (n == 0 && (buf2 == NULL || *resplen2 == 0))
-                               goto next_ns;
-                       if (v_circuit)
-                         // XXX Check whether both requests failed or
-@@ -1275,10 +1275,14 @@ send_dg(res_state statp,
-                               (*thisresplenp > *thisanssizp)
-                               ? *thisanssizp : *thisresplenp);
--                      if (recvresp1 || (buf2 != NULL && recvresp2))
-+                      if (recvresp1 || (buf2 != NULL && recvresp2)) {
-+                        *resplen2 = 0;
-                         return resplen;
-+                      }
-                       if (buf2 != NULL)
-                         {
-+                          /* No data from the first reply.  */
-+                          resplen = 0;
-                           /* We are waiting for a possible second reply.  */
-                           if (hp->id == anhp->id)
-                             recvresp1 = 1;
diff --git a/src/patches/glibc/glibc-rh804689.patch b/src/patches/glibc/glibc-rh804689.patch
deleted file mode 100644 (file)
index a96a33f..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -rup a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
---- a/sysdeps/posix/getaddrinfo.c      2012-03-20 21:31:14.177358937 -0600
-+++ b/sysdeps/posix/getaddrinfo.c      2012-03-21 09:13:17.198290683 -0600
-@@ -560,15 +563,11 @@ gaih_inet (const char *name, const struc
-         int no_more;
-         int old_res_options;
--        /* If we do not have to look for IPv4 and IPv6 together, use
--           the simple, old functions.  */
--        if ((req->ai_family == AF_INET
--             || (req->ai_family == AF_INET6
--                 && ((req->ai_flags & AI_V4MAPPED) == 0
--                     || (req->ai_flags & AI_ALL) == 0)))
--            && (req->ai_flags & AI_CANONNAME) == 0)
-+        /* If we do not have to look for IPv6 addresses, use
-+           the simple, old functions, which do not support
-+           IPv6 scope ids. */
-+        if (req->ai_family == AF_INET)
-           {
--            int family = req->ai_family;
-             size_t tmpbuflen = 512;
-             assert (tmpbuf == NULL);
-             tmpbuf = alloca_account (tmpbuflen, alloca_used);
diff --git a/src/patches/glibc/glibc-rh806404.patch b/src/patches/glibc/glibc-rh806404.patch
deleted file mode 100644 (file)
index b78b903..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -rup a/nss/getnssent.c b/nss/getnssent.c
---- a/nss/getnssent.c  2004-12-13 14:48:34.000000000 -0700
-+++ b/nss/getnssent.c  2012-03-23 13:46:54.639095121 -0600
-@@ -33,7 +33,7 @@ __nss_getent (getent_r_function func, vo
-       *buffer = malloc (*buffer_size);
-     }
--  while (buffer != NULL
-+  while (*buffer != NULL
-        && func (resbuf, *buffer, *buffer_size, &result, h_errnop) == ERANGE
-        && (h_errnop == NULL || *h_errnop == NETDB_INTERNAL))
-     {
diff --git a/src/patches/glibc/glibc-rh808337.patch b/src/patches/glibc/glibc-rh808337.patch
deleted file mode 100644 (file)
index bc20cbc..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-commit 6a5ee1029b3966c5ae9adaaa881e255b2880f511
-Author: Ulrich Drepper <drepper@gmail.com>
-Date:   Sun Mar 6 00:01:50 2011 -0500
-
-    Fix loading first object along a path when tracing.
-
-diff --git a/elf/dl-load.c b/elf/dl-load.c
-index 1ad16a0..f866066 100644
---- a/elf/dl-load.c
-+++ b/elf/dl-load.c
-@@ -2111,7 +2111,9 @@ _dl_map_object (struct link_map *loader, const char *name,
-           {
- #ifdef SHARED
-             // XXX Correct to unconditionally default to namespace 0?
--            l = loader ?: GL(dl_ns)[LM_ID_BASE]._ns_loaded;
-+            l = (loader
-+                 ?: GL(dl_ns)[LM_ID_BASE]._ns_loaded
-+                 ?: &GL(dl_rtld_map));
- #else
-             l = loader;
- #endif
diff --git a/src/patches/glibc/glibc-rh808545.patch b/src/patches/glibc/glibc-rh808545.patch
deleted file mode 100644 (file)
index 9a2cae3..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-diff -rup a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c
---- a/resolv/nss_dns/dns-host.c        2012-04-18 11:17:31.527539744 -0600
-+++ b/resolv/nss_dns/dns-host.c        2012-04-18 11:21:45.441394159 -0600
-@@ -745,6 +745,10 @@ getanswer_r (const querybuf *answer, int
-       if ((qtype == T_A || qtype == T_AAAA) && type == T_CNAME)
-       {
-+        /* A CNAME could also have a TTL entry.  */
-+        if (ttlp != NULL && ttl < *ttlp)
-+            *ttlp = ttl;
-+
-         if (ap >= &host_data->aliases[MAX_NR_ALIASES - 1])
-           continue;
-         n = dn_expand (answer->buf, end_of_message, cp, tbuf, sizeof tbuf);
-@@ -906,7 +910,7 @@ getanswer_r (const querybuf *answer, int
-           {
-             register int nn;
--            if (ttlp != NULL)
-+            if (ttlp != NULL && ttl < *ttlp)
-               *ttlp = ttl;
-             if (canonp != NULL)
-               *canonp = bp;
-@@ -1082,6 +1086,11 @@ gaih_getanswer_slice (const querybuf *an
-       if (type == T_CNAME)
-       {
-         char tbuf[MAXDNAME];
-+
-+        /* A CNAME could also have a TTL entry.  */
-+        if (ttlp != NULL && ttl < *ttlp)
-+          *ttlp = ttl;
-+
-         n = dn_expand (answer->buf, end_of_message, cp, tbuf, sizeof tbuf);
-         if (__builtin_expect (n < 0 || res_hnok (tbuf) == 0, 0))
-           {
-@@ -1162,7 +1171,7 @@ gaih_getanswer_slice (const querybuf *an
-       if (*firstp)
-       {
--        if (ttlp != NULL)
-+        if (ttlp != NULL && ttl < *ttlp)
-           *ttlp = ttl;
-         (*pat)->name = canon ?: h_name;
diff --git a/src/patches/glibc/glibc-rh809602.patch b/src/patches/glibc/glibc-rh809602.patch
deleted file mode 100644 (file)
index 81aa63a..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-diff -rup a/nscd/nscd_getserv_r.c b/nscd/nscd_getserv_r.c
---- a/nscd/nscd_getserv_r.c    2012-04-04 16:37:27.873951850 -0600
-+++ b/nscd/nscd_getserv_r.c    2012-04-04 16:37:49.904837348 -0600
-@@ -124,6 +123,7 @@ nscd_getserv_r (const char *crit, size_t
-         s_name = (char *) (&found->data[0].servdata + 1);
-         serv_resp = found->data[0].servdata;
-         s_proto = s_name + serv_resp.s_name_len;
-+        alloca_aliases_len = 1;
-         aliases_len = (uint32_t *) (s_proto + serv_resp.s_proto_len);
-         aliases_list = ((char *) aliases_len
-                         + serv_resp.s_aliases_cnt * sizeof (uint32_t));
-@@ -154,7 +154,9 @@ nscd_getserv_r (const char *crit, size_t
-                                    + (serv_resp.s_aliases_cnt
-                                       * sizeof (uint32_t)));
-             if (alloca_aliases_len)
--              tmp = __alloca (serv_resp.s_aliases_cnt * sizeof (uint32_t));
-+              tmp = alloca_account (serv_resp.s_aliases_cnt
-+                                    * sizeof (uint32_t),
-+                                    alloca_used);
-             else
-               {
-                 tmp = malloc (serv_resp.s_aliases_cnt * sizeof (uint32_t));
-@@ -249,8 +251,9 @@ nscd_getserv_r (const char *crit, size_t
-                                    + (serv_resp.s_aliases_cnt
-                                       * sizeof (uint32_t)));
-             if (alloca_aliases_len)
--              aliases_len = alloca (serv_resp.s_aliases_cnt
--                                    * sizeof (uint32_t));
-+              aliases_len = alloca_account (serv_resp.s_aliases_cnt
-+                                            * sizeof (uint32_t),
-+                                            alloca_used);
-             else
-               {
-                 aliases_len = malloc (serv_resp.s_aliases_cnt
-@@ -368,7 +371,11 @@ nscd_getserv_r (const char *crit, size_t
-       }
-       if (retval != -1)
--      goto retry;
-+      {
-+        if (!alloca_aliases_len)
-+          free ((void *) aliases_len);
-+        goto retry;
-+      }
-     }
-   if (!alloca_aliases_len)
diff --git a/src/patches/glibc/glibc-rh809726.patch b/src/patches/glibc/glibc-rh809726.patch
deleted file mode 100644 (file)
index 0f264c8..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-diff -rup a/localedata/locales/fi_FI b/localedata/locales/fi_FI
---- a/localedata/locales/fi_FI 2012-07-11 14:48:45.994749607 -0600
-+++ b/localedata/locales/fi_FI 2012-07-11 14:50:20.003277477 -0600
-@@ -63,60 +63,65 @@ reorder-after <z>
- <a-diaerisis>
- <o-diaerisis>
--reorder-after <U005A>
-+reorder-after <U007A>
- <U00E5> <a-ring>;<BAS>;<MIN>;IGNORE
--<U00C5> <a-ring>;<BAS>;<CAP>;IGNORE
- <U01FB> <a-ring>;<ACA>;<MIN>;IGNORE
--<U01FA> <a-ring>;<ACA>;<CAP>;IGNORE
- <U00E4> <a-diaerisis>;<BAS>;<MIN>;IGNORE
--<U00C4> <a-diaerisis>;<BAS>;<CAP>;IGNORE
- <U00E6> <a-diaerisis>;<REU>;<MIN>;IGNORE
--<U00C6> <a-diaerisis>;<REU>;<CAP>;IGNORE
- <U01FD> <a-diaerisis>;<U01FD>;<MIN>;IGNORE
--<U01FC> <a-diaerisis>;<U01FD>;<CAP>;IGNORE
- <U01E3> <a-diaerisis>;<MAC>;<MIN>;IGNORE
--<U01E2> <a-diaerisis>;<MAC>;<CAP>;IGNORE
- <U00F6> <o-diaerisis>;<BAS>;<MIN>;IGNORE
--<U00D6> <o-diaerisis>;<BAS>;<CAP>;IGNORE
- <U00F8> <o-diaerisis>;<U00D8>;<MIN>;IGNORE
--<U00D8> <o-diaerisis>;<U00D8>;<CAP>;IGNORE
- <U01FF> <o-diaerisis>;<U01FF>;<MIN>;IGNORE
--<U01FE> <o-diaerisis>;<U01FF>;<CAP>;IGNORE
- <U00F5> <o-diaerisis>;<TIL>;<MIN>;IGNORE
-+reorder-after <U005A>
-+<U00C5> <a-ring>;<BAS>;<CAP>;IGNORE
-+<U01FA> <a-ring>;<ACA>;<CAP>;IGNORE
-+<U00C4> <a-diaerisis>;<BAS>;<CAP>;IGNORE
-+<U00C6> <a-diaerisis>;<REU>;<CAP>;IGNORE
-+<U01FC> <a-diaerisis>;<U01FD>;<CAP>;IGNORE
-+<U01E2> <a-diaerisis>;<MAC>;<CAP>;IGNORE
-+<U00D6> <o-diaerisis>;<BAS>;<CAP>;IGNORE
-+<U00D8> <o-diaerisis>;<U00D8>;<CAP>;IGNORE
-+<U01FE> <o-diaerisis>;<U01FF>;<CAP>;IGNORE
- <U00D5> <o-diaerisis>;<TIL>;<CAP>;IGNORE
--reorder-after <U016A>
-+reorder-after <U016B>
- <U0076> <v>;<U0056>;<BAS>;<MIN>
--<U0056> <v>;<U0056>;<BAS>;<CAP>
- <U1E7D> <v>;<U0056>;<TIL>;<MIN>
--<U1E7C> <v>;<U0056>;<TIL>;<CAP>
- <U0077> <w>;<U0057>;<BAS>;<MIN>
--<U0057> <w>;<U0057>;<BAS>;<CAP>
- <U1E83> <w>;<U0057>;<ACA>;<MIN>
--<U1E82> <w>;<U0057>;<ACA>;<CAP>
- <U1E81> <w>;<U0057>;<GRA>;<MIN>
--<U1E80> <w>;<U0057>;<GRA>;<CAP>
- <U0175> <w>;<U0057>;<CIR>;<MIN>
--<U0174> <w>;<U0057>;<CIR>;<CAP>
- <U1E85> <w>;<U0057>;<REU>;<MIN>
--<U1E84> <w>;<U0057>;<REU>;<CAP>
- <U1E87> <w>;<U0057>;<PCT>;<MIN>
-+reorder-after <U016A>
-+<U0056> <v>;<U0056>;<BAS>;<CAP>
-+<U1E7C> <v>;<U0056>;<TIL>;<CAP>
-+<U0057> <w>;<U0057>;<BAS>;<CAP>
-+<U1E82> <w>;<U0057>;<ACA>;<CAP>
-+<U1E80> <w>;<U0057>;<GRA>;<CAP>
-+<U0174> <w>;<U0057>;<CIR>;<CAP>
-+<U1E84> <w>;<U0057>;<REU>;<CAP>
- <U1E86> <w>;<U0057>;<PCT>;<CAP>
- reorder-after <U00FF>
- <U00FC> <y>;<DTT>;<MIN>;IGNORE
-+reorder-after <U0178>
- <U00DC> <y>;<DTT>;<CAP>;IGNORE
- %  Present in iso14651_t1, but these definitions seem to have been
- %  removed from latest iso14651 tables.
--reorder-after <U0162>
-+reorder-after <U0163>
- <U00FE> "<t><h>";"<LIG><LIG>";"<MIN><MIN>";IGNORE
-+reorder-after <U0162>
- <U00DE> "<t><h>";"<LIG><LIG>";"<CAP><CAP>";IGNORE
- reorder-after <U0064>
- <U00F0> <d>;<PCL>;<MIN>;IGNORE
--<U00D0> <d>;<PCL>;<CAP>;IGNORE
- <U0111> <d>;<OBL>;<MIN>;IGNORE
-+reorder-after <U0044>
-+<U00D0> <d>;<PCL>;<CAP>;IGNORE
- <U0110> <d>;<OBL>;<CAP>;IGNORE
- reorder-end
diff --git a/src/patches/glibc/glibc-rh823909.patch b/src/patches/glibc/glibc-rh823909.patch
deleted file mode 100644 (file)
index ed9c4c9..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/iconvdata/ibm930.c b/iconvdata/ibm930.c
-index 25a9be0..6f758eb 100644
---- a/iconvdata/ibm930.c
-+++ b/iconvdata/ibm930.c
-@@ -162,7 +162,8 @@ enum
-       while (ch > rp2->end)                                                 \
-         ++rp2;                                                              \
-                                                                             \
--      if (__builtin_expect (ch < rp2->start, 0)                             \
-+      if (__builtin_expect (rp2->start == 0xffff, 0)                        \
-+          || __builtin_expect (ch < rp2->start, 0)                          \
-           || (res = __ibm930db_to_ucs4[ch + rp2->idx],                      \
-               __builtin_expect (res, L'\1') == L'\0' && ch != '\0'))        \
-         {                                                                   \
-@@ -215,7 +216,8 @@ enum
-       while (ch > rp2->end)                                                 \
-         ++rp2;                                                              \
-                                                                             \
--      if (__builtin_expect (ch < rp2->start, 0)                             \
-+      if (__builtin_expect (rp2->start == 0xffff, 0)                        \
-+          || __builtin_expect (ch < rp2->start, 0)                          \
-           || (cp = __ucs4_to_ibm930db[ch + rp2->idx],                       \
-               __builtin_expect (cp[0], L'\1')== L'\0' && ch != '\0'))       \
-         {                                                                   \
-
diff --git a/src/patches/glibc/glibc-rh826149.patch b/src/patches/glibc/glibc-rh826149.patch
deleted file mode 100644 (file)
index 805572b..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-diff -Nrup a/posix/fnmatch.c b/posix/fnmatch.c
---- a/posix/fnmatch.c  2012-05-25 12:37:26.566678872 -0400
-+++ b/posix/fnmatch.c  2012-05-25 13:08:44.451972286 -0400
-@@ -333,6 +333,7 @@ fnmatch (pattern, string, flags)
- # if HANDLE_MULTIBYTE
-   if (__builtin_expect (MB_CUR_MAX, 1) != 1)
-     {
-+      const char *orig_pattern = pattern;
-       mbstate_t ps;
-       size_t n;
-       const char *p;
-@@ -356,10 +357,9 @@ fnmatch (pattern, string, flags)
-                                                alloca_used);
-         n = mbsrtowcs (wpattern, &p, n + 1, &ps);
-         if (__builtin_expect (n == (size_t) -1, 0))
--          /* Something wrong.
--             XXX Do we have to set `errno' to something which mbsrtows hasn't
--             already done?  */
--          return -1;
-+          /* Something wrong: Fall back to single byte matching. */
-+          goto try_singlebyte;
-+
-         if (p)
-           {
-             memset (&ps, '\0', sizeof (ps));
-@@ -371,10 +371,8 @@ fnmatch (pattern, string, flags)
-       prepare_wpattern:
-         n = mbsrtowcs (NULL, &pattern, 0, &ps);
-         if (__builtin_expect (n == (size_t) -1, 0))
--          /* Something wrong.
--             XXX Do we have to set `errno' to something which mbsrtows hasn't
--             already done?  */
--          return -1;
-+          /* Something wrong: Fall back to single byte matching. */
-+          goto try_singlebyte;
-         if (__builtin_expect (n >= (size_t) -1 / sizeof (wchar_t), 0))
-           {
-             __set_errno (ENOMEM);
-@@ -401,14 +399,8 @@ fnmatch (pattern, string, flags)
-                                               alloca_used);
-         n = mbsrtowcs (wstring, &p, n + 1, &ps);
-         if (__builtin_expect (n == (size_t) -1, 0))
--          {
--            /* Something wrong.
--               XXX Do we have to set `errno' to something which
--               mbsrtows hasn't already done?  */
--          free_return:
--            free (wpattern_malloc);
--            return -1;
--          }
-+          /* Something wrong: Fall back to single byte matching. */
-+          goto free_and_try_singlebyte;
-         if (p)
-           {
-             memset (&ps, '\0', sizeof (ps));
-@@ -420,10 +412,8 @@ fnmatch (pattern, string, flags)
-       prepare_wstring:
-         n = mbsrtowcs (NULL, &string, 0, &ps);
-         if (__builtin_expect (n == (size_t) -1, 0))
--          /* Something wrong.
--             XXX Do we have to set `errno' to something which mbsrtows hasn't
--             already done?  */
--          goto free_return;
-+          /* Something wrong: Fall back to single byte matching. */
-+          goto free_and_try_singlebyte;
-         if (__builtin_expect (n >= (size_t) -1 / sizeof (wchar_t), 0))
-           {
-             free (wpattern_malloc);
-@@ -450,6 +440,11 @@ fnmatch (pattern, string, flags)
-       free (wpattern_malloc);
-       return res;
-+
-+      free_and_try_singlebyte:
-+      free(wpattern_malloc);
-+      try_singlebyte:
-+      pattern = orig_pattern;
-     }
- # endif  /* mbstate_t and mbsrtowcs or _LIBC.  */
diff --git a/src/patches/glibc/glibc-rh827362.patch b/src/patches/glibc/glibc-rh827362.patch
deleted file mode 100644 (file)
index 7e6d07e..0000000
+++ /dev/null
@@ -1,250 +0,0 @@
-diff -pruN glibc-2.12-2-gc4ccff1/libio/Makefile glibc-2.12-2-gc4ccff1.fseek/libio/Makefile
---- glibc-2.12-2-gc4ccff1/libio/Makefile       2010-05-04 16:57:23.000000000 +0530
-+++ glibc-2.12-2-gc4ccff1.fseek/libio/Makefile 2012-09-05 17:28:08.699360413 +0530
-@@ -58,7 +58,7 @@ tests = tst_swprintf tst_wprintf tst_sws
-       tst-memstream1 tst-memstream2 \
-       tst-wmemstream1 tst-wmemstream2 \
-       bug-memstream1 bug-wmemstream1 \
--      tst-setvbuf1 tst-popen1 tst-fgetwc bug-wsetpos
-+      tst-setvbuf1 tst-popen1 tst-fgetwc bug-wsetpos tst-fseek
- test-srcs = test-freopen
- all: # Make this the default target; it will be defined in Rules.
-diff -pruN glibc-2.12-2-gc4ccff1/libio/tst-fseek.c glibc-2.12-2-gc4ccff1.fseek/libio/tst-fseek.c
---- glibc-2.12-2-gc4ccff1/libio/tst-fseek.c    1970-01-01 05:30:00.000000000 +0530
-+++ glibc-2.12-2-gc4ccff1.fseek/libio/tst-fseek.c      2012-09-05 17:27:33.606359692 +0530
-@@ -0,0 +1,153 @@
-+/* Verify that fseek/ftell combination works for wide chars.
-+
-+   Copyright (C) 2012 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, see
-+   <http://www.gnu.org/licenses/>.  */
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <locale.h>
-+#include <errno.h>
-+#include <wchar.h>
-+#include <unistd.h>
-+#include <string.h>
-+
-+/* Defined in test-skeleton.c.  */
-+static int create_temp_file (const char *base, char **filename);
-+
-+
-+static int
-+do_seek_end (FILE *fp)
-+{
-+  long save;
-+
-+  if (fp == NULL)
-+    {
-+      printf ("do_seek_end: fopen: %s\n", strerror (errno));
-+      return 1;
-+    }
-+
-+  if (fputws (L"abc\n", fp) == -1)
-+    {
-+      printf ("do_seek_end: fputws: %s\n", strerror (errno));
-+      return 1;
-+    }
-+
-+  save = ftell (fp);
-+  rewind (fp);
-+
-+  if (fseek (fp, 0, SEEK_END) == -1)
-+    {
-+      printf ("do_seek_end: fseek: %s\n", strerror (errno));
-+      return 1;
-+    }
-+
-+  if (save != ftell (fp))
-+    {
-+      printf ("save = %ld, ftell = %ld\n", save, ftell (fp));
-+      return 1;
-+    }
-+
-+  return 0;
-+}
-+
-+int
-+do_seek_set (FILE *fp)
-+{
-+  long save;
-+
-+  if (fputws (L"abc\n", fp) == -1)
-+    {
-+      printf ("seek_set: fputws: %s\n", strerror (errno));
-+      return 1;
-+    }
-+
-+  save = ftell (fp);
-+
-+  if (fputws (L"xyz\n", fp) == -1)
-+    {
-+      printf ("seek_set: fputws: %s\n", strerror (errno));
-+      return 1;
-+    }
-+
-+  if (fseek (fp, save, SEEK_SET) == -1)
-+    {
-+      printf ("seek_set: fseek: %s\n", strerror (errno));
-+      return 1;
-+    }
-+
-+  if (save != ftell (fp))
-+    {
-+      printf ("save = %ld, ftell = %ld\n", save, ftell (fp));
-+      return 1;
-+    }
-+
-+  return 0;
-+}
-+
-+static int
-+do_test (void)
-+{
-+  if (setlocale (LC_ALL, "en_US.utf8") == NULL)
-+    {
-+      printf ("Cannot set en_US.utf8 locale.\n");
-+      exit (1);
-+    }
-+
-+  int ret = 0;
-+  char *filename;
-+  int fd = create_temp_file ("tst-fseek.out", &filename);
-+
-+  if (fd == -1)
-+    return 1;
-+
-+  FILE *fp = fdopen (fd, "w+");
-+  if (fp == NULL)
-+    {
-+      printf ("seek_set: fopen: %s\n", strerror (errno));
-+      close (fd);
-+      return 1;
-+    }
-+
-+  if (do_seek_set (fp))
-+    {
-+      printf ("SEEK_SET test failed\n");
-+      ret = 1;
-+    }
-+
-+  /* Reopen the file.  */
-+  fclose (fp);
-+  fp = fopen (filename, "w+");
-+  if (fp == NULL)
-+    {
-+      printf ("seek_end: fopen: %s\n", strerror (errno));
-+      return 1;
-+    }
-+
-+  if (do_seek_end (fp))
-+    {
-+      printf ("SEEK_END test failed\n");
-+      ret = 1;
-+    }
-+
-+  fclose (fp);
-+
-+  return ret;
-+}
-+
-+
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
-diff -pruN glibc-2.12-2-gc4ccff1/libio/wfileops.c glibc-2.12-2-gc4ccff1.fseek/libio/wfileops.c
---- glibc-2.12-2-gc4ccff1/libio/wfileops.c     2010-05-04 16:57:23.000000000 +0530
-+++ glibc-2.12-2-gc4ccff1.fseek/libio/wfileops.c       2012-09-05 17:27:33.608359685 +0530
-@@ -547,6 +547,55 @@ _IO_wfile_sync (fp)
- }
- INTDEF(_IO_wfile_sync)
-+/* Adjust the internal buffer pointers to reflect the state in the external
-+   buffer.  The content between fp->_IO_read_base and fp->_IO_read_ptr is
-+   assumed to be converted and available in the range
-+   fp->_wide_data->_IO_read_base and fp->_wide_data->_IO_read_end.  */
-+static inline int
-+adjust_wide_data (_IO_FILE *fp, bool do_convert)
-+{
-+  struct _IO_codecvt *cv = fp->_codecvt;
-+
-+  int clen = (*cv->__codecvt_do_encoding) (cv);
-+
-+  /* Take the easy way out for constant length encodings if we don't need to
-+     convert.  */
-+  if (!do_convert && clen > 0)
-+    {
-+      fp->_wide_data->_IO_read_end += ((fp->_IO_read_ptr - fp->_IO_read_base)
-+                                     / clen);
-+      goto done;
-+    }
-+
-+  enum __codecvt_result status;
-+  const char *read_stop = (const char *) fp->_IO_read_base;
-+  do
-+    {
-+
-+      fp->_wide_data->_IO_last_state = fp->_wide_data->_IO_state;
-+      status = (*cv->__codecvt_do_in) (cv, &fp->_wide_data->_IO_state,
-+                                     fp->_IO_read_base, fp->_IO_read_ptr,
-+                                     &read_stop,
-+                                     fp->_wide_data->_IO_read_base,
-+                                     fp->_wide_data->_IO_buf_end,
-+                                     &fp->_wide_data->_IO_read_end);
-+
-+      /* Should we return EILSEQ?  */
-+      if (__builtin_expect (status == __codecvt_error, 0))
-+      {
-+        fp->_flags |= _IO_ERR_SEEN;
-+        return -1;
-+      }
-+    }
-+  while (__builtin_expect (status == __codecvt_partial, 0));
-+
-+done:
-+  /* Now seek to the end of the read buffer.  */
-+  fp->_wide_data->_IO_read_ptr = fp->_wide_data->_IO_read_end;
-+
-+  return 0;
-+}
-+
- _IO_off64_t
- _IO_wfile_seekoff (fp, offset, dir, mode)
-      _IO_FILE *fp;
-@@ -695,6 +744,10 @@ _IO_wfile_seekoff (fp, offset, dir, mode
-                    fp->_wide_data->_IO_buf_base);
-         _IO_wsetp (fp, fp->_wide_data->_IO_buf_base,
-                    fp->_wide_data->_IO_buf_base);
-+
-+        if (adjust_wide_data (fp, false))
-+          goto dumb;
-+
-         _IO_mask_flags (fp, 0, _IO_EOF_SEEN);
-         goto resync;
-       }
-@@ -735,6 +788,10 @@ _IO_wfile_seekoff (fp, offset, dir, mode
-   _IO_wsetg (fp, fp->_wide_data->_IO_buf_base,
-            fp->_wide_data->_IO_buf_base, fp->_wide_data->_IO_buf_base);
-   _IO_wsetp (fp, fp->_wide_data->_IO_buf_base, fp->_wide_data->_IO_buf_base);
-+
-+  if (adjust_wide_data (fp, true))
-+    goto dumb;
-+
-   fp->_offset = result + count;
-   _IO_mask_flags (fp, 0, _IO_EOF_SEEN);
-   return offset;
diff --git a/src/patches/glibc/glibc-rh830127.patch b/src/patches/glibc/glibc-rh830127.patch
deleted file mode 100644 (file)
index 06dea73..0000000
+++ /dev/null
@@ -1,403 +0,0 @@
-diff -Nrup a/stdio-common/bug22.c b/stdio-common/bug22.c
---- a/stdio-common/bug22.c     2010-05-04 05:27:23.000000000 -0600
-+++ b/stdio-common/bug22.c     2012-08-03 13:56:40.887829210 -0600
-@@ -1,12 +1,22 @@
- /* BZ #5424 */
- #include <stdio.h>
-+#include <errno.h>
-+/* INT_MAX + 1 */
- #define N 2147483648
-+/* (INT_MAX / 2) + 2 */
-+#define N2 1073741825
-+
-+/* INT_MAX - 3 */
-+#define N3 2147483644
-+
- #define STRINGIFY(S) #S
- #define MAKE_STR(S) STRINGIFY(S)
- #define SN MAKE_STR(N)
-+#define SN2 MAKE_STR(N2)
-+#define SN3 MAKE_STR(N3)
- static int
- do_test (void)
-@@ -20,13 +30,27 @@ do_test (void)
-       return 1;
-     }
--  ret = fprintf (fp, "%" SN "d%" SN "d", 1, 1);
-+  ret = fprintf (fp, "%" SN "d", 1);
-+  printf ("ret = %d\n", ret);
-+  if (ret != -1 || errno != EOVERFLOW)
-+        return 1;
-+
-+  ret = fprintf (fp, "%." SN "d", 1);
-+  printf ("ret = %d\n", ret);
-+  if (ret != -1 || errno != EOVERFLOW)
-+        return 1;
-+
-+  ret = fprintf (fp, "%." SN3 "d", 1);
-+  printf ("ret = %d\n", ret);
-+  if (ret != -1 || errno != EOVERFLOW)
-+        return 1;
-+  ret = fprintf (fp, "%" SN2 "d%" SN2 "d", 1, 1);
-   printf ("ret = %d\n", ret);
--  return ret != -1;
-+  return ret != -1 || errno != EOVERFLOW;
- }
--#define TIMEOUT 30
-+#define TIMEOUT 60
- #define TEST_FUNCTION do_test ()
- #include "../test-skeleton.c"
-diff -Nrup a/stdio-common/printf-parse.h b/stdio-common/printf-parse.h
---- a/stdio-common/printf-parse.h      2010-05-04 05:27:23.000000000 -0600
-+++ b/stdio-common/printf-parse.h      2012-08-03 13:57:31.932638761 -0600
-@@ -14,9 +14,8 @@
-    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.  */
-+   License along with the GNU C Library; if not, see
-+   <http://www.gnu.org/licenses/>.  */
- #include <printf.h>
- #include <stdint.h>
-@@ -69,16 +68,27 @@ union printf_arg
- #ifndef DONT_NEED_READ_INT
- /* Read a simple integer from a string and update the string pointer.
-    It is assumed that the first character is a digit.  */
--static unsigned int
-+static int
- read_int (const UCHAR_T * *pstr)
- {
--  unsigned int retval = **pstr - L_('0');
-+  int retval = **pstr - L_('0');
-   while (ISDIGIT (*++(*pstr)))
--    {
--      retval *= 10;
--      retval += **pstr - L_('0');
--    }
-+    if (retval >= 0)
-+      {
-+      if (INT_MAX / 10 < retval)
-+        retval = -1;
-+      else
-+        {
-+          int digit = **pstr - L_('0');
-+
-+          retval *= 10;
-+          if (INT_MAX - digit < retval)
-+            retval = -1;
-+          else
-+            retval += digit;
-+        }
-+      }
-   return retval;
- }
-diff -Nrup a/stdio-common/printf-parsemb.c b/stdio-common/printf-parsemb.c
---- a/stdio-common/printf-parsemb.c    2010-05-04 05:27:23.000000000 -0600
-+++ b/stdio-common/printf-parsemb.c    2012-08-03 13:58:44.683366361 -0600
-@@ -13,9 +13,8 @@
-    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.  */
-+   License along with the GNU C Library; if not, see
-+   <http://www.gnu.org/licenses/>.  */
- #include <ctype.h>
- #include <limits.h>
-@@ -88,12 +87,15 @@ __parse_one_specmb (const UCHAR_T *forma
-       n = read_int (&format);
--      if (n > 0 && *format == L_('$'))
-+      if (n != 0 && *format == L_('$'))
-       /* Is positional parameter.  */
-       {
-         ++format;             /* Skip the '$'.  */
--        spec->data_arg = n - 1;
--        *max_ref_arg = MAX (*max_ref_arg, n);
-+        if (n != -1)
-+          {
-+            spec->data_arg = n - 1;
-+            *max_ref_arg = MAX (*max_ref_arg, n);
-+          }
-       }
-       else
-       /* Oops; that was actually the width and/or 0 padding flag.
-@@ -161,10 +163,13 @@ __parse_one_specmb (const UCHAR_T *forma
-         /* The width argument might be found in a positional parameter.  */
-         n = read_int (&format);
--        if (n > 0 && *format == L_('$'))
-+        if (n != 0 && *format == L_('$'))
-           {
--            spec->width_arg = n - 1;
--            *max_ref_arg = MAX (*max_ref_arg, n);
-+            if (n != -1)
-+              {
-+                spec->width_arg = n - 1;
-+                *max_ref_arg = MAX (*max_ref_arg, n);
-+              }
-             ++format;         /* Skip '$'.  */
-           }
-       }
-@@ -178,9 +183,13 @@ __parse_one_specmb (const UCHAR_T *forma
-       }
-     }
-   else if (ISDIGIT (*format))
--    /* Constant width specification.  */
--    spec->info.width = read_int (&format);
-+    {
-+      int n = read_int (&format);
-+      /* Constant width specification.  */
-+      if (n != -1)
-+      spec->info.width = n;
-+    }
-   /* Get the precision.  */
-   spec->prec_arg = -1;
-   /* -1 means none given; 0 means explicit 0.  */
-@@ -197,10 +206,13 @@ __parse_one_specmb (const UCHAR_T *forma
-           {
-             n = read_int (&format);
--            if (n > 0 && *format == L_('$'))
-+            if (n != 0 && *format == L_('$'))
-               {
--                spec->prec_arg = n - 1;
--                *max_ref_arg = MAX (*max_ref_arg, n);
-+                if (n != -1)
-+                  {
-+                    spec->prec_arg = n - 1;
-+                    *max_ref_arg = MAX (*max_ref_arg, n);
-+                  }
-                 ++format;
-               }
-           }
-@@ -214,7 +226,12 @@ __parse_one_specmb (const UCHAR_T *forma
-           }
-       }
-       else if (ISDIGIT (*format))
--      spec->info.prec = read_int (&format);
-+      {
-+        int n = read_int (&format);
-+
-+        if (n != -1)
-+          spec->info.prec = n;
-+      }
-       else
-       /* "%.?" is treated like "%.0?".  */
-       spec->info.prec = 0;
-@@ -295,9 +312,9 @@ __parse_one_specmb (const UCHAR_T *forma
-       /* We don't try to get the types for all arguments if the format
-        uses more than one.  The normal case is covered though.  If
-        the call returns -1 we continue with the normal specifiers.  */
--      || (spec->ndata_args = (*__printf_arginfo_table[spec->info.spec])
--        (&spec->info, 1, &spec->data_arg_type,
--         &spec->size)) < 0)
-+      || (int) (spec->ndata_args = (*__printf_arginfo_table[spec->info.spec])
-+                                 (&spec->info, 1, &spec->data_arg_type,
-+                                  &spec->size)) < 0)
-     {
-       /* Find the data argument types of a built-in spec.  */
-       spec->ndata_args = 1;
-diff -Nrup a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c
---- a/stdio-common/vfprintf.c  2012-08-03 13:31:26.605168350 -0600
-+++ b/stdio-common/vfprintf.c  2012-08-03 14:09:26.836725512 -0600
-@@ -1,4 +1,4 @@
--/* Copyright (C) 1991-2008, 2009   Free Software Foundation, Inc.
-+/* Copyright (C) 1991-2012   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
-@@ -12,9 +12,8 @@
-    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.  */
-+   License along with the GNU C Library; if not, see
-+   <http://www.gnu.org/licenses/>.  */
- #include <ctype.h>
- #include <limits.h>
-@@ -67,10 +66,10 @@
-   do {                                                                              \
-     unsigned int _val = val;                                                \
-     assert ((unsigned int) done < (unsigned int) INT_MAX);                  \
--    if (__builtin_expect ((unsigned int) INT_MAX - (unsigned int) done              \
--                        < _val, 0))                                         \
-+    if (__builtin_expect (INT_MAX - done < _val, 0))                        \
-       {                                                                             \
-       done = -1;                                                            \
-+       __set_errno (EOVERFLOW);                                             \
-       goto all_done;                                                        \
-       }                                                                             \
-     done += _val;                                                           \
-@@ -141,12 +140,17 @@
-   do                                                                        \
-     {                                                                       \
-       assert ((size_t) done <= (size_t) INT_MAX);                           \
--      if ((size_t) PUT (s, (String), (Len)) != (size_t) (Len)               \
--        || (size_t) INT_MAX - (size_t) done < (size_t) (Len))               \
-+      if ((size_t) PUT (s, (String), (Len)) != (size_t) (Len))                      \
-       {                                                                     \
-         done = -1;                                                          \
-         goto all_done;                                                      \
-       }                                                                     \
-+      if (__builtin_expect (INT_MAX - done < (Len), 0))                             \
-+      {                                                                             \
-+      done = -1;                                                            \
-+       __set_errno (EOVERFLOW);                                             \
-+      goto all_done;                                                        \
-+      }                                                                             \
-       done += (Len);                                                        \
-     }                                                                       \
-   while (0)
-@@ -1435,10 +1439,21 @@ vfprintf (FILE *s, const CHAR_T *format,
-       const UCHAR_T *tmp;     /* Temporary value.  */
-       tmp = ++f;
--      if (ISDIGIT (*tmp) && read_int (&tmp) && *tmp == L_('$'))
--        /* The width comes from a positional parameter.  */
--        goto do_positional;
-+      if (ISDIGIT (*tmp))
-+        {
-+          int pos = read_int (&tmp);
-+          if (pos == -1)
-+            {
-+              __set_errno (EOVERFLOW);
-+              done = -1;
-+              goto all_done;
-+            }
-+
-+          if (pos && *tmp == L_('$'))
-+            /* The width comes from a positional parameter.  */
-+            goto do_positional;
-+        }
-       width = va_arg (ap, int);
-       /* Negative width means left justified.  */
-@@ -1449,9 +1464,9 @@ vfprintf (FILE *s, const CHAR_T *format,
-           left = 1;
-         }
--      if (__builtin_expect (width >= (size_t) -1 / sizeof (CHAR_T) - 32, 0))
-+      if (__builtin_expect (width >= INT_MAX / sizeof (CHAR_T) - 32, 0))
-         {
--          __set_errno (ERANGE);
-+          __set_errno (EOVERFLOW);
-           done = -1;
-           goto all_done;
-         }
-@@ -1481,9 +1496,10 @@ vfprintf (FILE *s, const CHAR_T *format,
-     LABEL (width):
-       width = read_int (&f);
--      if (__builtin_expect (width >= (size_t) -1 / sizeof (CHAR_T) - 32, 0))
-+      if (__builtin_expect (width == -1
-+                          || width >= INT_MAX / sizeof (CHAR_T) - 32, 0))
-       {
--        __set_errno (ERANGE);
-+        __set_errno (EOVERFLOW);
-         done = -1;
-         goto all_done;
-       }
-@@ -1518,10 +1534,21 @@ vfprintf (FILE *s, const CHAR_T *format,
-         const UCHAR_T *tmp;   /* Temporary value.  */
-         tmp = ++f;
--        if (ISDIGIT (*tmp) && read_int (&tmp) > 0 && *tmp == L_('$'))
--          /* The precision comes from a positional parameter.  */
--          goto do_positional;
-+        if (ISDIGIT (*tmp))
-+          {
-+            int pos = read_int (&tmp);
-+
-+            if (pos == -1)
-+              {
-+                __set_errno (EOVERFLOW);
-+                done = -1;
-+                goto all_done;
-+              }
-+            if (pos && *tmp == L_('$'))
-+              /* The precision comes from a positional parameter.  */
-+              goto do_positional;
-+          }
-         prec = va_arg (ap, int);
-         /* If the precision is negative the precision is omitted.  */
-@@ -1529,15 +1556,26 @@ vfprintf (FILE *s, const CHAR_T *format,
-           prec = -1;
-       }
-       else if (ISDIGIT (*f))
--      prec = read_int (&f);
-+      {
-+        prec = read_int (&f);
-+
-+        /* The precision was specified in this case as an extremely
-+           large positive value.  */
-+        if (prec == -1)
-+          {
-+            __set_errno (EOVERFLOW);
-+            done = -1;
-+            goto all_done;
-+          }
-+      }
-       else
-       prec = 0;
-       if (prec > width
-         && prec > sizeof (work_buffer) / sizeof (work_buffer[0]) - 32)
-       {
--        if (__builtin_expect (prec >= (size_t) -1 / sizeof (CHAR_T) - 32, 0))
-+        if (__builtin_expect (prec >= INT_MAX / sizeof (CHAR_T) - 32, 0))
-           {
--            __set_errno (ERANGE);
-+            __set_errno (EOVERFLOW);
-             done = -1;
-             goto all_done;
-           }
-@@ -1722,13 +1760,13 @@ do_positional:
-     nargs = MAX (nargs, max_ref_arg);
-     /* Calculate total size needed to represent a single argument across
-        all three argument-related arrays.  */
--    bytes_per_arg = sizeof (*args_value) + sizeof (*args_size)
--                    + sizeof (*args_type);
-+    bytes_per_arg = (sizeof (*args_value) + sizeof (*args_size)
-+                   + sizeof (*args_type));
-     /* Check for potential integer overflow.  */
--    if (__builtin_expect (nargs > SIZE_MAX / bytes_per_arg, 0))
-+    if (__builtin_expect (nargs > INT_MAX / bytes_per_arg, 0))
-       {
--         __set_errno (ERANGE);
-+       __set_errno (EOVERFLOW);
-          done = -1;
-          goto all_done;
-       }
-@@ -1746,6 +1784,8 @@ do_positional:
-           }
-       }
-+    /* Set up the remaining two arrays to each point past the end of the
-+       prior array, since space for all three has been allocated now.  */
-     args_size = &args_value[nargs].pa_int;
-     args_type = &args_size[nargs];
-     memset (args_type, s->_flags2 & _IO_FLAGS2_FORTIFY ? '\xff' : '\0',
diff --git a/src/patches/glibc/glibc-rh832516.patch b/src/patches/glibc/glibc-rh832516.patch
deleted file mode 100644 (file)
index 476af4b..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -Nrup a/locale/loadlocale.c b/locale/loadlocale.c
---- a/locale/loadlocale.c      2010-05-04 07:27:23.000000000 -0400
-+++ b/locale/loadlocale.c      2012-08-05 17:19:47.761384155 -0400
-@@ -170,7 +170,6 @@ _nl_load_locale (struct loaded_l10nfile 
-   int save_err;
-   int alloc = ld_mapped;
--  file->decided = 1;
-   file->data = NULL;
-   fd = open_not_cancel_2 (file->filename, O_RDONLY);
-@@ -279,6 +278,7 @@ _nl_load_locale (struct loaded_l10nfile 
-   newdata->alloc = alloc;
-   file->data = newdata;
-+  file->decided = 1;
- }
- void
diff --git a/src/patches/glibc/glibc-rh832694.patch b/src/patches/glibc/glibc-rh832694.patch
deleted file mode 100644 (file)
index 249afb5..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/sysdeps/gnu/errlist.c b/sysdeps/gnu/errlist.c
-index e3d2faf..5437ff8 100644
---- a/sysdeps/gnu/errlist.c
-+++ b/sysdeps/gnu/errlist.c
-@@ -780,11 +780,12 @@ TRANS The user's disk quota was exceeded. */
- #endif
- #ifdef ESTALE
- /*
--TRANS Stale NFS file handle.  This indicates an internal confusion in the NFS
--TRANS system which is due to file system rearrangements on the server host.
--TRANS Repairing this condition usually requires unmounting and remounting
--TRANS the NFS file system on the local host. */
--    [ERR_REMAP (ESTALE)] = N_("Stale NFS file handle"),
-+TRANS Stale file handle.  This indicates an internal confusion in the 
-+TRANS file system which is due to file system rearrangements on the server host
-+TRANS for NFS filesystems or corruption in other filesystems.
-+TRANS Repairing this condition usually requires unmounting, possibly
-+TRANS repairing and remounting the file system. */
-+    [ERR_REMAP (ESTALE)] = N_("Stale file handle"),
- # if ESTALE > ERR_MAX
- # undef ERR_MAX
- # define ERR_MAX ESTALE
diff --git a/src/patches/glibc/glibc-rh833717.patch b/src/patches/glibc/glibc-rh833717.patch
deleted file mode 100644 (file)
index e44573c..0000000
+++ /dev/null
@@ -1,45265 +0,0 @@
-diff -Nrup a/stdio-common/Makefile b/stdio-common/Makefile
---- a/stdio-common/Makefile    2012-05-23 14:54:54.670443298 -0600
-+++ b/stdio-common/Makefile    2012-05-22 13:47:51.000000000 -0600
-@@ -60,7 +60,7 @@ tests := tstscanf test_rdwr test-popen t
-        tst-popen tst-unlockedio tst-fmemopen2 tst-put-error tst-fgets \
-        tst-fwrite bug16 bug17 tst-swscanf tst-sprintf2 bug18 bug18a \
-        bug19 bug19a tst-popen2 scanf13 scanf14 scanf15 bug20 bug21 bug22 \
--       scanf16 scanf17 tst-setvbuf1 bug-vfprintf-nargs
-+       scanf16 scanf17 tst-setvbuf1 bug-vfprintf-nargs bug23 bug23-2 bug23-3
- test-srcs = tst-unbputc tst-printf
-diff -Nrup a/stdio-common/bug23-2.c b/stdio-common/bug23-2.c
---- a/stdio-common/bug23-2.c   1969-12-31 17:00:00.000000000 -0700
-+++ b/stdio-common/bug23-2.c   2012-05-24 07:12:55.331644716 -0600
-@@ -0,0 +1,70 @@
-+#include <stdio.h>
-+#include <string.h>
-+#include <stdlib.h>
-+
-+static const char expected[] = "\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55%%%%%%%%%%%%%%%%%%%%%%%%%%\n";
-+
-+static int
-+do_test (void)
-+{
-+  char *buf = malloc (strlen (expected) + 1);
-+  snprintf (buf, strlen (expected) + 1,
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
-+          "a", "b", "c", "d", 5);
-+  return strcmp (buf, expected) != 0;
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
-diff -Nrup a/stdio-common/bug23-3.c b/stdio-common/bug23-3.c
---- a/stdio-common/bug23-3.c   1969-12-31 17:00:00.000000000 -0700
-+++ b/stdio-common/bug23-3.c   2012-05-24 07:13:26.948480695 -0600
-@@ -0,0 +1,45076 @@
-+#include <stdio.h>
-+#include <string.h>
-+#include <stdlib.h>
-+
-+static const char expected[] = "\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55\
-+\n\
-+a\n\
-+abbcd55%%%%%%%%%%%%%%%%%%%%%%%%%%\n";
-+
-+
-+
-+int
-+do_test (void)
-+{
-+  char *buf = malloc (strlen (expected) + 1);
-+  snprintf (buf, strlen (expected) + 1, 
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
-+          "a", "b", "c", "d", 5);
-+  return (strcmp (buf, expected) != 0);
-+}
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
-+
-diff -Nrup a/stdio-common/bug23.c b/stdio-common/bug23.c
---- a/stdio-common/bug23.c     1969-12-31 17:00:00.000000000 -0700
-+++ b/stdio-common/bug23.c     2012-05-24 07:12:27.636788393 -0600
-@@ -0,0 +1,22 @@
-+#include <stdio.h>
-+#include <string.h>
-+#include <stdlib.h>
-+
-+static const char expected[] = "\
-+\n\
-+a\n\
-+abbcd55%%%%%%%%%%%%%%%%%%%%%%%%%%\n";
-+
-+static int
-+do_test (void)
-+{
-+  char *buf = malloc (strlen (expected) + 1);
-+  snprintf (buf, strlen (expected) + 1,
-+          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
-+          "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
-+          "a", "b", "c", "d", 5);
-+  return strcmp (buf, expected) != 0;
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
-diff -Nrup a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c
---- a/stdio-common/vfprintf.c  2012-05-23 14:54:54.689443199 -0600
-+++ b/stdio-common/vfprintf.c  2012-05-23 23:16:55.376155638 -0600
-@@ -238,6 +238,12 @@ vfprintf (FILE *s, const CHAR_T *format,
-   /* For the argument descriptions, which may be allocated on the heap.  */
-   void *args_malloced = NULL;
-+  /* For positional argument handling.  */
-+  struct printf_spec *specs;
-+
-+  /* Track if we malloced the SPECS array and thus must free it.  */
-+  bool specs_malloced = false;
-+
-   /* This table maps a character into a number representing a
-      class.  In each step there is a destination label for each
-      class.  */
-@@ -1638,10 +1644,10 @@ do_positional:
-     /* Array with information about the needed arguments.  This has to
-        be dynamically extensible.  */
-     size_t nspecs = 0;
--    size_t nspecs_max = 32;   /* A more or less arbitrary start value.  */
--    struct printf_spec *specs
--      = alloca (nspecs_max * sizeof (struct printf_spec));
-+    /* A more or less arbitrary start value.  */
-+    size_t nspecs_size = 32 * sizeof (struct printf_spec);
-+    specs = alloca (nspecs_size);
-     /* The number of arguments the format string requests.  This will
-        determine the size of the array needed to store the argument
-        attributes.  */
-@@ -1678,14 +1684,30 @@ do_positional:
-     for (f = lead_str_end; *f != L_('\0'); f = specs[nspecs++].next_fmt)
-       {
--      if (nspecs >= nspecs_max)
-+      if (nspecs * sizeof (*specs) >= nspecs_size)
-         {
-           /* Extend the array of format specifiers.  */
-           struct printf_spec *old = specs;
--          specs = extend_alloca (specs, nspecs_max, 2 * nspecs_max);
-+          if (__libc_use_alloca (2 * nspecs_size))
-+            specs = extend_alloca (specs, nspecs_size, 2 * nspecs_size);
-+          else
-+            {
-+              nspecs_size *= 2;
-+              specs = malloc (nspecs_size);
-+            }
-+              
-           /* Copy the old array's elements to the new space.  */
--          memmove (specs, old, nspecs * sizeof (struct printf_spec));
-+          memmove (specs, old, nspecs * sizeof (*specs));
-+
-+          /* If we had previously malloc'd space for SPECS, then
-+             release it after the copy is complete.  */
-+          if (specs_malloced)
-+            free (old);
-+
-+          /* Now set SPECS_MALLOCED if needed.  */
-+         if (!__libc_use_alloca (nspecs_size))
-+           specs_malloced = true;
-         }
-       /* Parse the format specifier.  */
-@@ -1998,6 +2020,8 @@ do_positional:
-   }
- all_done:
-+  if (specs_malloced)
-+    free (specs);
-   free (args_malloced);
-   free (workstart);
-   /* Unlock the stream.  */
diff --git a/src/patches/glibc/glibc-rh834386-2.patch b/src/patches/glibc/glibc-rh834386-2.patch
deleted file mode 100644 (file)
index ad895c7..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-2013-05-03  Carlos O'Donell  <carlos at redhat.com>
-
-        * intl/dcigettext.c (DCIGETTEXT): Skip translating if _nl_find_msg returns -1.
-        (_nl_find_msg): Return -1 if recursive call returned -1. If newmem is null
-        return -1.
-        * intl/loadmsgcat.c (_nl_load_domain): If _nl_find_msg returns -1 abort
-        loading the domain.
-
-diff -Nrup a/intl/dcigettext.c b/intl/dcigettext.c
---- a/intl/dcigettext.c        2010-05-04 07:27:23.000000000 -0400
-+++ b/intl/dcigettext.c        2013-08-01 00:11:54.616363264 -0400
-@@ -640,6 +640,11 @@ DCIGETTEXT (domainname, msgid1, msgid2, 
-                 retval = _nl_find_msg (domain->successor[cnt], binding,
-                                        msgid1, 1, &retlen);
-+                /* Resource problems are not fatal, instead we return no
-+                  translation.  */
-+                if (__builtin_expect (retval == (char *) -1, 0))
-+                  goto no_translation;
-+
-                 if (retval != NULL)
-                   {
-                     domain = domain->successor[cnt];
-@@ -943,6 +948,11 @@ _nl_find_msg (domain_file, domainbinding
-           nullentry =
-             _nl_find_msg (domain_file, domainbinding, "", 0, &nullentrylen);
-+          /* Resource problems are fatal.  If we continue onwards we will
-+             only attempt to calloc a new conv_tab and fail later.  */
-+          if (__builtin_expect (nullentry == (char *) -1, 0))
-+             return (char *) -1;
-+
-           if (nullentry != NULL)
-             {
-               const char *charsetstr;
-@@ -1156,7 +1166,7 @@ _nl_find_msg (domain_file, domainbinding
-                                                            freemem_size);
- # ifdef _LIBC
-                     if (newmem != NULL)
--                      transmem_list = transmem_list->next;
-+                      transmem_list = newmem;
-                     else
-                       {
-                         struct transmem_list *old = transmem_list;
-@@ -1171,6 +1181,16 @@ _nl_find_msg (domain_file, domainbinding
-                     malloc_count = 1;
-                     freemem_size = INITIAL_BLOCK_SIZE;
-                     newmem = (transmem_block_t *) malloc (freemem_size);
-+# ifdef _LIBC
-+                    if (newmem != NULL)
-+                      {
-+                        /* Add the block to the list of blocks we have to free
-+                           at some point.  */
-+                        newmem->next = transmem_list;
-+                        transmem_list = newmem;
-+                      }
-+                    /* Fall through and return -1.  */
-+# endif
-                   }
-                 if (__builtin_expect (newmem == NULL, 0))
-                   {
-@@ -1181,11 +1201,6 @@ _nl_find_msg (domain_file, domainbinding
-                   }
- # 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 = (unsigned char *) newmem->data;
-                 freemem_size -= offsetof (struct transmem_list, data);
- # else
-@@ -1402,7 +1417,7 @@ get_output_charset (domainbinding)
-         return _NL_CURRENT (LC_CTYPE, CODESET);
- # else
- #  if HAVE_ICONV
--        extern const char *locale_charset PARAMS ((void);
-+        extern const char *locale_charset PARAMS ((void));
-         return locale_charset ();
- #  endif
- # endif
-diff -Nrup a/intl/loadmsgcat.c b/intl/loadmsgcat.c
---- a/intl/loadmsgcat.c        2010-05-04 07:27:23.000000000 -0400
-+++ b/intl/loadmsgcat.c        2013-08-01 00:12:48.448237849 -0400
-@@ -1235,7 +1235,7 @@ _nl_load_domain (domain_file, domainbind
-     default:
-       /* This is an invalid revision.  */
-     invalid:
--      /* This is an invalid .mo file.  */
-+      /* This is an invalid .mo file or we ran out of resources.  */
-       free (domain->malloced);
- #ifdef HAVE_MMAP
-       if (use_mmap)
-@@ -1255,6 +1255,12 @@ _nl_load_domain (domain_file, domainbind
-   /* Get the header entry and look for a plural specification.  */
-   nullentry = _nl_find_msg (domain_file, domainbinding, "", 0, &nullentrylen);
-+  if (__builtin_expect (nullentry == (char *) -1, 0))
-+    {
-+      __libc_rwlock_fini (domain->conversions_lock);
-+      goto invalid;
-+    }
-+
-   EXTRACT_PLURAL_EXPRESSION (nullentry, &domain->plural, &domain->nplurals);
-  out:
diff --git a/src/patches/glibc/glibc-rh834386.patch b/src/patches/glibc/glibc-rh834386.patch
deleted file mode 100644 (file)
index 61ddbe8..0000000
+++ /dev/null
@@ -1,181 +0,0 @@
-#
-# Red Hat BZ:
-# https://bugzilla.redhat.com/show_bug.cgi?id=816647
-#
-# ChangeLog
-#
-#2013-04-30  Patsy Franklin  <pfrankli@redhat.com>
-#
-#      * iconv/gconv_cache.c (find_module): Demangle init_fct before 
-#      checking for NULL. Mangle __btowc_fct if init_fct is non-NULL.
-#      * iconv/gconv_db.c (free_derivation): Check that __shlib_handle 
-#      is non-NULL before demangling the end_fct.  Check for NULL
-#      end_fct after demangling.
-#      (__gconv_release_step): Demangle the end_fct before checking 
-#      it for NULL.   Remove assert on __shlibc_handle != NULL.
-#      (gen_steps): Don't check btowc_fct for NULL before mangling.  
-#      Demangle init_fct before checking for NULL.
-#      (increment_counter): Likewise
-#      * gconv_dl.c (__gconv_find_shlib): Don't check init_fct or
-#      end_fct for NULL before mangling.
-#      * wcsmbs/btowc.c (__btowc): Demangle btowc_fct before checking
-#      for NULL.
-#
-diff -Nrup a/iconv/gconv_cache.c b/iconv/gconv_cache.c
---- a/iconv/gconv_cache.c      2012-12-24 22:02:13.000000000 -0500
-+++ b/iconv/gconv_cache.c      2013-04-30 11:34:20.112389987 -0400
-@@ -207,17 +207,16 @@ find_module (const char *directory, cons
-       result->__data = NULL;
-       /* Call the init function.  */
--      if (result->__init_fct != NULL)
--      {
--        __gconv_init_fct init_fct = result->__init_fct;
-+      __gconv_init_fct init_fct = result->__init_fct;
- #ifdef PTR_DEMANGLE
--        PTR_DEMANGLE (init_fct);
-+      PTR_DEMANGLE (init_fct);
- #endif
-+      if (init_fct != NULL)
-+      {
-         status = DL_CALL_FCT (init_fct, (result));
- #ifdef PTR_MANGLE
--        if (result->__btowc_fct != NULL)
--          PTR_MANGLE (result->__btowc_fct);
-+        PTR_MANGLE (result->__btowc_fct);
- #endif
-       }
-     }
-diff -Nrup a/iconv/gconv_db.c b/iconv/gconv_db.c
---- a/iconv/gconv_db.c 2012-12-24 22:02:13.000000000 -0500
-+++ b/iconv/gconv_db.c 2013-04-30 11:32:42.700592914 -0400
-@@ -179,16 +179,15 @@ free_derivation (void *p)
-   size_t cnt;
-   for (cnt = 0; cnt < deriv->nsteps; ++cnt)
--    if (deriv->steps[cnt].__counter > 0
--      && deriv->steps[cnt].__end_fct != NULL)
-+    if ((deriv->steps[cnt].__counter > 0)
-+      && (deriv->steps[cnt].__shlib_handle != NULL))
-       {
--      assert (deriv->steps[cnt].__shlib_handle != NULL);
--
-       __gconv_end_fct end_fct = deriv->steps[cnt].__end_fct;
- #ifdef PTR_DEMANGLE
-       PTR_DEMANGLE (end_fct);
- #endif
--      DL_CALL_FCT (end_fct, (&deriv->steps[cnt]));
-+      if (end_fct != NULL)
-+        DL_CALL_FCT (end_fct, (&deriv->steps[cnt]));
-       }
-   /* Free the name strings.  */
-@@ -212,16 +211,12 @@ __gconv_release_step (struct __gconv_ste
-   if (step->__shlib_handle != NULL && --step->__counter == 0)
-     {
-       /* Call the destructor.  */
--      if (step->__end_fct != NULL)
--      {
--        assert (step->__shlib_handle != NULL);
--
--        __gconv_end_fct end_fct = step->__end_fct;
-+      __gconv_end_fct end_fct = step->__end_fct;
- #ifdef PTR_DEMANGLE
--        PTR_DEMANGLE (end_fct);
-+      PTR_DEMANGLE (end_fct);
- #endif
--        DL_CALL_FCT (end_fct, (step));
--      }
-+      if (end_fct != NULL)
-+      DL_CALL_FCT (end_fct, (step));
- #ifndef STATIC_GCONV
-       /* Release the loaded module.  */
-@@ -293,13 +288,11 @@ gen_steps (struct derivation_step *best,
-             /* Call the init function.  */
-             __gconv_init_fct init_fct = result[step_cnt].__init_fct;
--            if (init_fct != NULL)
--              {
--                assert (result[step_cnt].__shlib_handle != NULL);
--
- # ifdef PTR_DEMANGLE
--                PTR_DEMANGLE (init_fct);
-+            PTR_DEMANGLE (init_fct);
- # endif
-+            if (init_fct != NULL)
-+              {
-                 status = DL_CALL_FCT (init_fct, (&result[step_cnt]));
-                 if (__builtin_expect (status, __GCONV_OK) != __GCONV_OK)
-@@ -312,8 +305,7 @@ gen_steps (struct derivation_step *best,
-                   }
- # ifdef PTR_MANGLE
--                if (result[step_cnt].__btowc_fct != NULL)
--                  PTR_MANGLE (result[step_cnt].__btowc_fct);
-+                PTR_MANGLE (result[step_cnt].__btowc_fct);
- # endif
-               }
-           }
-@@ -393,16 +385,15 @@ increment_counter (struct __gconv_step *
-         /* Call the init function.  */
-         __gconv_init_fct init_fct = step->__init_fct;
--        if (init_fct != NULL)
--          {
- #ifdef PTR_DEMANGLE
--            PTR_DEMANGLE (init_fct);
-+        PTR_DEMANGLE (init_fct);
- #endif
-+        if (init_fct != NULL)
-+          {
-             DL_CALL_FCT (init_fct, (step));
- #ifdef PTR_MANGLE
--            if (step->__btowc_fct != NULL)
--              PTR_MANGLE (step->__btowc_fct);
-+            PTR_MANGLE (step->__btowc_fct);
- #endif
-           }
-       }
-diff -Nrup a/iconv/gconv_dl.c b/iconv/gconv_dl.c
---- a/iconv/gconv_dl.c 2012-12-24 22:02:13.000000000 -0500
-+++ b/iconv/gconv_dl.c 2013-04-30 11:32:42.701592922 -0400
-@@ -132,10 +132,8 @@ __gconv_find_shlib (const char *name)
- #ifdef PTR_MANGLE
-                 PTR_MANGLE (found->fct);
--                if (found->init_fct != NULL)
--                  PTR_MANGLE (found->init_fct);
--                if (found->end_fct !=  NULL)
--                  PTR_MANGLE (found->end_fct);
-+                PTR_MANGLE (found->init_fct);
-+                PTR_MANGLE (found->end_fct);
- #endif
-                 /* We have succeeded in loading the shared object.  */
-diff -Nrup a/wcsmbs/btowc.c b/wcsmbs/btowc.c
---- a/wcsmbs/btowc.c   2012-12-24 22:02:13.000000000 -0500
-+++ b/wcsmbs/btowc.c   2013-04-30 11:32:42.701592922 -0400
-@@ -47,15 +47,15 @@ __btowc (c)
-   /* Get the conversion functions.  */
-   fcts = get_gconv_fcts (_NL_CURRENT_DATA (LC_CTYPE));
-   __gconv_btowc_fct btowc_fct = fcts->towc->__btowc_fct;
-+#ifdef PTR_DEMANGLE
-+  if (fcts->towc->__shlib_handle != NULL)
-+    PTR_DEMANGLE (btowc_fct);
-+#endif
-   if (__builtin_expect (fcts->towc_nsteps == 1, 1)
-       && __builtin_expect (btowc_fct != NULL, 1))
-     {
-       /* Use the shortcut function.  */
--#ifdef PTR_DEMANGLE
--      if (fcts->towc->__shlib_handle != NULL)
--      PTR_DEMANGLE (btowc_fct);
--#endif
-       return DL_CALL_FCT (btowc_fct, (fcts->towc, (unsigned char) c));
-     }
-   else
diff --git a/src/patches/glibc/glibc-rh837695.patch b/src/patches/glibc/glibc-rh837695.patch
deleted file mode 100644 (file)
index 03e1e02..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-diff -rup a/nss/nsswitch.h b/nss/nsswitch.h
---- a/nss/nsswitch.h   2010-05-04 05:27:23.000000000 -0600
-+++ b/nss/nsswitch.h   2012-07-05 11:28:15.316585117 -0600
-@@ -182,4 +182,8 @@ extern int __nss_hostname_digits_dots (c
-                                      int *h_errnop);
- libc_hidden_proto (__nss_hostname_digits_dots)
-+/* Maximum number of aliases we allow.  */
-+#define MAX_NR_ALIASES  48
-+#define MAX_NR_ADDRS    48
-+
- #endif        /* nsswitch.h */
-Only in b/nss: nsswitch.h.orig
-diff -rup a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c
---- a/resolv/nss_dns/dns-host.c        2012-07-05 11:27:39.298760961 -0600
-+++ b/resolv/nss_dns/dns-host.c        2012-07-05 11:28:15.317585112 -0600
-@@ -89,10 +89,6 @@
- #define RESOLVSORT
--/* Maximum number of aliases we allow.  */
--#define MAX_NR_ALIASES        48
--#define MAX_NR_ADDRS  48
--
- #if PACKETSZ > 65536
- # define MAXPACKET    PACKETSZ
- #else
-Only in b/resolv/nss_dns: dns-host.c.orig
-diff -rup a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
---- a/sysdeps/posix/getaddrinfo.c      2012-07-05 11:27:39.284761028 -0600
-+++ b/sysdeps/posix/getaddrinfo.c      2012-07-05 14:15:39.785546125 -0600
-@@ -565,7 +565,10 @@ gaih_inet (const char *name, const struc
-            IPv6 scope ids. */
-         if (req->ai_family == AF_INET)
-           {
--            size_t tmpbuflen = 512;
-+              /* Add room for struct host_data in resolv/nss_dns/dns-host.c */
-+              size_t tmpbuflen = 512 + (MAX_NR_ALIASES+MAX_NR_ADDRS+1)*sizeof(char*)
-+                                  + 16 * sizeof(char);
-+
-             assert (tmpbuf == NULL);
-             tmpbuf = alloca_account (tmpbuflen, alloca_used);
-             int rc;
-@@ -807,7 +810,7 @@ gaih_inet (const char *name, const struc
-         old_res_options = _res.options;
-         _res.options &= ~RES_USE_INET6;
--        size_t tmpbuflen = 1024;
-+        size_t tmpbuflen = 1024 + sizeof(struct gaih_addrtuple);
-         malloc_tmpbuf = !__libc_use_alloca (alloca_used + tmpbuflen);
-         assert (tmpbuf == NULL);
-         if (!malloc_tmpbuf)
-Only in b/sysdeps/posix: getaddrinfo.c.orig
-Only in b/sysdeps/posix: getaddrinfo.c.rej
diff --git a/src/patches/glibc/glibc-rh837918.patch b/src/patches/glibc/glibc-rh837918.patch
deleted file mode 100644 (file)
index 924d83d..0000000
+++ /dev/null
@@ -1,7183 +0,0 @@
-diff -Nrup a/math/libm-test.inc b/math/libm-test.inc
---- a/math/libm-test.inc       2010-05-04 05:27:23.000000000 -0600
-+++ b/math/libm-test.inc       2012-08-06 09:54:00.821929695 -0600
-@@ -2018,6 +2018,142 @@ cos_test (void)
- static void
-+cos_test_tonearest (void)
-+{
-+  int save_round_mode;
-+  errno = 0;
-+  FUNC(cos) (0);
-+  if (errno == ENOSYS)
-+    /* Function not implemented.  */
-+    return;
-+
-+  START (cos_tonearest);
-+
-+  save_round_mode = fegetround ();
-+
-+  if (!fesetround (FE_TONEAREST))
-+    {
-+      TEST_f_f (cos, 1, 0.5403023058681397174009366074429766037323L);
-+      TEST_f_f (cos, 2, -0.4161468365471423869975682295007621897660L);
-+      TEST_f_f (cos, 3, -0.9899924966004454572715727947312613023937L);
-+      TEST_f_f (cos, 4, -0.6536436208636119146391681830977503814241L);
-+      TEST_f_f (cos, 5, 0.2836621854632262644666391715135573083344L);
-+      TEST_f_f (cos, 6, 0.9601702866503660205456522979229244054519L);
-+      TEST_f_f (cos, 7, 0.7539022543433046381411975217191820122183L);
-+      TEST_f_f (cos, 8, -0.1455000338086135258688413818311946826093L);
-+      TEST_f_f (cos, 9, -0.9111302618846769883682947111811653112463L);
-+      TEST_f_f (cos, 10, -0.8390715290764524522588639478240648345199L);
-+    }
-+
-+  fesetround (save_round_mode);
-+
-+  END (cos_tonearest);
-+}
-+
-+
-+static void
-+cos_test_towardzero (void)
-+{
-+  int save_round_mode;
-+  errno = 0;
-+  FUNC(cos) (0);
-+  if (errno == ENOSYS)
-+    /* Function not implemented.  */
-+    return;
-+
-+  START (cos_towardzero);
-+
-+  save_round_mode = fegetround ();
-+
-+  if (!fesetround (FE_TOWARDZERO))
-+    {
-+      TEST_f_f (cos, 1, 0.5403023058681397174009366074429766037323L);
-+      TEST_f_f (cos, 2, -0.4161468365471423869975682295007621897660L);
-+      TEST_f_f (cos, 3, -0.9899924966004454572715727947312613023937L);
-+      TEST_f_f (cos, 4, -0.6536436208636119146391681830977503814241L);
-+      TEST_f_f (cos, 5, 0.2836621854632262644666391715135573083344L);
-+      TEST_f_f (cos, 6, 0.9601702866503660205456522979229244054519L);
-+      TEST_f_f (cos, 7, 0.7539022543433046381411975217191820122183L);
-+      TEST_f_f (cos, 8, -0.1455000338086135258688413818311946826093L);
-+      TEST_f_f (cos, 9, -0.9111302618846769883682947111811653112463L);
-+      TEST_f_f (cos, 10, -0.8390715290764524522588639478240648345199L);
-+    }
-+
-+  fesetround (save_round_mode);
-+
-+  END (cos_towardzero);
-+}
-+
-+
-+static void
-+cos_test_downward (void)
-+{
-+  int save_round_mode;
-+  errno = 0;
-+  FUNC(cos) (0);
-+  if (errno == ENOSYS)
-+    /* Function not implemented.  */
-+    return;
-+
-+  START (cos_downward);
-+
-+  save_round_mode = fegetround ();
-+
-+  if (!fesetround (FE_DOWNWARD))
-+    {
-+      TEST_f_f (cos, 1, 0.5403023058681397174009366074429766037323L);
-+      TEST_f_f (cos, 2, -0.4161468365471423869975682295007621897660L);
-+      TEST_f_f (cos, 3, -0.9899924966004454572715727947312613023937L);
-+      TEST_f_f (cos, 4, -0.6536436208636119146391681830977503814241L);
-+      TEST_f_f (cos, 5, 0.2836621854632262644666391715135573083344L);
-+      TEST_f_f (cos, 6, 0.9601702866503660205456522979229244054519L);
-+      TEST_f_f (cos, 7, 0.7539022543433046381411975217191820122183L);
-+      TEST_f_f (cos, 8, -0.1455000338086135258688413818311946826093L);
-+      TEST_f_f (cos, 9, -0.9111302618846769883682947111811653112463L);
-+      TEST_f_f (cos, 10, -0.8390715290764524522588639478240648345199L);
-+    }
-+
-+  fesetround (save_round_mode);
-+
-+  END (cos_downward);
-+}
-+
-+
-+static void
-+cos_test_upward (void)
-+{
-+  int save_round_mode;
-+  errno = 0;
-+  FUNC(cos) (0);
-+  if (errno == ENOSYS)
-+    /* Function not implemented.  */
-+    return;
-+
-+  START (cos_upward);
-+
-+  save_round_mode = fegetround ();
-+
-+  if (!fesetround (FE_UPWARD))
-+    {
-+      TEST_f_f (cos, 1, 0.5403023058681397174009366074429766037323L);
-+      TEST_f_f (cos, 2, -0.4161468365471423869975682295007621897660L);
-+      TEST_f_f (cos, 3, -0.9899924966004454572715727947312613023937L);
-+      TEST_f_f (cos, 4, -0.6536436208636119146391681830977503814241L);
-+      TEST_f_f (cos, 5, 0.2836621854632262644666391715135573083344L);
-+      TEST_f_f (cos, 6, 0.9601702866503660205456522979229244054519L);
-+      TEST_f_f (cos, 7, 0.7539022543433046381411975217191820122183L);
-+      TEST_f_f (cos, 8, -0.1455000338086135258688413818311946826093L);
-+      TEST_f_f (cos, 9, -0.9111302618846769883682947111811653112463L);
-+      TEST_f_f (cos, 10, -0.8390715290764524522588639478240648345199L);
-+    }
-+
-+  fesetround (save_round_mode);
-+
-+  END (cos_upward);
-+}
-+
-+
-+static void
- cosh_test (void)
- {
-   errno = 0;
-@@ -2043,6 +2179,114 @@ cosh_test (void)
- static void
-+cosh_test_tonearest (void)
-+{
-+  int save_round_mode;
-+  errno = 0;
-+  FUNC(cosh) (0);
-+  if (errno == ENOSYS)
-+    /* Function not implemented.  */
-+    return;
-+
-+  START (cosh_tonearest);
-+
-+  save_round_mode = fegetround ();
-+
-+  if (!fesetround (FE_TONEAREST))
-+    {
-+      TEST_f_f (cosh, 22, 1792456423.065795780980053377632656584997L);
-+      TEST_f_f (cosh, 23, 4872401723.124451300068625740569997090344L);
-+      TEST_f_f (cosh, 24, 13244561064.92173614708845674912733665919L);
-+    }
-+
-+  fesetround (save_round_mode);
-+
-+  END (cosh_tonearest);
-+}
-+
-+
-+static void
-+cosh_test_towardzero (void)
-+{
-+  int save_round_mode;
-+  errno = 0;
-+  FUNC(cosh) (0);
-+  if (errno == ENOSYS)
-+    /* Function not implemented.  */
-+    return;
-+
-+  START (cosh_towardzero);
-+
-+  save_round_mode = fegetround ();
-+
-+  if (!fesetround (FE_TOWARDZERO))
-+    {
-+      TEST_f_f (cosh, 22, 1792456423.065795780980053377632656584997L);
-+      TEST_f_f (cosh, 23, 4872401723.124451300068625740569997090344L);
-+      TEST_f_f (cosh, 24, 13244561064.92173614708845674912733665919L);
-+    }
-+
-+  fesetround (save_round_mode);
-+
-+  END (cosh_towardzero);
-+}
-+
-+
-+static void
-+cosh_test_downward (void)
-+{
-+  int save_round_mode;
-+  errno = 0;
-+  FUNC(cosh) (0);
-+  if (errno == ENOSYS)
-+    /* Function not implemented.  */
-+    return;
-+
-+  START (cosh_downward);
-+
-+  save_round_mode = fegetround ();
-+
-+  if (!fesetround (FE_DOWNWARD))
-+    {
-+      TEST_f_f (cosh, 22, 1792456423.065795780980053377632656584997L);
-+      TEST_f_f (cosh, 23, 4872401723.124451300068625740569997090344L);
-+      TEST_f_f (cosh, 24, 13244561064.92173614708845674912733665919L);
-+    }
-+
-+  fesetround (save_round_mode);
-+
-+  END (cosh_downward);
-+}
-+
-+
-+static void
-+cosh_test_upward (void)
-+{
-+  int save_round_mode;
-+  errno = 0;
-+  FUNC(cosh) (0);
-+  if (errno == ENOSYS)
-+    /* Function not implemented.  */
-+    return;
-+
-+  START (cosh_upward);
-+
-+  save_round_mode = fegetround ();
-+
-+  if (!fesetround (FE_UPWARD))
-+    {
-+      TEST_f_f (cosh, 22, 1792456423.065795780980053377632656584997L);
-+      TEST_f_f (cosh, 23, 4872401723.124451300068625740569997090344L);
-+      TEST_f_f (cosh, 24, 13244561064.92173614708845674912733665919L);
-+    }
-+
-+  fesetround (save_round_mode);
-+
-+  END (cosh_upward);
-+}
-+
-+
-+static void
- cpow_test (void)
- {
-   errno = 0;
-@@ -2527,6 +2771,114 @@ exp_test (void)
- static void
-+exp_test_tonearest (void)
-+{
-+  int save_round_mode;
-+  errno = 0;
-+  FUNC(exp) (0);
-+  if (errno == ENOSYS)
-+    /* Function not implemented.  */
-+    return;
-+
-+  START (exp_tonearest);
-+
-+  save_round_mode = fegetround ();
-+
-+  if (!fesetround (FE_TONEAREST))
-+    {
-+      TEST_f_f (exp, 1, M_El);
-+      TEST_f_f (exp, 2, M_E2l);
-+      TEST_f_f (exp, 3, M_E3l);
-+    }
-+
-+  fesetround (save_round_mode);
-+
-+  END (exp_tonearest);
-+}
-+
-+
-+static void
-+exp_test_towardzero (void)
-+{
-+  int save_round_mode;
-+  errno = 0;
-+  FUNC(exp) (0);
-+  if (errno == ENOSYS)
-+    /* Function not implemented.  */
-+    return;
-+
-+  START (exp_towardzero);
-+
-+  save_round_mode = fegetround ();
-+
-+  if (!fesetround (FE_TOWARDZERO))
-+    {
-+      TEST_f_f (exp, 1, M_El);
-+      TEST_f_f (exp, 2, M_E2l);
-+      TEST_f_f (exp, 3, M_E3l);
-+    }
-+
-+  fesetround (save_round_mode);
-+
-+  END (exp_towardzero);
-+}
-+
-+
-+static void
-+exp_test_downward (void)
-+{
-+  int save_round_mode;
-+  errno = 0;
-+  FUNC(exp) (0);
-+  if (errno == ENOSYS)
-+    /* Function not implemented.  */
-+    return;
-+
-+  START (exp_downward);
-+
-+  save_round_mode = fegetround ();
-+
-+  if (!fesetround (FE_DOWNWARD))
-+    {
-+      TEST_f_f (exp, 1, M_El);
-+      TEST_f_f (exp, 2, M_E2l);
-+      TEST_f_f (exp, 3, M_E3l);
-+    }
-+
-+  fesetround (save_round_mode);
-+
-+  END (exp_downward);
-+}
-+
-+
-+static void
-+exp_test_upward (void)
-+{
-+  int save_round_mode;
-+  errno = 0;
-+  FUNC(exp) (0);
-+  if (errno == ENOSYS)
-+    /* Function not implemented.  */
-+    return;
-+
-+  START (exp_upward);
-+
-+  save_round_mode = fegetround ();
-+
-+  if (!fesetround (FE_UPWARD))
-+    {
-+      TEST_f_f (exp, 1, M_El);
-+      TEST_f_f (exp, 2, M_E2l);
-+      TEST_f_f (exp, 3, M_E3l);
-+    }
-+
-+  fesetround (save_round_mode);
-+
-+  END (exp_upward);
-+}
-+
-+
-+static void
- exp10_test (void)
- {
-   errno = 0;
-@@ -4848,22 +5200,127 @@ pow_test (void)
-   END (pow);
- }
-+
- static void
--remainder_test (void)
-+pow_test_tonearest (void)
- {
-+  int save_round_mode;
-   errno = 0;
--  FUNC(remainder) (1.625, 1.0);
-+  FUNC(pow) (0, 0);
-   if (errno == ENOSYS)
-     /* Function not implemented.  */
-     return;
--  START (remainder);
-+  START (pow_tonearest);
--  TEST_ff_f (remainder, 1, 0, nan_value, INVALID_EXCEPTION);
--  TEST_ff_f (remainder, 1, minus_zero, nan_value, INVALID_EXCEPTION);
--  TEST_ff_f (remainder, plus_infty, 1, nan_value, INVALID_EXCEPTION);
--  TEST_ff_f (remainder, minus_infty, 1, nan_value, INVALID_EXCEPTION);
--  TEST_ff_f (remainder, nan_value, nan_value, nan_value);
-+  save_round_mode = fegetround ();
-+
-+  if (!fesetround (FE_TONEAREST))
-+    {
-+      TEST_ff_f (pow, 1.0625L, 1.125L, 1.070582293028761362162622578677070098674L);
-+      TEST_ff_f (pow, 1.5L, 1.03125L, 1.519127098714743184071644334163037684948L);
-+    }
-+
-+  fesetround (save_round_mode);
-+
-+  END (pow_tonearest);
-+}
-+
-+
-+static void
-+pow_test_towardzero (void)
-+{
-+  int save_round_mode;
-+  errno = 0;
-+  FUNC(pow) (0, 0);
-+  if (errno == ENOSYS)
-+    /* Function not implemented.  */
-+    return;
-+
-+  START (pow_towardzero);
-+
-+  save_round_mode = fegetround ();
-+
-+  if (!fesetround (FE_TOWARDZERO))
-+    {
-+      TEST_ff_f (pow, 1.0625L, 1.125L, 1.070582293028761362162622578677070098674L);
-+      TEST_ff_f (pow, 1.5L, 1.03125L, 1.519127098714743184071644334163037684948L);
-+    }
-+
-+  fesetround (save_round_mode);
-+
-+  END (pow_towardzero);
-+}
-+
-+
-+static void
-+pow_test_downward (void)
-+{
-+  int save_round_mode;
-+  errno = 0;
-+  FUNC(pow) (0, 0);
-+  if (errno == ENOSYS)
-+    /* Function not implemented.  */
-+    return;
-+
-+  START (pow_downward);
-+
-+  save_round_mode = fegetround ();
-+
-+  if (!fesetround (FE_DOWNWARD))
-+    {
-+      TEST_ff_f (pow, 1.0625L, 1.125L, 1.070582293028761362162622578677070098674L);
-+      TEST_ff_f (pow, 1.5L, 1.03125L, 1.519127098714743184071644334163037684948L);
-+    }
-+
-+  fesetround (save_round_mode);
-+
-+  END (pow_downward);
-+}
-+
-+
-+static void
-+pow_test_upward (void)
-+{
-+  int save_round_mode;
-+  errno = 0;
-+  FUNC(pow) (0, 0);
-+  if (errno == ENOSYS)
-+    /* Function not implemented.  */
-+    return;
-+
-+  START (pow_upward);
-+
-+  save_round_mode = fegetround ();
-+
-+  if (!fesetround (FE_UPWARD))
-+    {
-+      TEST_ff_f (pow, 1.0625L, 1.125L, 1.070582293028761362162622578677070098674L);
-+      TEST_ff_f (pow, 1.5L, 1.03125L, 1.519127098714743184071644334163037684948L);
-+    }
-+
-+  fesetround (save_round_mode);
-+
-+  END (pow_upward);
-+}
-+
-+
-+static void
-+remainder_test (void)
-+{
-+  errno = 0;
-+  FUNC(remainder) (1.625, 1.0);
-+  if (errno == ENOSYS)
-+    /* Function not implemented.  */
-+    return;
-+
-+  START (remainder);
-+
-+  TEST_ff_f (remainder, 1, 0, nan_value, INVALID_EXCEPTION);
-+  TEST_ff_f (remainder, 1, minus_zero, nan_value, INVALID_EXCEPTION);
-+  TEST_ff_f (remainder, plus_infty, 1, nan_value, INVALID_EXCEPTION);
-+  TEST_ff_f (remainder, minus_infty, 1, nan_value, INVALID_EXCEPTION);
-+  TEST_ff_f (remainder, nan_value, nan_value, nan_value);
-   TEST_ff_f (remainder, 1.625, 1.0, -0.375);
-   TEST_ff_f (remainder, -1.625, 1.0, 0.375);
-@@ -5545,6 +6002,7 @@ sin_test (void)
- #ifdef TEST_DOUBLE
-   TEST_f_f (sin, 0.80190127184058835, 0.71867942238767868);
-+  TEST_f_f (sin, 2.522464e-1, 2.4957989804940911e-1);
- #endif
-   END (sin);
-@@ -5553,6 +6011,142 @@ sin_test (void)
- static void
-+sin_test_tonearest (void)
-+{
-+  int save_round_mode;
-+  errno = 0;
-+  FUNC(sin) (0);
-+  if (errno == ENOSYS)
-+    /* Function not implemented.  */
-+    return;
-+
-+  START (sin_tonearest);
-+
-+  save_round_mode = fegetround ();
-+
-+  if (!fesetround (FE_TONEAREST))
-+    {
-+      TEST_f_f (sin, 1, 0.8414709848078965066525023216302989996226L);
-+      TEST_f_f (sin, 2, 0.9092974268256816953960198659117448427023L);
-+      TEST_f_f (sin, 3, 0.1411200080598672221007448028081102798469L);
-+      TEST_f_f (sin, 4, -0.7568024953079282513726390945118290941359L);
-+      TEST_f_f (sin, 5, -0.9589242746631384688931544061559939733525L);
-+      TEST_f_f (sin, 6, -0.2794154981989258728115554466118947596280L);
-+      TEST_f_f (sin, 7, 0.6569865987187890903969990915936351779369L);
-+      TEST_f_f (sin, 8, 0.9893582466233817778081235982452886721164L);
-+      TEST_f_f (sin, 9, 0.4121184852417565697562725663524351793439L);
-+      TEST_f_f (sin, 10, -0.5440211108893698134047476618513772816836L);
-+    }
-+
-+  fesetround (save_round_mode);
-+
-+  END (sin_tonearest);
-+}
-+
-+
-+static void
-+sin_test_towardzero (void)
-+{
-+  int save_round_mode;
-+  errno = 0;
-+  FUNC(sin) (0);
-+  if (errno == ENOSYS)
-+    /* Function not implemented.  */
-+    return;
-+
-+  START (sin_towardzero);
-+
-+  save_round_mode = fegetround ();
-+
-+  if (!fesetround (FE_TOWARDZERO))
-+    {
-+      TEST_f_f (sin, 1, 0.8414709848078965066525023216302989996226L);
-+      TEST_f_f (sin, 2, 0.9092974268256816953960198659117448427023L);
-+      TEST_f_f (sin, 3, 0.1411200080598672221007448028081102798469L);
-+      TEST_f_f (sin, 4, -0.7568024953079282513726390945118290941359L);
-+      TEST_f_f (sin, 5, -0.9589242746631384688931544061559939733525L);
-+      TEST_f_f (sin, 6, -0.2794154981989258728115554466118947596280L);
-+      TEST_f_f (sin, 7, 0.6569865987187890903969990915936351779369L);
-+      TEST_f_f (sin, 8, 0.9893582466233817778081235982452886721164L);
-+      TEST_f_f (sin, 9, 0.4121184852417565697562725663524351793439L);
-+      TEST_f_f (sin, 10, -0.5440211108893698134047476618513772816836L);
-+    }
-+
-+  fesetround (save_round_mode);
-+
-+  END (sin_towardzero);
-+}
-+
-+
-+static void
-+sin_test_downward (void)
-+{
-+  int save_round_mode;
-+  errno = 0;
-+  FUNC(sin) (0);
-+  if (errno == ENOSYS)
-+    /* Function not implemented.  */
-+    return;
-+
-+  START (sin_downward);
-+
-+  save_round_mode = fegetround ();
-+
-+  if (!fesetround (FE_DOWNWARD))
-+    {
-+      TEST_f_f (sin, 1, 0.8414709848078965066525023216302989996226L);
-+      TEST_f_f (sin, 2, 0.9092974268256816953960198659117448427023L);
-+      TEST_f_f (sin, 3, 0.1411200080598672221007448028081102798469L);
-+      TEST_f_f (sin, 4, -0.7568024953079282513726390945118290941359L);
-+      TEST_f_f (sin, 5, -0.9589242746631384688931544061559939733525L);
-+      TEST_f_f (sin, 6, -0.2794154981989258728115554466118947596280L);
-+      TEST_f_f (sin, 7, 0.6569865987187890903969990915936351779369L);
-+      TEST_f_f (sin, 8, 0.9893582466233817778081235982452886721164L);
-+      TEST_f_f (sin, 9, 0.4121184852417565697562725663524351793439L);
-+      TEST_f_f (sin, 10, -0.5440211108893698134047476618513772816836L);
-+    }
-+
-+  fesetround (save_round_mode);
-+
-+  END (sin_downward);
-+}
-+
-+
-+static void
-+sin_test_upward (void)
-+{
-+  int save_round_mode;
-+  errno = 0;
-+  FUNC(sin) (0);
-+  if (errno == ENOSYS)
-+    /* Function not implemented.  */
-+    return;
-+
-+  START (sin_upward);
-+
-+  save_round_mode = fegetround ();
-+
-+  if (!fesetround (FE_UPWARD))
-+    {
-+      TEST_f_f (sin, 1, 0.8414709848078965066525023216302989996226L);
-+      TEST_f_f (sin, 2, 0.9092974268256816953960198659117448427023L);
-+      TEST_f_f (sin, 3, 0.1411200080598672221007448028081102798469L);
-+      TEST_f_f (sin, 4, -0.7568024953079282513726390945118290941359L);
-+      TEST_f_f (sin, 5, -0.9589242746631384688931544061559939733525L);
-+      TEST_f_f (sin, 6, -0.2794154981989258728115554466118947596280L);
-+      TEST_f_f (sin, 7, 0.6569865987187890903969990915936351779369L);
-+      TEST_f_f (sin, 8, 0.9893582466233817778081235982452886721164L);
-+      TEST_f_f (sin, 9, 0.4121184852417565697562725663524351793439L);
-+      TEST_f_f (sin, 10, -0.5440211108893698134047476618513772816836L);
-+    }
-+
-+  fesetround (save_round_mode);
-+
-+  END (sin_upward);
-+}
-+
-+
-+static void
- sincos_test (void)
- {
-   FLOAT sin_res, cos_res;
-@@ -5610,6 +6204,115 @@ sinh_test (void)
-   END (sinh);
- }
-+
-+static void
-+sinh_test_tonearest (void)
-+{
-+  int save_round_mode;
-+  errno = 0;
-+  FUNC(sinh) (0);
-+  if (errno == ENOSYS)
-+    /* Function not implemented.  */
-+    return;
-+
-+  START (sinh_tonearest);
-+
-+  save_round_mode = fegetround ();
-+
-+  if (!fesetround (FE_TONEAREST))
-+    {
-+      TEST_f_f (sinh, 22, 1792456423.065795780701106568345764104225L);
-+      TEST_f_f (sinh, 23, 4872401723.124451299966006944252978187305L);
-+      TEST_f_f (sinh, 24, 13244561064.92173614705070540368454568168L);
-+    }
-+
-+  fesetround (save_round_mode);
-+
-+  END (sinh_tonearest);
-+}
-+
-+
-+static void
-+sinh_test_towardzero (void)
-+{
-+  int save_round_mode;
-+  errno = 0;
-+  FUNC(sinh) (0);
-+  if (errno == ENOSYS)
-+    /* Function not implemented.  */
-+    return;
-+
-+  START (sinh_towardzero);
-+
-+  save_round_mode = fegetround ();
-+
-+  if (!fesetround (FE_TOWARDZERO))
-+    {
-+      TEST_f_f (sinh, 22, 1792456423.065795780701106568345764104225L);
-+      TEST_f_f (sinh, 23, 4872401723.124451299966006944252978187305L);
-+      TEST_f_f (sinh, 24, 13244561064.92173614705070540368454568168L);
-+    }
-+
-+  fesetround (save_round_mode);
-+
-+  END (sinh_towardzero);
-+}
-+
-+
-+static void
-+sinh_test_downward (void)
-+{
-+  int save_round_mode;
-+  errno = 0;
-+  FUNC(sinh) (0);
-+  if (errno == ENOSYS)
-+    /* Function not implemented.  */
-+    return;
-+
-+  START (sinh_downward);
-+
-+  save_round_mode = fegetround ();
-+
-+  if (!fesetround (FE_DOWNWARD))
-+    {
-+      TEST_f_f (sinh, 22, 1792456423.065795780701106568345764104225L);
-+      TEST_f_f (sinh, 23, 4872401723.124451299966006944252978187305L);
-+      TEST_f_f (sinh, 24, 13244561064.92173614705070540368454568168L);
-+    }
-+
-+  fesetround (save_round_mode);
-+
-+  END (sinh_downward);
-+}
-+
-+
-+static void
-+sinh_test_upward (void)
-+{
-+  int save_round_mode;
-+  errno = 0;
-+  FUNC(sinh) (0);
-+  if (errno == ENOSYS)
-+    /* Function not implemented.  */
-+    return;
-+
-+  START (sinh_upward);
-+
-+  save_round_mode = fegetround ();
-+
-+  if (!fesetround (FE_UPWARD))
-+    {
-+      TEST_f_f (sinh, 22, 1792456423.065795780701106568345764104225L);
-+      TEST_f_f (sinh, 23, 4872401723.124451299966006944252978187305L);
-+      TEST_f_f (sinh, 24, 13244561064.92173614705070540368454568168L);
-+    }
-+
-+  fesetround (save_round_mode);
-+
-+  END (sinh_upward);
-+}
-+
-+
- static void
- sqrt_test (void)
- {
-@@ -5673,6 +6376,143 @@ tan_test (void)
-   END (tan);
- }
-+
-+static void
-+tan_test_tonearest (void)
-+{
-+  int save_round_mode;
-+  errno = 0;
-+  FUNC(tan) (0);
-+  if (errno == ENOSYS)
-+    /* Function not implemented.  */
-+    return;
-+
-+  START (tan_tonearest);
-+
-+  save_round_mode = fegetround ();
-+
-+  if (!fesetround (FE_TONEAREST))
-+    {
-+      TEST_f_f (tan, 1, 1.5574077246549022305069748074583601730873L);
-+      TEST_f_f (tan, 2, -2.1850398632615189916433061023136825434320L);
-+      TEST_f_f (tan, 3, -0.1425465430742778052956354105339134932261L);
-+      TEST_f_f (tan, 4, 1.1578212823495775831373424182673239231198L);
-+      TEST_f_f (tan, 5, -3.3805150062465856369827058794473439087096L);
-+      TEST_f_f (tan, 6, -0.2910061913847491570536995888681755428312L);
-+      TEST_f_f (tan, 7, 0.8714479827243187364564508896003135663222L);
-+      TEST_f_f (tan, 8, -6.7997114552203786999252627596086333648814L);
-+      TEST_f_f (tan, 9, -0.4523156594418098405903708757987855343087L);
-+      TEST_f_f (tan, 10, 0.6483608274590866712591249330098086768169L);
-+    }
-+
-+  fesetround (save_round_mode);
-+
-+  END (tan_tonearest);
-+}
-+
-+
-+static void
-+tan_test_towardzero (void)
-+{
-+  int save_round_mode;
-+  errno = 0;
-+  FUNC(tan) (0);
-+  if (errno == ENOSYS)
-+    /* Function not implemented.  */
-+    return;
-+
-+  START (tan_towardzero);
-+
-+  save_round_mode = fegetround ();
-+
-+  if (!fesetround (FE_TOWARDZERO))
-+    {
-+      TEST_f_f (tan, 1, 1.5574077246549022305069748074583601730873L);
-+      TEST_f_f (tan, 2, -2.1850398632615189916433061023136825434320L);
-+      TEST_f_f (tan, 3, -0.1425465430742778052956354105339134932261L);
-+      TEST_f_f (tan, 4, 1.1578212823495775831373424182673239231198L);
-+      TEST_f_f (tan, 5, -3.3805150062465856369827058794473439087096L);
-+      TEST_f_f (tan, 6, -0.2910061913847491570536995888681755428312L);
-+      TEST_f_f (tan, 7, 0.8714479827243187364564508896003135663222L);
-+      TEST_f_f (tan, 8, -6.7997114552203786999252627596086333648814L);
-+      TEST_f_f (tan, 9, -0.4523156594418098405903708757987855343087L);
-+      TEST_f_f (tan, 10, 0.6483608274590866712591249330098086768169L);
-+    }
-+
-+  fesetround (save_round_mode);
-+
-+  END (tan_towardzero);
-+}
-+
-+
-+static void
-+tan_test_downward (void)
-+{
-+  int save_round_mode;
-+  errno = 0;
-+  FUNC(tan) (0);
-+  if (errno == ENOSYS)
-+    /* Function not implemented.  */
-+    return;
-+
-+  START (tan_downward);
-+
-+  save_round_mode = fegetround ();
-+
-+  if (!fesetround (FE_DOWNWARD))
-+    {
-+      TEST_f_f (tan, 1, 1.5574077246549022305069748074583601730873L);
-+      TEST_f_f (tan, 2, -2.1850398632615189916433061023136825434320L);
-+      TEST_f_f (tan, 3, -0.1425465430742778052956354105339134932261L);
-+      TEST_f_f (tan, 4, 1.1578212823495775831373424182673239231198L);
-+      TEST_f_f (tan, 5, -3.3805150062465856369827058794473439087096L);
-+      TEST_f_f (tan, 6, -0.2910061913847491570536995888681755428312L);
-+      TEST_f_f (tan, 7, 0.8714479827243187364564508896003135663222L);
-+      TEST_f_f (tan, 8, -6.7997114552203786999252627596086333648814L);
-+      TEST_f_f (tan, 9, -0.4523156594418098405903708757987855343087L);
-+      TEST_f_f (tan, 10, 0.6483608274590866712591249330098086768169L);
-+    }
-+
-+  fesetround (save_round_mode);
-+
-+  END (tan_downward);
-+}
-+
-+
-+static void
-+tan_test_upward (void)
-+{
-+  int save_round_mode;
-+  errno = 0;
-+  FUNC(tan) (0);
-+  if (errno == ENOSYS)
-+    /* Function not implemented.  */
-+    return;
-+
-+  START (tan_upward);
-+
-+  save_round_mode = fegetround ();
-+
-+  if (!fesetround (FE_UPWARD))
-+    {
-+      TEST_f_f (tan, 1, 1.5574077246549022305069748074583601730873L);
-+      TEST_f_f (tan, 2, -2.1850398632615189916433061023136825434320L);
-+      TEST_f_f (tan, 3, -0.1425465430742778052956354105339134932261L);
-+      TEST_f_f (tan, 4, 1.1578212823495775831373424182673239231198L);
-+      TEST_f_f (tan, 5, -3.3805150062465856369827058794473439087096L);
-+      TEST_f_f (tan, 6, -0.2910061913847491570536995888681755428312L);
-+      TEST_f_f (tan, 7, 0.8714479827243187364564508896003135663222L);
-+      TEST_f_f (tan, 8, -6.7997114552203786999252627596086333648814L);
-+      TEST_f_f (tan, 9, -0.4523156594418098405903708757987855343087L);
-+      TEST_f_f (tan, 10, 0.6483608274590866712591249330098086768169L);
-+    }
-+
-+  fesetround (save_round_mode);
-+
-+  END (tan_upward);
-+}
-+
-+
- static void
- tanh_test (void)
- {
-@@ -6171,20 +7011,44 @@ main (int argc, char **argv)
-   atan_test ();
-   atan2_test ();
-   cos_test ();
-+  cos_test_tonearest ();
-+  cos_test_towardzero ();
-+  cos_test_downward ();
-+  cos_test_upward ();
-   sin_test ();
-+  sin_test_tonearest ();
-+  sin_test_towardzero ();
-+  sin_test_downward ();
-+  sin_test_upward ();
-   sincos_test ();
-   tan_test ();
-+  tan_test_tonearest ();
-+  tan_test_towardzero ();
-+  tan_test_downward ();
-+  tan_test_upward ();
-   /* Hyperbolic functions:  */
-   acosh_test ();
-   asinh_test ();
-   atanh_test ();
-   cosh_test ();
-+  cosh_test_tonearest ();
-+  cosh_test_towardzero ();
-+  cosh_test_downward ();
-+  cosh_test_upward ();
-   sinh_test ();
-+  sinh_test_tonearest ();
-+  sinh_test_towardzero ();
-+  sinh_test_downward ();
-+  sinh_test_upward ();
-   tanh_test ();
-   /* Exponential and logarithmic functions:  */
-   exp_test ();
-+  exp_test_tonearest ();
-+  exp_test_towardzero ();
-+  exp_test_downward ();
-+  exp_test_upward ();
-   exp10_test ();
-   exp2_test ();
-   expm1_test ();
-@@ -6207,6 +7071,10 @@ main (int argc, char **argv)
-   fabs_test ();
-   hypot_test ();
-   pow_test ();
-+  pow_test_tonearest ();
-+  pow_test_towardzero ();
-+  pow_test_downward ();
-+  pow_test_upward ();
-   sqrt_test ();
-   /* Error and gamma functions:  */
-diff -Nrup a/math/math_private.h b/math/math_private.h
---- a/math/math_private.h      2010-05-04 05:27:23.000000000 -0600
-+++ b/math/math_private.h      2012-08-06 09:54:00.821929695 -0600
-@@ -357,4 +357,41 @@ extern void __docos (double __x, double
- #define math_force_eval(x) __asm __volatile ("" : : "m" (x))
- #endif
-+
-+/* The standards only specify one variant of the fenv.h interfaces.
-+   But at least for some architectures we can be more efficient if we
-+   know what operations are going to be performed.  Therefore we
-+   define additional interfaces.  By default they refer to the normal
-+   interfaces.  */
-+#define libc_fegetround() fegetround ()
-+#define libc_fegetroundf() fegetround ()
-+#define libc_fegetroundl() fegetround ()
-+
-+#define libc_fesetround(r) (void) fesetround (r)
-+#define libc_fesetroundf(r) (void) fesetround (r)
-+#define libc_fesetroundl(r) (void) fesetround (r)
-+
-+#define libc_feholdexcept(e) (void) feholdexcept (e)
-+#define libc_feholdexceptf(e) (void) feholdexcept (e)
-+#define libc_feholdexceptl(e) (void) feholdexcept (e)
-+
-+#define libc_feholdexcept_setround(e, r) \
-+  do { feholdexcept (e); fesetround (r); } while (0)
-+#define libc_feholdexcept_setroundf(e, r) \
-+  do { feholdexcept (e); fesetround (r); } while (0)
-+#define libc_feholdexcept_setroundl(e, r) \
-+  do { feholdexcept (e); fesetround (r); } while (0)
-+
-+#define libc_fetestexcept(e) fetestexcept (e)
-+#define libc_fetestexceptf(e) fetestexcept (e)
-+#define libc_fetestexceptl(e) fetestexcept (e)
-+
-+#define libc_fesetenv(e) (void) fesetenv (e)
-+#define libc_fesetenvf(e) (void) fesetenv (e)
-+#define libc_fesetenvl(e) (void) fesetenv (e)
-+
-+#define libc_feupdateenv(e) (void) feupdateenv (e)
-+#define libc_feupdateenvf(e) (void) feupdateenv (e)
-+#define libc_feupdateenvl(e) (void) feupdateenv (e)
-+
- #endif /* _MATH_PRIVATE_H_ */
-diff -Nrup a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps
---- a/sysdeps/i386/fpu/libm-test-ulps  2010-05-04 05:27:23.000000000 -0600
-+++ b/sysdeps/i386/fpu/libm-test-ulps  2012-08-06 11:29:16.370874961 -0600
-@@ -9,18 +9,12 @@ ldouble: 1
- Test "asin (-0.5) == -pi/6":
- ildouble: 1
- ldouble: 1
--Test "asin (-1.0) == -pi/2":
--ildouble: 1
--ldouble: 1
- Test "asin (0.5) == pi/6":
- ildouble: 1
- ldouble: 1
- Test "asin (0.75) == 0.848062078981481008052944338998418080":
- ildouble: 1
- ldouble: 1
--Test "asin (1.0) == pi/2":
--ildouble: 1
--ldouble: 1
- # atanh
- Test "atanh (0.75) == 0.972955074527656652552676371721589865":
-@@ -35,20 +29,6 @@ ildouble: 2
- ldouble: 2
- # cacosh
--Test "Real part of: cacosh (-2 - 3 i) == 1.9833870299165354323470769028940395 - 2.1414491111159960199416055713254211 i":
--double: 1
--float: 9
--idouble: 1
--ifloat: 9
--ildouble: 6
--ldouble: 6
--Test "Imaginary part of: cacosh (-2 - 3 i) == 1.9833870299165354323470769028940395 - 2.1414491111159960199416055713254211 i":
--double: 1
--float: 4
--idouble: 1
--ifloat: 4
--ildouble: 1
--ldouble: 1
- Test "Real part of: cacosh (0.75 + 1.25 i) == 1.13239363160530819522266333696834467 + 1.11752014915610270578240049553777969 i":
- ildouble: 1
- ldouble: 1
-@@ -124,8 +104,6 @@ ldouble: 1
- Test "Imaginary part of: ccos (-2 - 3 i) == -4.18962569096880723013255501961597373 - 9.10922789375533659797919726277886212 i":
- float: 1
- ifloat: 1
--ildouble: 1
--ldouble: 1
- Test "Real part of: ccos (0.75 + 1.25 i) == 1.38173873063425888530729933139078645 - 1.09193013555397466170919531722024128 i":
- double: 1
- idouble: 1
-@@ -149,9 +127,7 @@ float: 1
- idouble: 1
- ifloat: 1
- Test "Imaginary part of: ccosh (0.75 + 1.25 i) == 0.408242591877968807788852146397499084 + 0.780365930845853240391326216300863152 i":
--double: 1
- float: 1
--idouble: 1
- ifloat: 1
- # cexp
-@@ -186,8 +162,6 @@ ifloat: 1
- Test "Imaginary part of: clog10 (-2 - 3 i) == 0.556971676153418384603252578971164214 - 0.937554462986374708541507952140189646 i":
- double: 1
- idouble: 1
--ildouble: 1
--ldouble: 1
- Test "Imaginary part of: clog10 (-3 + inf i) == inf + pi/2*log10(e) i":
- double: 1
- float: 1
-@@ -262,27 +236,175 @@ ifloat: 1
- # cos
- Test "cos (M_PI_6l * 2.0) == 0.5":
- double: 1
--float: 1
- idouble: 1
--ifloat: 1
- Test "cos (M_PI_6l * 4.0) == -0.5":
- double: 2
- float: 1
- idouble: 2
- ifloat: 1
-+
-+# cos_downward
-+Test "cos_downward (1) == 0.5403023058681397174009366074429766037323":
-+double: 1
-+idouble: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_downward (10) == -0.8390715290764524522588639478240648345199":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+Test "cos_downward (3) == -0.9899924966004454572715727947312613023937":
-+double: 1
-+idouble: 1
-+Test "cos_downward (4) == -0.6536436208636119146391681830977503814241":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_downward (5) == 0.2836621854632262644666391715135573083344":
-+float: 1
-+ifloat: 1
-+Test "cos_downward (7) == 0.7539022543433046381411975217191820122183":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_downward (8) == -0.1455000338086135258688413818311946826093":
-+ildouble: 1
-+ldouble: 1
-+Test "cos_downward (9) == -0.9111302618846769883682947111811653112463":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+# cos_tonearest
-+Test "cos_tonearest (8) == -0.1455000338086135258688413818311946826093":
-+ildouble: 1
-+ldouble: 1
-+Test "cos_tonearest (9) == -0.9111302618846769883682947111811653112463":
-+ildouble: 1
-+ldouble: 1
-+
-+# cos_towardzero
-+Test "cos_towardzero (1) == 0.5403023058681397174009366074429766037323":
-+double: 1
-+idouble: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_towardzero (10) == -0.8390715290764524522588639478240648345199":
- ildouble: 1
- ldouble: 1
--Test "cos (pi/2) == 0":
-+Test "cos_towardzero (2) == -0.4161468365471423869975682295007621897660":
- double: 1
- float: 1
- idouble: 1
- ifloat: 1
- ildouble: 1
- ldouble: 1
-+Test "cos_towardzero (3) == -0.9899924966004454572715727947312613023937":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_towardzero (4) == -0.6536436208636119146391681830977503814241":
-+double: 1
-+idouble: 1
-+Test "cos_towardzero (5) == 0.2836621854632262644666391715135573083344":
-+float: 1
-+ifloat: 1
-+Test "cos_towardzero (7) == 0.7539022543433046381411975217191820122183":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_towardzero (8) == -0.1455000338086135258688413818311946826093":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
--# cosh
--Test "cosh (0.75) == 1.29468328467684468784170818539018176":
-+# cos_upward
-+Test "cos_upward (1) == 0.5403023058681397174009366074429766037323":
-+float: 1
-+ifloat: 1
-+Test "cos_upward (10) == -0.8390715290764524522588639478240648345199":
-+ildouble: 1
-+ldouble: 1
-+Test "cos_upward (2) == -0.4161468365471423869975682295007621897660":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_upward (3) == -0.9899924966004454572715727947312613023937":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_upward (4) == -0.6536436208636119146391681830977503814241":
-+double: 1
-+idouble: 1
-+Test "cos_upward (5) == 0.2836621854632262644666391715135573083344":
-+double: 1
-+idouble: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_upward (6) == 0.9601702866503660205456522979229244054519":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
- ildouble: 1
-+ldouble: 1
-+Test "cos_upward (7) == 0.7539022543433046381411975217191820122183":
-+double: 1
-+idouble: 1
-+Test "cos_upward (8) == -0.1455000338086135258688413818311946826093":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+
-+# cosh_downward
-+Test "cosh_downward (22) == 1792456423.065795780980053377632656584997":
-+double: 1
-+float: 1
-+ldouble: 2
-+Test "cosh_downward (23) == 4872401723.124451300068625740569997090344":
-+double: 1
-+float: 1
-+ldouble: 1
-+Test "cosh_downward (24) == 13244561064.92173614708845674912733665919":
-+float: 1
-+ldouble: 1
-+
-+# cosh_tonearest
-+Test "cosh_tonearest (22) == 1792456423.065795780980053377632656584997":
-+ldouble: 1
-+
-+# cosh_towardzero
-+Test "cosh_towardzero (22) == 1792456423.065795780980053377632656584997":
-+double: 1
-+float: 1
-+ldouble: 2
-+Test "cosh_towardzero (23) == 4872401723.124451300068625740569997090344":
-+double: 1
-+float: 1
-+ldouble: 1
-+Test "cosh_towardzero (24) == 13244561064.92173614708845674912733665919":
-+float: 1
-+ldouble: 1
-+
-+# cosh_upward
-+Test "cosh_upward (23) == 4872401723.124451300068625740569997090344":
-+ldouble: 1
-+Test "cosh_upward (24) == 13244561064.92173614708845674912733665919":
-+double: 1
- # cpow
- Test "Real part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i) == 0.331825439177608832276067945276730566 + 0.131338600281188544930936345230903032 i":
-@@ -353,12 +475,8 @@ double: 1
- float: 1
- idouble: 1
- ifloat: 1
--ildouble: 2
--ldouble: 2
- Test "Real part of: csinh (0.75 + 1.25 i) == 0.259294854551162779153349830618433028 + 1.22863452409509552219214606515777594 i":
--double: 1
- float: 1
--idouble: 1
- ifloat: 1
- ildouble: 1
- ldouble: 1
-@@ -370,40 +488,36 @@ ifloat: 1
- Test "Real part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i":
- double: 1
- idouble: 1
--ildouble: 439
--ldouble: 439
-+ildouble: 1
-+ldouble: 1
- Test "Imaginary part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i":
- float: 1
- ifloat: 1
--ildouble: 2
--ldouble: 2
-+ildouble: 1
-+ldouble: 1
- Test "Real part of: ctan (0.75 + 1.25 i) == 0.160807785916206426725166058173438663 + 0.975363285031235646193581759755216379 i":
- ildouble: 1
- ldouble: 1
- Test "Imaginary part of: ctan (0.75 + 1.25 i) == 0.160807785916206426725166058173438663 + 0.975363285031235646193581759755216379 i":
--double: 1
- float: 1
--idouble: 1
- ifloat: 1
- ildouble: 3
- ldouble: 3
- # ctanh
- Test "Real part of: ctanh (-2 - 3 i) == -0.965385879022133124278480269394560686 + 0.988437503832249372031403430350121098e-2 i":
--ildouble: 5
--ldouble: 5
-+ildouble: 3
-+ldouble: 3
- Test "Imaginary part of: ctanh (-2 - 3 i) == -0.965385879022133124278480269394560686 + 0.988437503832249372031403430350121098e-2 i":
- float: 1
- ifloat: 1
--ildouble: 25
--ldouble: 25
-+ildouble: 1
-+ldouble: 1
- Test "Imaginary part of: ctanh (0 + pi/4 i) == 0.0 + 1.0 i":
- float: 1
- ifloat: 1
- Test "Real part of: ctanh (0.75 + 1.25 i) == 1.37260757053378320258048606571226857 + 0.385795952609750664177596760720790220 i":
--double: 1
- float: 1
--idouble: 1
- ifloat: 1
- Test "Imaginary part of: ctanh (0.75 + 1.25 i) == 1.37260757053378320258048606571226857 + 0.385795952609750664177596760720790220 i":
- double: 1
-@@ -419,9 +533,6 @@ double: 1
- idouble: 1
- # erfc
--Test "erfc (0.75) == 0.288844366346484868401062165408589223":
--float: 1
--ifloat: 1
- Test "erfc (1.25) == 0.0770998717435417698634765188027188596":
- ildouble: 1
- ldouble: 1
-@@ -434,14 +545,6 @@ idouble: 1
- ildouble: 1
- ldouble: 1
--# exp
--Test "exp (0.75) == 2.11700001661267466854536981983709561":
--ildouble: 1
--Test "exp (1000.0) == 0.197007111401704699388887935224332313e435":
--ildouble: 754
--Test "exp (50.0) == 5184705528587072464087.45332293348538":
--ildouble: 16
--
- # exp10
- Test "exp10 (-1) == 0.1":
- ildouble: 1
-@@ -453,6 +556,51 @@ Test "exp10 (3) == 1000":
- ildouble: 8
- ldouble: 8
-+# exp_downward
-+Test "exp_downward (1) == e":
-+ildouble: 1
-+ldouble: 1
-+Test "exp_downward (2) == e^2":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+Test "exp_downward (3) == e^3":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+# exp_towardzero
-+Test "exp_towardzero (1) == e":
-+ildouble: 1
-+ldouble: 1
-+Test "exp_towardzero (2) == e^2":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+Test "exp_towardzero (3) == e^3":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+# exp_upward
-+Test "exp_upward (1) == e":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+
- # expm1
- Test "expm1 (1) == M_El - 1.0":
- ildouble: 1
-@@ -485,26 +633,24 @@ float: 1
- # j0
- Test "j0 (-4.0) == -3.9714980986384737228659076845169804197562E-1":
- double: 1
--float: 2
-+float: 1
- idouble: 1
--ifloat: 2
-+ifloat: 1
- ildouble: 1
- ldouble: 1
- Test "j0 (10.0) == -0.245935764451348335197760862485328754":
--double: 3
-+double: 1
- float: 1
--idouble: 3
-+idouble: 1
- ifloat: 1
- Test "j0 (2.0) == 0.223890779141235668051827454649948626":
--double: 1
- float: 1
--idouble: 1
- ifloat: 1
- Test "j0 (4.0) == -3.9714980986384737228659076845169804197562E-1":
- double: 1
--float: 2
-+float: 1
- idouble: 1
--ifloat: 2
-+ifloat: 1
- ildouble: 1
- ldouble: 1
- Test "j0 (8.0) == 0.171650807137553906090869407851972001":
-@@ -512,13 +658,8 @@ float: 1
- ifloat: 1
- # j1
--Test "j1 (0.75) == 0.349243602174862192523281016426251335":
--double: 1
--idouble: 1
- Test "j1 (10.0) == 0.0434727461688614366697487680258592883":
--double: 1
- float: 1
--idouble: 1
- ifloat: 1
- ildouble: 1
- ldouble: 1
-@@ -526,9 +667,7 @@ Test "j1 (2.0) == 0.57672480775687338720
- double: 1
- idouble: 1
- Test "j1 (8.0) == 0.234636346853914624381276651590454612":
--double: 1
- float: 1
--idouble: 1
- ifloat: 1
- ildouble: 1
- ldouble: 1
-@@ -536,38 +675,31 @@ ldouble: 1
- # jn
- Test "jn (0, -4.0) == -3.9714980986384737228659076845169804197562E-1":
- double: 1
--float: 2
-+float: 1
- idouble: 1
--ifloat: 2
-+ifloat: 1
- ildouble: 1
- ldouble: 1
- Test "jn (0, 10.0) == -0.245935764451348335197760862485328754":
--double: 3
-+double: 1
- float: 1
--idouble: 3
-+idouble: 1
- ifloat: 1
- Test "jn (0, 2.0) == 0.223890779141235668051827454649948626":
--double: 1
- float: 1
--idouble: 1
- ifloat: 1
- Test "jn (0, 4.0) == -3.9714980986384737228659076845169804197562E-1":
- double: 1
--float: 2
-+float: 1
- idouble: 1
--ifloat: 2
-+ifloat: 1
- ildouble: 1
- ldouble: 1
- Test "jn (0, 8.0) == 0.171650807137553906090869407851972001":
- float: 1
- ifloat: 1
--Test "jn (1, 0.75) == 0.349243602174862192523281016426251335":
--double: 1
--idouble: 1
- Test "jn (1, 10.0) == 0.0434727461688614366697487680258592883":
--double: 1
- float: 1
--idouble: 1
- ifloat: 1
- ildouble: 1
- ldouble: 1
-@@ -575,9 +707,7 @@ Test "jn (1, 2.0) == 0.57672480775687338
- double: 1
- idouble: 1
- Test "jn (1, 8.0) == 0.234636346853914624381276651590454612":
--double: 1
- float: 1
--idouble: 1
- ifloat: 1
- ildouble: 1
- ldouble: 1
-@@ -589,9 +719,7 @@ ifloat: 1
- ildouble: 1
- ldouble: 1
- Test "jn (10, 0.125) == 0.250543369809369890173993791865771547e-18":
--double: 1
- float: 1
--idouble: 1
- ifloat: 1
- Test "jn (10, 0.75) == 0.149621713117596814698712483621682835e-10":
- float: 1
-@@ -606,38 +734,32 @@ ifloat: 1
- ildouble: 1
- ldouble: 1
- Test "jn (10, 10.0) == 0.207486106633358857697278723518753428":
--double: 5
--float: 2
--idouble: 5
--ifloat: 2
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
- ildouble: 2
- ldouble: 2
- Test "jn (10, 2.0) == 0.251538628271673670963516093751820639e-6":
--double: 2
--idouble: 2
- ildouble: 1
- ldouble: 1
- Test "jn (3, -1.0) == -0.0195633539826684059189053216217515083":
- ildouble: 1
- ldouble: 1
- Test "jn (3, 0.75) == 0.848438342327410884392755236884386804e-2":
--double: 1
- float: 1
--idouble: 1
- ifloat: 1
- Test "jn (3, 1.0) == 0.0195633539826684059189053216217515083":
- ildouble: 1
- ldouble: 1
- Test "jn (3, 10.0) == 0.0583793793051868123429354784103409563":
--double: 5
--float: 2
--idouble: 5
--ifloat: 2
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
- ildouble: 1
- ldouble: 1
- Test "jn (3, 2.0) == 0.128943249474402051098793332969239835":
--double: 1
--idouble: 1
- ildouble: 1
- ldouble: 1
-@@ -648,9 +770,7 @@ idouble: 1
- ildouble: 1
- ldouble: 1
- Test "lgamma (0.7) == 0.260867246531666514385732417016759578":
--double: 1
- float: 1
--idouble: 1
- ifloat: 1
- Test "lgamma (1.2) == -0.853740900033158497197028392998854470e-1":
- double: 1
-@@ -660,11 +780,6 @@ ifloat: 2
- ildouble: 1
- ldouble: 1
--# log
--Test "log (e) == 1":
--float: 1
--ifloat: 1
--
- # log10
- Test "log10 (0.75) == -0.124938736608299953132449886193870744":
- ildouble: 1
-@@ -675,20 +790,179 @@ ifloat: 1
- ildouble: 1
- ldouble: 1
--# sincos
--Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
-+# pow_downward
-+Test "pow_downward (1.0625, 1.125) == 1.070582293028761362162622578677070098674":
- double: 1
-+idouble: 1
-+ildouble: 1
-+ldouble: 1
-+Test "pow_downward (1.5, 1.03125) == 1.519127098714743184071644334163037684948":
- float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+# pow_towardzero
-+Test "pow_towardzero (1.0625, 1.125) == 1.070582293028761362162622578677070098674":
-+double: 1
- idouble: 1
-+ildouble: 1
-+ldouble: 1
-+Test "pow_towardzero (1.5, 1.03125) == 1.519127098714743184071644334163037684948":
-+float: 1
- ifloat: 1
--Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
-+ildouble: 1
-+ldouble: 1
-+
-+# pow_upward
-+Test "pow_upward (1.0625, 1.125) == 1.070582293028761362162622578677070098674":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "pow_upward (1.5, 1.03125) == 1.519127098714743184071644334163037684948":
-+double: 1
-+idouble: 1
-+ildouble: 1
-+ldouble: 1
-+
-+# sin_downward
-+Test "sin_downward (1) == 0.8414709848078965066525023216302989996226":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_downward (10) == -0.5440211108893698134047476618513772816836":
-+double: 1
-+idouble: 1
-+ildouble: 1
-+ldouble: 1
-+Test "sin_downward (2) == 0.9092974268256816953960198659117448427023":
-+double: 1
-+idouble: 1
-+Test "sin_downward (3) == 0.1411200080598672221007448028081102798469":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_downward (4) == -0.7568024953079282513726390945118290941359":
-+double: 1
-+idouble: 1
-+ildouble: 1
-+ldouble: 1
-+Test "sin_downward (5) == -0.9589242746631384688931544061559939733525":
-+double: 1
-+idouble: 1
-+ildouble: 1
-+ldouble: 1
-+Test "sin_downward (6) == -0.2794154981989258728115554466118947596280":
- double: 1
- float: 1
- idouble: 1
- ifloat: 1
-+Test "sin_downward (7) == 0.6569865987187890903969990915936351779369":
- ildouble: 1
- ldouble: 1
--Test "sincos (pi/2, &sin_res, &cos_res) puts 0 in cos_res":
-+Test "sin_downward (8) == 0.9893582466233817778081235982452886721164":
-+double: 1
-+idouble: 1
-+ildouble: 1
-+ldouble: 1
-+Test "sin_downward (9) == 0.4121184852417565697562725663524351793439":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+# sin_tonearest
-+Test "sin_tonearest (10) == -0.5440211108893698134047476618513772816836":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_tonearest (4) == -0.7568024953079282513726390945118290941359":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_tonearest (9) == 0.4121184852417565697562725663524351793439":
-+ildouble: 1
-+ldouble: 1
-+
-+# sin_towardzero
-+Test "sin_towardzero (1) == 0.8414709848078965066525023216302989996226":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_towardzero (10) == -0.5440211108893698134047476618513772816836":
-+float: 1
-+ifloat: 1
-+Test "sin_towardzero (2) == 0.9092974268256816953960198659117448427023":
-+double: 1
-+idouble: 1
-+Test "sin_towardzero (3) == 0.1411200080598672221007448028081102798469":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_towardzero (4) == -0.7568024953079282513726390945118290941359":
-+float: 1
-+ifloat: 1
-+Test "sin_towardzero (5) == -0.9589242746631384688931544061559939733525":
-+float: 1
-+ifloat: 1
-+Test "sin_towardzero (6) == -0.2794154981989258728115554466118947596280":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_towardzero (7) == 0.6569865987187890903969990915936351779369":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_towardzero (8) == 0.9893582466233817778081235982452886721164":
-+double: 1
-+idouble: 1
-+ildouble: 1
-+ldouble: 1
-+Test "sin_towardzero (9) == 0.4121184852417565697562725663524351793439":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+# sin_upward
-+Test "sin_upward (1) == 0.8414709848078965066525023216302989996226":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+Test "sin_upward (10) == -0.5440211108893698134047476618513772816836":
-+float: 1
-+ifloat: 1
-+Test "sin_upward (2) == 0.9092974268256816953960198659117448427023":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "sin_upward (3) == 0.1411200080598672221007448028081102798469":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+Test "sin_upward (4) == -0.7568024953079282513726390945118290941359":
-+float: 1
-+ifloat: 1
-+Test "sin_upward (5) == -0.9589242746631384688931544061559939733525":
-+float: 1
-+ifloat: 1
-+Test "sin_upward (6) == -0.2794154981989258728115554466118947596280":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_upward (7) == 0.6569865987187890903969990915936351779369":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+Test "sin_upward (8) == 0.9893582466233817778081235982452886721164":
-+float: 1
-+ifloat: 1
-+
-+# sincos
-+Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
-+double: 1
-+idouble: 1
-+Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
- double: 1
- float: 1
- idouble: 1
-@@ -698,66 +972,237 @@ ldouble: 1
- # sinh
- Test "sinh (0.75) == 0.822316731935829980703661634446913849":
--double: 1
- ildouble: 1
--# tan
--Test "tan (pi/4) == 1":
-+# sinh_downward
-+Test "sinh_downward (22) == 1792456423.065795780701106568345764104225":
- double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+ldouble: 4
-+Test "sinh_downward (23) == 4872401723.124451299966006944252978187305":
-+double: 1
-+float: 1
- idouble: 1
-+ifloat: 1
-+Test "sinh_downward (24) == 13244561064.92173614705070540368454568168":
-+float: 1
-+ifloat: 1
-+ldouble: 5
--# tgamma
--Test "tgamma (-0.5) == -2 sqrt (pi)":
--double: 2
-+# sinh_tonearest
-+Test "sinh_tonearest (22) == 1792456423.065795780701106568345764104225":
-+ldouble: 3
-+Test "sinh_tonearest (23) == 4872401723.124451299966006944252978187305":
-+ldouble: 1
-+Test "sinh_tonearest (24) == 13244561064.92173614705070540368454568168":
-+ldouble: 6
-+
-+# sinh_towardzero
-+Test "sinh_towardzero (22) == 1792456423.065795780701106568345764104225":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+ldouble: 4
-+Test "sinh_towardzero (23) == 4872401723.124451299966006944252978187305":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+Test "sinh_towardzero (24) == 13244561064.92173614705070540368454568168":
-+float: 1
-+ifloat: 1
-+ldouble: 5
-+
-+# sinh_upward
-+Test "sinh_upward (22) == 1792456423.065795780701106568345764104225":
-+ldouble: 16
-+Test "sinh_upward (23) == 4872401723.124451299966006944252978187305":
-+ldouble: 27
-+Test "sinh_upward (24) == 13244561064.92173614705070540368454568168":
-+double: 1
-+idouble: 1
-+ldouble: 7
-+
-+# tan_downward
-+Test "tan_downward (1) == 1.5574077246549022305069748074583601730873":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+Test "tan_downward (10) == 0.6483608274590866712591249330098086768169":
-+float: 1
-+ifloat: 1
-+Test "tan_downward (2) == -2.1850398632615189916433061023136825434320":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+Test "tan_downward (3) == -0.1425465430742778052956354105339134932261":
-+double: 1
-+idouble: 1
-+Test "tan_downward (4) == 1.1578212823495775831373424182673239231198":
- float: 1
--idouble: 2
- ifloat: 1
- ildouble: 1
- ldouble: 1
--Test "tgamma (0.5) == sqrt (pi)":
-+Test "tan_downward (5) == -3.3805150062465856369827058794473439087096":
-+ildouble: 1
-+ldouble: 1
-+Test "tan_downward (6) == -0.2910061913847491570536995888681755428312":
-+double: 1
- float: 1
-+idouble: 1
- ifloat: 1
--Test "tgamma (0.7) == 1.29805533264755778568117117915281162":
-+Test "tan_downward (7) == 0.8714479827243187364564508896003135663222":
-+double: 1
-+idouble: 1
-+Test "tan_downward (8) == -6.7997114552203786999252627596086333648814":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "tan_downward (9) == -0.4523156594418098405903708757987855343087":
-+float: 1
-+ifloat: 1
-+
-+# tan_tonearest
-+Test "tan_tonearest (6) == -0.2910061913847491570536995888681755428312":
-+ildouble: 1
-+ldouble: 1
-+Test "tan_tonearest (8) == -6.7997114552203786999252627596086333648814":
-+ildouble: 1
-+ldouble: 1
-+Test "tan_tonearest (9) == -0.4523156594418098405903708757987855343087":
-+ildouble: 1
-+ldouble: 1
-+
-+# tan_towardzero
-+Test "tan_towardzero (1) == 1.5574077246549022305069748074583601730873":
- double: 1
- float: 1
- idouble: 1
- ifloat: 1
--Test "tgamma (4) == 6":
-+Test "tan_towardzero (10) == 0.6483608274590866712591249330098086768169":
-+float: 1
-+ifloat: 1
-+Test "tan_towardzero (2) == -2.1850398632615189916433061023136825434320":
-+ildouble: 1
-+ldouble: 1
-+Test "tan_towardzero (3) == -0.1425465430742778052956354105339134932261":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "tan_towardzero (4) == 1.1578212823495775831373424182673239231198":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "tan_towardzero (5) == -3.3805150062465856369827058794473439087096":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+Test "tan_towardzero (6) == -0.2910061913847491570536995888681755428312":
-+ildouble: 1
-+ldouble: 1
-+Test "tan_towardzero (7) == 0.8714479827243187364564508896003135663222":
-+double: 1
-+idouble: 1
-+Test "tan_towardzero (8) == -6.7997114552203786999252627596086333648814":
-+double: 1
-+idouble: 1
-+ildouble: 2
-+ldouble: 2
-+Test "tan_towardzero (9) == -0.4523156594418098405903708757987855343087":
-+double: 1
-+idouble: 1
- ildouble: 1
- ldouble: 1
--# y0
--Test "y0 (0.125) == -1.38968062514384052915582277745018693":
-+# tan_upward
-+Test "tan_upward (1) == 1.5574077246549022305069748074583601730873":
- ildouble: 1
- ldouble: 1
--Test "y0 (0.75) == -0.137172769385772397522814379396581855":
-+Test "tan_upward (10) == 0.6483608274590866712591249330098086768169":
-+double: 1
-+idouble: 1
-+ildouble: 1
-+ldouble: 1
-+Test "tan_upward (2) == -2.1850398632615189916433061023136825434320":
-+ildouble: 1
-+ldouble: 1
-+Test "tan_upward (3) == -0.1425465430742778052956354105339134932261":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "tan_upward (4) == 1.1578212823495775831373424182673239231198":
-+double: 1
-+idouble: 1
-+Test "tan_upward (5) == -3.3805150062465856369827058794473439087096":
- double: 1
- float: 1
- idouble: 1
- ifloat: 1
--Test "y0 (1.0) == 0.0882569642156769579829267660235151628":
-+Test "tan_upward (6) == -0.2910061913847491570536995888681755428312":
-+ildouble: 1
-+ldouble: 1
-+Test "tan_upward (7) == 0.8714479827243187364564508896003135663222":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "tan_upward (8) == -6.7997114552203786999252627596086333648814":
-+double: 1
-+idouble: 1
-+ildouble: 2
-+ldouble: 2
-+Test "tan_upward (9) == -0.4523156594418098405903708757987855343087":
-+double: 1
-+idouble: 1
-+ildouble: 1
-+ldouble: 1
-+
-+# tgamma
-+Test "tgamma (-0.5) == -2 sqrt (pi)":
- double: 2
- float: 1
- idouble: 2
- ifloat: 1
- ildouble: 1
- ldouble: 1
--Test "y0 (1.5) == 0.382448923797758843955068554978089862":
-+Test "tgamma (0.5) == sqrt (pi)":
-+float: 1
-+ifloat: 1
-+Test "tgamma (0.7) == 1.29805533264755778568117117915281162":
- double: 1
- float: 1
- idouble: 1
- ifloat: 1
--Test "y0 (10.0) == 0.0556711672835993914244598774101900481":
-+
-+# y0
-+Test "y0 (0.125) == -1.38968062514384052915582277745018693":
-+ildouble: 1
-+ldouble: 1
-+Test "y0 (0.75) == -0.137172769385772397522814379396581855":
- double: 1
- float: 1
- idouble: 1
- ifloat: 1
-+Test "y0 (1.0) == 0.0882569642156769579829267660235151628":
-+ildouble: 1
-+ldouble: 1
-+Test "y0 (10.0) == 0.0556711672835993914244598774101900481":
-+float: 1
-+ifloat: 1
- ildouble: 1
- ldouble: 1
- Test "y0 (8.0) == 0.223521489387566220527323400498620359":
--double: 1
- float: 1
--idouble: 1
- ifloat: 1
- ildouble: 1
- ldouble: 1
-@@ -766,9 +1211,6 @@ ldouble: 1
- Test "y1 (0.125) == -5.19993611253477499595928744876579921":
- ildouble: 1
- ldouble: 1
--Test "y1 (1.0) == -0.781212821300288716547150000047964821":
--double: 1
--idouble: 1
- Test "y1 (10.0) == 0.249015424206953883923283474663222803":
- double: 2
- float: 2
-@@ -782,9 +1224,7 @@ ifloat: 2
- ildouble: 1
- ldouble: 1
- Test "y1 (8.0) == -0.158060461731247494255555266187483550":
--double: 1
- float: 2
--idouble: 1
- ifloat: 2
- ildouble: 1
- ldouble: 1
-@@ -799,37 +1239,21 @@ float: 1
- idouble: 1
- ifloat: 1
- Test "yn (0, 1.0) == 0.0882569642156769579829267660235151628":
--double: 2
--float: 1
--idouble: 2
--ifloat: 1
- ildouble: 1
- ldouble: 1
--Test "yn (0, 1.5) == 0.382448923797758843955068554978089862":
--double: 1
--float: 1
--idouble: 1
--ifloat: 1
- Test "yn (0, 10.0) == 0.0556711672835993914244598774101900481":
--double: 1
- float: 1
--idouble: 1
- ifloat: 1
- ildouble: 1
- ldouble: 1
- Test "yn (0, 8.0) == 0.223521489387566220527323400498620359":
--double: 1
- float: 1
--idouble: 1
- ifloat: 1
- ildouble: 1
- ldouble: 1
- Test "yn (1, 0.125) == -5.19993611253477499595928744876579921":
- ildouble: 1
- ldouble: 1
--Test "yn (1, 1.0) == -0.781212821300288716547150000047964821":
--double: 1
--idouble: 1
- Test "yn (1, 10.0) == 0.249015424206953883923283474663222803":
- double: 2
- float: 2
-@@ -843,17 +1267,13 @@ ifloat: 2
- ildouble: 1
- ldouble: 1
- Test "yn (1, 8.0) == -0.158060461731247494255555266187483550":
--double: 1
- float: 2
--idouble: 1
- ifloat: 2
- ildouble: 1
- ldouble: 1
- Test "yn (10, 0.125) == -127057845771019398.252538486899753195":
- double: 1
--float: 1
- idouble: 1
--ifloat: 1
- ildouble: 2
- ldouble: 2
- Test "yn (10, 0.75) == -2133501638.90573424452445412893839236":
-@@ -862,28 +1282,22 @@ ifloat: 1
- ildouble: 4
- ldouble: 4
- Test "yn (10, 1.0) == -121618014.278689189288130426667971145":
--double: 1
- float: 2
--idouble: 1
- ifloat: 2
- Test "yn (10, 10.0) == -0.359814152183402722051986577343560609":
- double: 1
--float: 3
-+float: 1
- idouble: 1
--ifloat: 3
-+ifloat: 1
- Test "yn (10, 2.0) == -129184.542208039282635913145923304214":
--double: 2
- float: 3
--idouble: 2
- ifloat: 3
- Test "yn (3, 0.125) == -2612.69757350066712600220955744091741":
- ildouble: 1
- ldouble: 1
- Test "yn (3, 0.75) == -12.9877176234475433186319774484809207":
- double: 1
--float: 1
- idouble: 1
--ifloat: 1
- ildouble: 2
- ldouble: 2
- Test "yn (3, 10.0) == -0.251362657183837329779204747654240998":
-@@ -892,15 +1306,13 @@ float: 1
- idouble: 1
- ifloat: 1
- Test "yn (3, 2.0) == -1.12778377684042778608158395773179238":
--double: 1
- float: 1
--idouble: 1
- ifloat: 1
- # Maximal error of functions:
- Function: "acos":
--ildouble: 622
--ldouble: 622
-+ildouble: 1
-+ldouble: 1
- Function: "asin":
- ildouble: 1
-@@ -917,18 +1329,6 @@ ildouble: 2
- ldouble: 2
- Function: Real part of "cacosh":
--double: 1
--float: 9
--idouble: 1
--ifloat: 9
--ildouble: 6
--ldouble: 6
--
--Function: Imaginary part of "cacosh":
--double: 1
--float: 4
--idouble: 1
--ifloat: 4
- ildouble: 1
- ldouble: 1
-@@ -1033,8 +1433,6 @@ double: 1
- float: 1
- idouble: 1
- ifloat: 1
--ildouble: 1
--ldouble: 1
- Function: "cos":
- double: 2
-@@ -1044,16 +1442,58 @@ ifloat: 1
- ildouble: 1
- ldouble: 1
--Function: "cosh":
-+Function: "cos_downward":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "cos_tonearest":
- ildouble: 1
-+ldouble: 1
-+
-+Function: "cos_towardzero":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "cos_upward":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "cosh_downward":
-+double: 1
-+float: 1
-+ldouble: 2
-+
-+Function: "cosh_tonearest":
-+ldouble: 1
-+
-+Function: "cosh_towardzero":
-+double: 1
-+float: 1
-+ldouble: 2
-+
-+Function: "cosh_upward":
-+double: 1
-+ldouble: 1
- Function: Real part of "cpow":
- double: 1
- float: 4
- idouble: 1
- ifloat: 4
--ildouble: 763
--ldouble: 763
-+ildouble: 6
-+ldouble: 6
- Function: Imaginary part of "cpow":
- double: 2
-@@ -1086,38 +1526,32 @@ double: 1
- float: 1
- idouble: 1
- ifloat: 1
--ildouble: 2
--ldouble: 2
- Function: Real part of "ctan":
- double: 1
- idouble: 1
--ildouble: 439
--ldouble: 439
-+ildouble: 1
-+ldouble: 1
- Function: Imaginary part of "ctan":
--double: 1
- float: 1
--idouble: 1
- ifloat: 1
- ildouble: 3
- ldouble: 3
- Function: Real part of "ctanh":
--double: 1
- float: 1
--idouble: 1
- ifloat: 1
--ildouble: 5
--ldouble: 5
-+ildouble: 3
-+ldouble: 3
- Function: Imaginary part of "ctanh":
- double: 1
- float: 1
- idouble: 1
- ifloat: 1
--ildouble: 25
--ldouble: 25
-+ildouble: 1
-+ldouble: 1
- Function: "erf":
- double: 1
-@@ -1125,19 +1559,36 @@ idouble: 1
- Function: "erfc":
- double: 1
--float: 1
- idouble: 1
--ifloat: 1
- ildouble: 1
- ldouble: 1
--Function: "exp":
--ildouble: 754
--
- Function: "exp10":
- ildouble: 8
- ldouble: 8
-+Function: "exp_downward":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+
-+Function: "exp_towardzero":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+
-+Function: "exp_upward":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+
- Function: "expm1":
- ildouble: 1
-@@ -1151,10 +1602,10 @@ Function: "hypot":
- float: 1
- Function: "j0":
--double: 3
--float: 2
--idouble: 3
--ifloat: 2
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
- ildouble: 1
- ldouble: 1
-@@ -1167,10 +1618,10 @@ ildouble: 1
- ldouble: 1
- Function: "jn":
--double: 5
--float: 2
--idouble: 5
--ifloat: 2
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
- ildouble: 2
- ldouble: 2
-@@ -1192,6 +1643,58 @@ ifloat: 1
- ildouble: 1
- ldouble: 1
-+Function: "pow_downward":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "pow_towardzero":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "pow_upward":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "sin_downward":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "sin_tonearest":
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "sin_towardzero":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "sin_upward":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
- Function: "sincos":
- double: 1
- float: 1
-@@ -1201,13 +1704,62 @@ ildouble: 1
- ldouble: 1
- Function: "sinh":
--double: 1
- ildouble: 1
-+Function: "sinh_downward":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+ldouble: 5
-+
-+Function: "sinh_tonearest":
-+ldouble: 6
-+
-+Function: "sinh_towardzero":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+ldouble: 5
-+
-+Function: "sinh_upward":
-+double: 1
-+idouble: 1
-+ldouble: 27
-+
- Function: "tan":
- double: 1
- idouble: 1
-+Function: "tan_downward":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "tan_tonearest":
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "tan_towardzero":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+
-+Function: "tan_upward":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+
- Function: "tgamma":
- double: 2
- float: 1
-@@ -1217,9 +1769,9 @@ ildouble: 1
- ldouble: 1
- Function: "y0":
--double: 2
-+double: 1
- float: 1
--idouble: 2
-+idouble: 1
- ifloat: 1
- ildouble: 1
- ldouble: 1
-diff -Nrup a/sysdeps/ieee754/dbl-64/e_exp.c b/sysdeps/ieee754/dbl-64/e_exp.c
---- a/sysdeps/ieee754/dbl-64/e_exp.c   2010-05-04 05:27:23.000000000 -0600
-+++ b/sysdeps/ieee754/dbl-64/e_exp.c   2012-08-06 09:54:00.823929687 -0600
-@@ -1,7 +1,7 @@
- /*
-  * IBM Accurate Mathematical Library
-  * written by International Business Machines Corp.
-- * Copyright (C) 2001 Free Software Foundation
-+ * Copyright (C) 2001-2012 Free Software Foundation
-  *
-  * This program is free software; you can redistribute it and/or modify
-  * it under the terms of the GNU Lesser General Public License as published by
-@@ -39,6 +39,7 @@
- #include "MathLib.h"
- #include "uexp.tbl"
- #include "math_private.h"
-+#include <fenv.h>
- double __slowexp(double);
-@@ -53,6 +54,10 @@ double __ieee754_exp(double x) {
-   int4 k;
- #endif
-   int4 i,j,m,n,ex;
-+  fenv_t env;
-+  double retval;
-+
-+  libc_feholdexcept_setround (&env, FE_TONEAREST);
-   junk1.x = x;
-   m = junk1.i[HIGH_HALF];
-@@ -85,18 +90,19 @@ double __ieee754_exp(double x) {
-     rem=(bet + bet*eps)+al*eps;
-     res = al + rem;
-     cor = (al - res) + rem;
--    if  (res == (res+cor*err_0)) return res*binexp.x;
--    else return __slowexp(x); /*if error is over bound */
-+    if  (res == (res+cor*err_0)) { retval = res*binexp.x; goto ret; }
-+    else { retval = __slowexp(x); goto ret; } /*if error is over bound */
-   }
--  if (n <= smallint) return 1.0;
-+  if (n <= smallint) { retval = 1.0; goto ret; }
-   if (n >= badint) {
--    if (n > infint) return(x+x);               /* x is NaN */
--    if (n < infint) return ( (x>0) ? (hhuge*hhuge) : (tiny*tiny) );
-+    if (n > infint) { retval = x+x; goto ret; }               /* x is NaN */
-+    if (n < infint) { retval = (x>0) ? (hhuge*hhuge) : (tiny*tiny); goto ret; }
-     /* x is finite,  cause either overflow or underflow  */
--    if (junk1.i[LOW_HALF] != 0)  return (x+x);                /*  x is NaN  */
--    return ((x>0)?inf.x:zero );             /* |x| = inf;  return either inf or 0 */
-+    if (junk1.i[LOW_HALF] != 0) { retval = x+x; goto ret; } /*  x is NaN  */
-+    retval = (x>0)?inf.x:zero;             /* |x| = inf;  return either inf or 0 */
-+    goto ret;
-   }
-   y = x*log2e.x + three51.x;
-@@ -121,8 +127,8 @@ double __ieee754_exp(double x) {
-     if (res < 1.0) {res+=res; cor+=cor; ex-=1;}
-     if (ex >=-1022) {
-       binexp.i[HIGH_HALF] = (1023+ex)<<20;
--      if  (res == (res+cor*err_0)) return res*binexp.x;
--      else return __slowexp(x); /*if error is over bound */
-+      if  (res == (res+cor*err_0)) { retval = res*binexp.x; goto ret; }
-+      else { retval = __slowexp(x); goto ret; } /*if error is over bound */
-     }
-     ex = -(1022+ex);
-     binexp.i[HIGH_HALF] = (1023-ex)<<20;
-@@ -135,15 +141,19 @@ double __ieee754_exp(double x) {
-     cor = (t-res)+y;
-     if (res == (res + eps*cor))
-     { binexp.i[HIGH_HALF] = 0x00100000;
--      return (res-1.0)*binexp.x;
-+      retval = (res-1.0)*binexp.x;
-+      goto ret;
-     }
--    else return __slowexp(x); /*   if error is over bound    */
-+    else { retval = __slowexp(x); goto ret; } /*   if error is over bound    */
-   }
-   else {
-     binexp.i[HIGH_HALF] =(junk1.i[LOW_HALF]+767)<<20;
--    if  (res == (res+cor*err_0)) return res*binexp.x*t256.x;
--    else return __slowexp(x);
-+    if (res == (res+cor*err_0)) { retval = res*binexp.x*t256.x; goto ret; }
-+    else { retval = __slowexp(x); goto ret; }
-   }
-+ ret:
-+  libc_feupdateenv (&env);
-+  return retval;
- }
- /************************************************************************/
-diff -Nrup a/sysdeps/ieee754/dbl-64/e_exp2.c b/sysdeps/ieee754/dbl-64/e_exp2.c
---- a/sysdeps/ieee754/dbl-64/e_exp2.c  2010-05-04 05:27:23.000000000 -0600
-+++ b/sysdeps/ieee754/dbl-64/e_exp2.c  2012-08-06 09:54:00.824929683 -0600
-@@ -24,9 +24,6 @@
-    17 (1), March 1991, pp. 26-45.
-    It has been slightly modified to compute 2^x instead of e^x.
-    */
--#ifndef _GNU_SOURCE
--#define _GNU_SOURCE
--#endif
- #include <stdlib.h>
- #include <float.h>
- #include <ieee754.h>
-@@ -37,13 +34,8 @@
- #include "t_exp2.h"
--/* XXX I know the assembler generates a warning about incorrect section
--   attributes. But without the attribute here the compiler places the
--   constants in the .data section.  Ideally the constant is placed in
--   .rodata.cst8 so that it can be merged, but gcc sucks, it ICEs when
--   we try to force this section on it.  --drepper  */
--static const volatile double TWO1023 = 8.988465674311579539e+307;
--static const volatile double TWOM1000 = 9.3326361850321887899e-302;
-+static const double TWO1023 = 8.988465674311579539e+307;
-+static const double TWOM1000 = 9.3326361850321887899e-302;
- double
- __ieee754_exp2 (double x)
-@@ -60,11 +52,7 @@ __ieee754_exp2 (double x)
-       union ieee754_double ex2_u, scale_u;
-       fenv_t oldenv;
--      feholdexcept (&oldenv);
--#ifdef FE_TONEAREST
--      /* If we don't have this, it's too bad.  */
--      fesetround (FE_TONEAREST);
--#endif
-+      libc_feholdexcept_setround (&oldenv, FE_TONEAREST);
-       /* 1. Argument reduction.
-        Choose integers ex, -256 <= t < 256, and some real
-@@ -108,9 +96,10 @@ __ieee754_exp2 (double x)
-              * x + .055504110254308625)
-             * x + .240226506959100583)
-            * x + .69314718055994495) * ex2_u.d;
-+      math_opt_barrier (x22);
-       /* 5. Return (2^x2-1) * 2^(t/512+e+ex) + 2^(t/512+e+ex).  */
--      fesetenv (&oldenv);
-+      libc_fesetenv (&oldenv);
-       result = x22 * x + ex2_u.d;
-diff -Nrup a/sysdeps/ieee754/dbl-64/e_pow.c b/sysdeps/ieee754/dbl-64/e_pow.c
---- a/sysdeps/ieee754/dbl-64/e_pow.c   2010-05-04 05:27:23.000000000 -0600
-+++ b/sysdeps/ieee754/dbl-64/e_pow.c   2012-08-06 09:54:00.824929683 -0600
-@@ -42,6 +42,7 @@
- #include "MathLib.h"
- #include "upow.tbl"
- #include "math_private.h"
-+#include <fenv.h>
- double __exp1(double x, double xx, double error);
-@@ -79,6 +80,11 @@ double __ieee754_pow(double x, double y)
-        (u.i[HIGH_HALF]==0 && u.i[LOW_HALF]!=0))  &&
-                                       /*   2^-1023< x<= 2^-1023 * 0x1.0000ffffffff */
-       (v.i[HIGH_HALF]&0x7fffffff) < 0x4ff00000) {              /* if y<-1 or y>1   */
-+    fenv_t env;
-+    double retval;
-+
-+    libc_feholdexcept_setround (&env, FE_TONEAREST);
-+
-     z = log1(x,&aa,&error);                                 /* x^y  =e^(y log (X)) */
-     t = y*134217729.0;
-     y1 = t - (t-y);
-@@ -92,7 +98,10 @@ double __ieee754_pow(double x, double y)
-     a2 = (a-a1)+aa;
-     error = error*ABS(y);
-     t = __exp1(a1,a2,1.9e16*error);     /* return -10 or 0 if wasn't computed exactly */
--    return (t>0)?t:power1(x,y);
-+    retval = (t>0)?t:power1(x,y);
-+
-+    libc_feupdateenv (&env);
-+    return retval;
-   }
-   if (x == 0) {
-diff -Nrup a/sysdeps/ieee754/dbl-64/s_sin.c b/sysdeps/ieee754/dbl-64/s_sin.c
---- a/sysdeps/ieee754/dbl-64/s_sin.c   2010-05-04 05:27:23.000000000 -0600
-+++ b/sysdeps/ieee754/dbl-64/s_sin.c   2012-08-06 09:54:00.827929671 -0600
-@@ -55,6 +55,7 @@
- #include "MathLib.h"
- #include "sincos.tbl"
- #include "math_private.h"
-+#include <fenv.h>
- static const double
-           sn3 = -1.66666666666664880952546298448555E-01,
-@@ -97,12 +98,16 @@ double __sin(double x){
- #if 0
-       int4 nn;
- #endif
-+      fenv_t env;
-+      double retval = 0;
-+
-+      libc_feholdexcept_setround (&env, FE_TONEAREST);
-       u.x = x;
-       m = u.i[HIGH_HALF];
-       k = 0x7fffffff&m;              /* no sign           */
-       if (k < 0x3e500000)            /* if x->0 =>sin(x)=x */
--       return x;
-+        { retval = x; goto ret; }
-  /*---------------------------- 2^-26 < |x|< 0.25 ----------------------*/
-       else  if (k < 0x3fd00000){
-         xx = x*x;
-@@ -110,7 +115,8 @@ double __sin(double x){
-         t = ((((s5.x*xx + s4.x)*xx + s3.x)*xx + s2.x)*xx + s1.x)*(xx*x);
-         res = x+t;
-         cor = (x-res)+t;
--        return (res == res + 1.07*cor)? res : slow(x);
-+        retval = (res == res + 1.07*cor)? res : slow(x);
-+        goto ret;
-       }    /*  else  if (k < 0x3fd00000)    */
- /*---------------------------- 0.25<|x|< 0.855469---------------------- */
-       else if (k < 0x3feb6000)  {
-@@ -127,7 +133,8 @@ double __sin(double x){
-         cor=(ssn+s*ccs-sn*c)+cs*s;
-         res=sn+cor;
-         cor=(sn-res)+cor;
--        return (res==res+1.025*cor)? res : slow1(x);
-+        retval = (res==res+1.096*cor)? res : slow1(x);
-+        goto ret;
-       }    /*   else  if (k < 0x3feb6000)    */
- /*----------------------- 0.855469  <|x|<2.426265  ----------------------*/
-@@ -153,7 +160,8 @@ double __sin(double x){
-         cor=(ccs-s*ssn-cs*c)-sn*s;
-         res=cs+cor;
-         cor=(cs-res)+cor;
--        return (res==res+1.020*cor)? ((m>0)?res:-res) : slow2(x);
-+        retval = (res==res+1.020*cor)? ((m>0)?res:-res) : slow2(x);
-+        goto ret;
-       } /*   else  if (k < 0x400368fd)    */
- /*-------------------------- 2.426265<|x|< 105414350 ----------------------*/
-@@ -179,7 +187,8 @@ double __sin(double x){
-             res = a+t;
-             cor = (a-res)+t;
-             cor = (cor>0)? 1.02*cor+eps : 1.02*cor -eps;
--            return (res == res + cor)? res : sloww(a,da,x);
-+            retval = (res == res + cor)? res : sloww(a,da,x);
-+            goto ret;
-           }
-           else  {
-             if (a>0)
-@@ -200,7 +209,8 @@ double __sin(double x){
-             res=sn+cor;
-             cor=(sn-res)+cor;
-             cor = (cor>0)? 1.035*cor+eps : 1.035*cor-eps;
--            return (res==res+cor)? ((m)?res:-res) : sloww1(a,da,x);
-+            retval = (res==res+cor)? ((m)?res:-res) : sloww1(a,da,x);
-+            goto ret;
-           }
-           break;
-@@ -222,7 +232,8 @@ double __sin(double x){
-           res=cs+cor;
-           cor=(cs-res)+cor;
-           cor = (cor>0)? 1.025*cor+eps : 1.025*cor-eps;
--          return (res==res+cor)? ((n&2)?-res:res) : sloww2(a,da,x,n);
-+          retval = (res==res+cor)? ((n&2)?-res:res) : sloww2(a,da,x,n);
-+          goto ret;
-           break;
-@@ -258,7 +269,8 @@ double __sin(double x){
-             res = a+t;
-             cor = (a-res)+t;
-             cor = (cor>0)? 1.02*cor+eps : 1.02*cor -eps;
--            return (res == res + cor)? res : bsloww(a,da,x,n);
-+            retval = (res == res + cor)? res : bsloww(a,da,x,n);
-+            goto ret;
-           }
-           else  {
-             if (a>0) {m=1;t=a;db=da;}
-@@ -277,7 +289,8 @@ double __sin(double x){
-             res=sn+cor;
-             cor=(sn-res)+cor;
-             cor = (cor>0)? 1.035*cor+eps : 1.035*cor-eps;
--            return (res==res+cor)? ((m)?res:-res) : bsloww1(a,da,x,n);
-+            retval = (res==res+cor)? ((m)?res:-res) : bsloww1(a,da,x,n);
-+            goto ret;
-                  }
-           break;
-@@ -299,7 +312,8 @@ double __sin(double x){
-           res=cs+cor;
-           cor=(cs-res)+cor;
-           cor = (cor>0)? 1.025*cor+eps : 1.025*cor-eps;
--          return (res==res+cor)? ((n&2)?-res:res) : bsloww2(a,da,x,n);
-+          retval = (res==res+cor)? ((n&2)?-res:res) : bsloww2(a,da,x,n);
-+          goto ret;
-           break;
-@@ -313,17 +327,20 @@ double __sin(double x){
-         n = __branred(x,&a,&da);
-         switch (n) {
-         case 0:
--          if (a*a < 0.01588) return bsloww(a,da,x,n);
--          else return bsloww1(a,da,x,n);
-+          if (a*a < 0.01588) retval = bsloww(a,da,x,n);
-+          else retval = bsloww1(a,da,x,n);
-+          goto ret;
-           break;
-         case 2:
--          if (a*a < 0.01588) return bsloww(-a,-da,x,n);
--          else return bsloww1(-a,-da,x,n);
-+          if (a*a < 0.01588) retval = bsloww(-a,-da,x,n);
-+          else retval = bsloww1(-a,-da,x,n);
-+          goto ret;
-           break;
-         case 1:
-         case 3:
--          return  bsloww2(a,da,x,n);
-+          retval = bsloww2(a,da,x,n);
-+          goto ret;
-           break;
-         }
-@@ -333,9 +350,13 @@ double __sin(double x){
-       else {
-         if (k == 0x7ff00000 && u.i[LOW_HALF] == 0)
-           __set_errno (EDOM);
--        return x / x;
-+        retval = x / x;
-+        goto ret;
-       }
--      return 0;         /* unreachable */
-+
-+ ret:
-+      libc_feupdateenv (&env);
-+      return retval;
- }
-@@ -350,11 +371,16 @@ double __cos(double x)
-   mynumber u,v;
-   int4 k,m,n;
-+  fenv_t env;
-+  double retval = 0;
-+
-+  libc_feholdexcept_setround (&env, FE_TONEAREST);
-+
-   u.x = x;
-   m = u.i[HIGH_HALF];
-   k = 0x7fffffff&m;
--  if (k < 0x3e400000 ) return 1.0; /* |x|<2^-27 => cos(x)=1 */
-+  if (k < 0x3e400000 ) { retval = 1.0; goto ret; } /* |x|<2^-27 => cos(x)=1 */
-   else if (k < 0x3feb6000 ) {/* 2^-27 < |x| < 0.855469 */
-     y=ABS(x);
-@@ -371,7 +397,8 @@ double __cos(double x)
-     cor=(ccs-s*ssn-cs*c)-sn*s;
-     res=cs+cor;
-     cor=(cs-res)+cor;
--    return (res==res+1.020*cor)? res : cslow2(x);
-+    retval = (res==res+1.020*cor)? res : cslow2(x);
-+    goto ret;
- }    /*   else  if (k < 0x3feb6000)    */
-@@ -385,7 +412,8 @@ double __cos(double x)
-       res = a+t;
-       cor = (a-res)+t;
-       cor = (cor>0)? 1.02*cor+1.0e-31 : 1.02*cor -1.0e-31;
--      return (res == res + cor)? res : csloww(a,da,x);
-+      retval = (res == res + cor)? res : csloww(a,da,x);
-+      goto ret;
-     }
-     else  {
-       if (a>0) {m=1;t=a;db=da;}
-@@ -404,7 +432,8 @@ double __cos(double x)
-       res=sn+cor;
-       cor=(sn-res)+cor;
-       cor = (cor>0)? 1.035*cor+1.0e-31 : 1.035*cor-1.0e-31;
--      return (res==res+cor)? ((m)?res:-res) : csloww1(a,da,x);
-+      retval = (res==res+cor)? ((m)?res:-res) : csloww1(a,da,x);
-+      goto ret;
- }
- }    /*   else  if (k < 0x400368fd)    */
-@@ -431,7 +460,8 @@ double __cos(double x)
-       res = a+t;
-       cor = (a-res)+t;
-       cor = (cor>0)? 1.02*cor+eps : 1.02*cor -eps;
--      return (res == res + cor)? res : csloww(a,da,x);
-+      retval = (res == res + cor)? res : csloww(a,da,x);
-+      goto ret;
-       }
-       else  {
-       if (a>0) {m=1;t=a;db=da;}
-@@ -450,7 +480,8 @@ double __cos(double x)
-       res=sn+cor;
-       cor=(sn-res)+cor;
-       cor = (cor>0)? 1.035*cor+eps : 1.035*cor-eps;
--      return (res==res+cor)? ((m)?res:-res) : csloww1(a,da,x);
-+      retval = (res==res+cor)? ((m)?res:-res) : csloww1(a,da,x);
-+      goto ret;
-       }
-       break;
-@@ -471,7 +502,8 @@ double __cos(double x)
-       res=cs+cor;
-       cor=(cs-res)+cor;
-       cor = (cor>0)? 1.025*cor+eps : 1.025*cor-eps;
--      return (res==res+cor)? ((n)?-res:res) : csloww2(a,da,x,n);
-+      retval = (res==res+cor)? ((n)?-res:res) : csloww2(a,da,x,n);
-+      goto ret;
-            break;
-@@ -506,7 +538,8 @@ double __cos(double x)
-       res = a+t;
-       cor = (a-res)+t;
-       cor = (cor>0)? 1.02*cor+eps : 1.02*cor -eps;
--      return (res == res + cor)? res : bsloww(a,da,x,n);
-+      retval = (res == res + cor)? res : bsloww(a,da,x,n);
-+      goto ret;
-       }
-       else  {
-       if (a>0) {m=1;t=a;db=da;}
-@@ -525,7 +558,8 @@ double __cos(double x)
-       res=sn+cor;
-       cor=(sn-res)+cor;
-       cor = (cor>0)? 1.035*cor+eps : 1.035*cor-eps;
--      return (res==res+cor)? ((m)?res:-res) : bsloww1(a,da,x,n);
-+      retval = (res==res+cor)? ((m)?res:-res) : bsloww1(a,da,x,n);
-+      goto ret;
-       }
-       break;
-@@ -546,7 +580,8 @@ double __cos(double x)
-       res=cs+cor;
-       cor=(cs-res)+cor;
-       cor = (cor>0)? 1.025*cor+eps : 1.025*cor-eps;
--      return (res==res+cor)? ((n)?-res:res) : bsloww2(a,da,x,n);
-+      retval = (res==res+cor)? ((n)?-res:res) : bsloww2(a,da,x,n);
-+      goto ret;
-       break;
-     }
-@@ -558,17 +593,20 @@ double __cos(double x)
-     n = __branred(x,&a,&da);
-     switch (n) {
-     case 1:
--      if (a*a < 0.01588) return bsloww(-a,-da,x,n);
--      else return bsloww1(-a,-da,x,n);
-+      if (a*a < 0.01588) retval = bsloww(-a,-da,x,n);
-+      else retval = bsloww1(-a,-da,x,n);
-+      goto ret;
-       break;
-               case 3:
--                if (a*a < 0.01588) return bsloww(a,da,x,n);
--                else return bsloww1(a,da,x,n);
-+                if (a*a < 0.01588) retval = bsloww(a,da,x,n);
-+                else retval = bsloww1(a,da,x,n);
-+                goto ret;
-                 break;
-     case 0:
-     case 2:
--      return  bsloww2(a,da,x,n);
-+      retval = bsloww2(a,da,x,n);
-+      goto ret;
-       break;
-     }
-@@ -580,10 +618,13 @@ double __cos(double x)
-   else {
-     if (k == 0x7ff00000 && u.i[LOW_HALF] == 0)
-       __set_errno (EDOM);
--    return x / x; /* |x| > 2^1024 */
-+    retval = x / x; /* |x| > 2^1024 */
-+    goto ret;
-   }
--  return 0;
-+ ret:
-+  libc_feupdateenv (&env);
-+  return retval;
- }
- /************************************************************************/
-diff -Nrup a/sysdeps/ieee754/dbl-64/s_tan.c b/sysdeps/ieee754/dbl-64/s_tan.c
---- a/sysdeps/ieee754/dbl-64/s_tan.c   2010-05-04 05:27:23.000000000 -0600
-+++ b/sysdeps/ieee754/dbl-64/s_tan.c   2012-08-06 09:54:00.828929666 -0600
-@@ -40,6 +40,8 @@
- #include "mpa.h"
- #include "MathLib.h"
- #include "math.h"
-+#include "math_private.h"
-+#include <fenv.h>
- static double tanMp(double);
- void __mptan(double, mp_no *, int);
-@@ -58,21 +60,27 @@ double tan(double x) {
-   mp_no mpy;
- #endif
-+  fenv_t env;
-+  double retval;
-+
-   int __branred(double, double *, double *);
-   int __mpranred(double, mp_no *, int);
-+  libc_feholdexcept_setround (&env, FE_TONEAREST);
-+
-   /* x=+-INF, x=NaN */
-   num.d = x;  ux = num.i[HIGH_HALF];
-   if ((ux&0x7ff00000)==0x7ff00000) {
-     if ((ux&0x7fffffff)==0x7ff00000)
-       __set_errno (EDOM);
--    return x-x;
-+    retval = x-x;
-+    goto ret;
-   }
-   w=(x<ZERO) ? -x : x;
-   /* (I) The case abs(x) <= 1.259e-8 */
--  if (w<=g1.d)  return x;
-+  if (w<=g1.d) { retval = x; goto ret; }
-   /* (II) The case 1.259e-8 < abs(x) <= 0.0608 */
-   if (w<=g2.d) {
-@@ -80,7 +88,7 @@ double tan(double x) {
-     /* First stage */
-     x2 = x*x;
-     t2 = x*x2*(d3.d+x2*(d5.d+x2*(d7.d+x2*(d9.d+x2*d11.d))));
--    if ((y=x+(t2-u1.d*t2)) == x+(t2+u1.d*t2))  return y;
-+    if ((y=x+(t2-u1.d*t2)) == x+(t2+u1.d*t2)) { retval = y; goto ret; }
-     /* Second stage */
-     c1 = x2*(a15.d+x2*(a17.d+x2*(a19.d+x2*(a21.d+x2*(a23.d+x2*(a25.d+
-@@ -100,8 +108,9 @@ double tan(double x) {
-     MUL2(x2,xx2,c2,cc2,c1,cc1,t1,t2,t3,t4,t5,t6,t7,t8)
-     MUL2(x ,zero.d,c1,cc1,c2,cc2,t1,t2,t3,t4,t5,t6,t7,t8)
-     ADD2(x    ,zero.d,c2,cc2,c1,cc1,t1,t2)
--    if ((y=c1+(cc1-u2.d*c1)) == c1+(cc1+u2.d*c1))  return y;
--    return tanMp(x);
-+    if ((y=c1+(cc1-u2.d*c1)) == c1+(cc1+u2.d*c1)) { retval = y; goto ret; }
-+    retval = tanMp(x);
-+    goto ret;
-   }
-   /* (III) The case 0.0608 < abs(x) <= 0.787 */
-@@ -112,10 +121,10 @@ double tan(double x) {
-     z = w-xfg[i][0].d;  z2 = z*z;   s = (x<ZERO) ? MONE : ONE;
-     pz = z+z*z2*(e0.d+z2*e1.d);
-     fi = xfg[i][1].d;   gi = xfg[i][2].d;   t2 = pz*(gi+fi)/(gi-pz);
--    if ((y=fi+(t2-fi*u3.d))==fi+(t2+fi*u3.d))  return (s*y);
-+    if ((y=fi+(t2-fi*u3.d))==fi+(t2+fi*u3.d)) { retval = (s*y); goto ret; }
-     t3 = (t2<ZERO) ? -t2 : t2;
-     t4 = fi*ua3.d+t3*ub3.d;
--    if ((y=fi+(t2-t4))==fi+(t2+t4))  return (s*y);
-+    if ((y=fi+(t2-t4))==fi+(t2+t4)) { retval = (s*y); goto ret; }
-     /* Second stage */
-     ffi = xfg[i][3].d;
-@@ -133,8 +142,9 @@ double tan(double x) {
-     SUB2(one.d,zero.d,c3,cc3,c1,cc1,t1,t2)
-     DIV2(c2,cc2,c1,cc1,c3,cc3,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10)
--    if ((y=c3+(cc3-u4.d*c3))==c3+(cc3+u4.d*c3))  return (s*y);
--    return tanMp(x);
-+      if ((y=c3+(cc3-u4.d*c3))==c3+(cc3+u4.d*c3)) { retval = (s*y); goto ret; }
-+    retval = tanMp(x);
-+    goto ret;
-   }
-   /* (---) The case 0.787 < abs(x) <= 25 */
-@@ -152,7 +162,7 @@ double tan(double x) {
-     else         {ya= a;  yya= da;  sy= ONE;}
-     /* (IV),(V) The case 0.787 < abs(x) <= 25,    abs(y) <= 1e-7 */
--    if (ya<=gy1.d)  return tanMp(x);
-+    if (ya<=gy1.d) { retval = tanMp(x); goto ret; }
-     /* (VI) The case 0.787 < abs(x) <= 25,    1e-7 < abs(y) <= 0.0608 */
-     if (ya<=gy2.d) {
-@@ -162,10 +172,10 @@ double tan(double x) {
-         /* First stage -cot */
-         EADD(a,t2,b,db)
-         DIV2(one.d,zero.d,b,db,c,dc,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10)
--        if ((y=c+(dc-u6.d*c))==c+(dc+u6.d*c))  return (-y); }
-+      if ((y=c+(dc-u6.d*c))==c+(dc+u6.d*c)) { retval = (-y); goto ret; } }
-       else {
-         /* First stage tan */
--        if ((y=a+(t2-u5.d*a))==a+(t2+u5.d*a))  return y; }
-+      if ((y=a+(t2-u5.d*a))==a+(t2+u5.d*a)) { retval = y; goto ret; } }
-       /* Second stage */
-       /* Range reduction by algorithm ii */
-       t = (x*hpinv.d + toint.d);
-@@ -203,11 +213,12 @@ double tan(double x) {
-       if (n) {
-         /* Second stage -cot */
-         DIV2(one.d,zero.d,c1,cc1,c2,cc2,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10)
--        if ((y=c2+(cc2-u8.d*c2)) == c2+(cc2+u8.d*c2))  return (-y); }
-+      if ((y=c2+(cc2-u8.d*c2)) == c2+(cc2+u8.d*c2)) { retval = (-y); goto ret; } }
-       else {
-         /* Second stage tan */
--        if ((y=c1+(cc1-u7.d*c1)) == c1+(cc1+u7.d*c1))  return y; }
--      return tanMp(x);
-+      if ((y=c1+(cc1-u7.d*c1)) == c1+(cc1+u7.d*c1)) { retval = y; goto ret; } }
-+      retval = tanMp(x);
-+      goto ret;
-     }
-     /* (VII) The case 0.787 < abs(x) <= 25,    0.0608 < abs(y) <= 0.787 */
-@@ -221,17 +232,17 @@ double tan(double x) {
-     if (n) {
-       /* -cot */
-       t2 = pz*(fi+gi)/(fi+pz);
--      if ((y=gi-(t2-gi*u10.d))==gi-(t2+gi*u10.d))  return (-sy*y);
-+      if ((y=gi-(t2-gi*u10.d))==gi-(t2+gi*u10.d)) { retval = (-sy*y); goto ret; }
-       t3 = (t2<ZERO) ? -t2 : t2;
-       t4 = gi*ua10.d+t3*ub10.d;
--      if ((y=gi-(t2-t4))==gi-(t2+t4))  return (-sy*y); }
-+      if ((y=gi-(t2-t4))==gi-(t2+t4)) { retval = (-sy*y); goto ret; } }
-     else   {
-       /* tan */
-       t2 = pz*(gi+fi)/(gi-pz);
--      if ((y=fi+(t2-fi*u9.d))==fi+(t2+fi*u9.d))  return (sy*y);
-+      if ((y=fi+(t2-fi*u9.d))==fi+(t2+fi*u9.d)) { retval = (sy*y); goto ret; }
-       t3 = (t2<ZERO) ? -t2 : t2;
-       t4 = fi*ua9.d+t3*ub9.d;
--      if ((y=fi+(t2-t4))==fi+(t2+t4))  return (sy*y); }
-+      if ((y=fi+(t2-t4))==fi+(t2+t4)) { retval = (sy*y); goto ret; } }
-     /* Second stage */
-     ffi = xfg[i][3].d;
-@@ -252,13 +263,14 @@ double tan(double x) {
-     if (n) {
-       /* -cot */
-       DIV2(c1,cc1,c2,cc2,c3,cc3,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10)
--      if ((y=c3+(cc3-u12.d*c3))==c3+(cc3+u12.d*c3))  return (-sy*y); }
-+      if ((y=c3+(cc3-u12.d*c3))==c3+(cc3+u12.d*c3)) { retval = (-sy*y); goto ret; } }
-     else {
-       /* tan */
-       DIV2(c2,cc2,c1,cc1,c3,cc3,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10)
--      if ((y=c3+(cc3-u11.d*c3))==c3+(cc3+u11.d*c3))  return (sy*y); }
-+      if ((y=c3+(cc3-u11.d*c3))==c3+(cc3+u11.d*c3)) { retval = (sy*y); goto ret; } }
--    return tanMp(x);
-+    retval = tanMp(x);
-+    goto ret;
-   }
-   /* (---) The case 25 < abs(x) <= 1e8 */
-@@ -280,7 +292,7 @@ double tan(double x) {
-     else         {ya= a;  yya= da;  sy= ONE;}
-     /* (+++) The case 25 < abs(x) <= 1e8,    abs(y) <= 1e-7 */
--    if (ya<=gy1.d)  return tanMp(x);
-+    if (ya<=gy1.d) { retval = tanMp(x); goto ret; }
-     /* (VIII) The case 25 < abs(x) <= 1e8,    1e-7 < abs(y) <= 0.0608 */
-     if (ya<=gy2.d) {
-@@ -290,10 +302,10 @@ double tan(double x) {
-         /* First stage -cot */
-         EADD(a,t2,b,db)
-         DIV2(one.d,zero.d,b,db,c,dc,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10)
--        if ((y=c+(dc-u14.d*c))==c+(dc+u14.d*c))  return (-y); }
-+      if ((y=c+(dc-u14.d*c))==c+(dc+u14.d*c)) { retval = (-y); goto ret; } }
-       else {
-         /* First stage tan */
--        if ((y=a+(t2-u13.d*a))==a+(t2+u13.d*a))  return y; }
-+      if ((y=a+(t2-u13.d*a))==a+(t2+u13.d*a)) { retval = y; goto ret; } }
-       /* Second stage */
-       MUL2(a,da,a,da,x2,xx2,t1,t2,t3,t4,t5,t6,t7,t8)
-@@ -317,11 +329,12 @@ double tan(double x) {
-       if (n) {
-         /* Second stage -cot */
-         DIV2(one.d,zero.d,c1,cc1,c2,cc2,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10)
--        if ((y=c2+(cc2-u16.d*c2)) == c2+(cc2+u16.d*c2))  return (-y); }
-+      if ((y=c2+(cc2-u16.d*c2)) == c2+(cc2+u16.d*c2)) { retval = (-y); goto ret; } }
-       else {
-         /* Second stage tan */
--        if ((y=c1+(cc1-u15.d*c1)) == c1+(cc1+u15.d*c1))  return (y); }
--      return tanMp(x);
-+      if ((y=c1+(cc1-u15.d*c1)) == c1+(cc1+u15.d*c1)) { retval = (y); goto ret; } }
-+      retval = tanMp(x);
-+      goto ret;
-     }
-     /* (IX) The case 25 < abs(x) <= 1e8,    0.0608 < abs(y) <= 0.787 */
-@@ -334,17 +347,17 @@ double tan(double x) {
-     if (n) {
-       /* -cot */
-       t2 = pz*(fi+gi)/(fi+pz);
--      if ((y=gi-(t2-gi*u18.d))==gi-(t2+gi*u18.d))  return (-sy*y);
-+      if ((y=gi-(t2-gi*u18.d))==gi-(t2+gi*u18.d)) { retval = (-sy*y); goto ret; }
-       t3 = (t2<ZERO) ? -t2 : t2;
-       t4 = gi*ua18.d+t3*ub18.d;
--      if ((y=gi-(t2-t4))==gi-(t2+t4))  return (-sy*y); }
-+      if ((y=gi-(t2-t4))==gi-(t2+t4)) { retval = (-sy*y); goto ret; } }
-     else   {
-       /* tan */
-       t2 = pz*(gi+fi)/(gi-pz);
--      if ((y=fi+(t2-fi*u17.d))==fi+(t2+fi*u17.d))  return (sy*y);
-+      if ((y=fi+(t2-fi*u17.d))==fi+(t2+fi*u17.d)) { retval = (sy*y); goto ret; }
-       t3 = (t2<ZERO) ? -t2 : t2;
-       t4 = fi*ua17.d+t3*ub17.d;
--      if ((y=fi+(t2-t4))==fi+(t2+t4))  return (sy*y); }
-+      if ((y=fi+(t2-t4))==fi+(t2+t4)) { retval = (sy*y); goto ret; } }
-     /* Second stage */
-     ffi = xfg[i][3].d;
-@@ -365,12 +378,13 @@ double tan(double x) {
-     if (n) {
-       /* -cot */
-       DIV2(c1,cc1,c2,cc2,c3,cc3,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10)
--      if ((y=c3+(cc3-u20.d*c3))==c3+(cc3+u20.d*c3))  return (-sy*y); }
-+      if ((y=c3+(cc3-u20.d*c3))==c3+(cc3+u20.d*c3)) { retval = (-sy*y); goto ret; } }
-     else {
-       /* tan */
-       DIV2(c2,cc2,c1,cc1,c3,cc3,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10)
--      if ((y=c3+(cc3-u19.d*c3))==c3+(cc3+u19.d*c3))  return (sy*y); }
--    return tanMp(x);
-+      if ((y=c3+(cc3-u19.d*c3))==c3+(cc3+u19.d*c3)) { retval = (sy*y); goto ret; } }
-+    retval = tanMp(x);
-+    goto ret;
-   }
-   /* (---) The case 1e8 < abs(x) < 2**1024 */
-@@ -381,7 +395,7 @@ double tan(double x) {
-   else         {ya= a;  yya= da;  sy= ONE;}
-   /* (+++) The case 1e8 < abs(x) < 2**1024,    abs(y) <= 1e-7 */
--  if (ya<=gy1.d)  return tanMp(x);
-+  if (ya<=gy1.d) { retval = tanMp(x); goto ret; }
-   /* (X) The case 1e8 < abs(x) < 2**1024,    1e-7 < abs(y) <= 0.0608 */
-   if (ya<=gy2.d) {
-@@ -391,10 +405,10 @@ double tan(double x) {
-       /* First stage -cot */
-       EADD(a,t2,b,db)
-       DIV2(one.d,zero.d,b,db,c,dc,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10)
--      if ((y=c+(dc-u22.d*c))==c+(dc+u22.d*c))  return (-y); }
-+      if ((y=c+(dc-u22.d*c))==c+(dc+u22.d*c)) { retval = (-y); goto ret; } }
-     else {
-       /* First stage tan */
--      if ((y=a+(t2-u21.d*a))==a+(t2+u21.d*a))  return y; }
-+      if ((y=a+(t2-u21.d*a))==a+(t2+u21.d*a)) { retval = y; goto ret; } }
-     /* Second stage */
-     /* Reduction by algorithm iv */
-@@ -423,11 +437,12 @@ double tan(double x) {
-     if (n) {
-       /* Second stage -cot */
-       DIV2(one.d,zero.d,c1,cc1,c2,cc2,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10)
--      if ((y=c2+(cc2-u24.d*c2)) == c2+(cc2+u24.d*c2))  return (-y); }
-+      if ((y=c2+(cc2-u24.d*c2)) == c2+(cc2+u24.d*c2)) { retval = (-y); goto ret; } }
-     else {
-       /* Second stage tan */
--      if ((y=c1+(cc1-u23.d*c1)) == c1+(cc1+u23.d*c1))  return y; }
--    return tanMp(x);
-+      if ((y=c1+(cc1-u23.d*c1)) == c1+(cc1+u23.d*c1)) { retval = y; goto ret; } }
-+    retval = tanMp(x);
-+    goto ret;
-   }
-   /* (XI) The case 1e8 < abs(x) < 2**1024,    0.0608 < abs(y) <= 0.787 */
-@@ -440,17 +455,17 @@ double tan(double x) {
-   if (n) {
-     /* -cot */
-     t2 = pz*(fi+gi)/(fi+pz);
--    if ((y=gi-(t2-gi*u26.d))==gi-(t2+gi*u26.d))  return (-sy*y);
-+    if ((y=gi-(t2-gi*u26.d))==gi-(t2+gi*u26.d)) { retval = (-sy*y); goto ret; }
-     t3 = (t2<ZERO) ? -t2 : t2;
-     t4 = gi*ua26.d+t3*ub26.d;
--    if ((y=gi-(t2-t4))==gi-(t2+t4))  return (-sy*y); }
-+    if ((y=gi-(t2-t4))==gi-(t2+t4)) { retval = (-sy*y); goto ret; } }
-   else   {
-     /* tan */
-     t2 = pz*(gi+fi)/(gi-pz);
--    if ((y=fi+(t2-fi*u25.d))==fi+(t2+fi*u25.d))  return (sy*y);
-+    if ((y=fi+(t2-fi*u25.d))==fi+(t2+fi*u25.d)) { retval = (sy*y); goto ret; }
-     t3 = (t2<ZERO) ? -t2 : t2;
-     t4 = fi*ua25.d+t3*ub25.d;
--    if ((y=fi+(t2-t4))==fi+(t2+t4))  return (sy*y); }
-+    if ((y=fi+(t2-t4))==fi+(t2+t4)) { retval = (sy*y); goto ret; } }
-   /* Second stage */
-   ffi = xfg[i][3].d;
-@@ -471,15 +486,19 @@ double tan(double x) {
-   if (n) {
-     /* -cot */
-     DIV2(c1,cc1,c2,cc2,c3,cc3,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10)
--    if ((y=c3+(cc3-u28.d*c3))==c3+(cc3+u28.d*c3))  return (-sy*y); }
-+    if ((y=c3+(cc3-u28.d*c3))==c3+(cc3+u28.d*c3)) { retval = (-sy*y); goto ret; } }
-   else {
-     /* tan */
-     DIV2(c2,cc2,c1,cc1,c3,cc3,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10)
--    if ((y=c3+(cc3-u27.d*c3))==c3+(cc3+u27.d*c3))  return (sy*y); }
--  return tanMp(x);
-+    if ((y=c3+(cc3-u27.d*c3))==c3+(cc3+u27.d*c3)) { retval = (sy*y); goto ret; } }
-+  retval = tanMp(x);
-+  goto ret;
-+
-+ ret:
-+  libc_feupdateenv (&env);
-+  return retval;
- }
--
- /* multiple precision stage                                              */
- /* Convert x to multi precision number,compute tan(x) by mptan() routine */
- /* and converts result back to double                                    */
-diff -Nrup a/sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c
---- a/sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c 2010-05-04 05:27:23.000000000 -0600
-+++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c 2012-08-06 09:54:00.828929666 -0600
-@@ -24,22 +24,14 @@
- #include "math.h"
- #include "math_private.h"
--#ifdef __STDC__
- static const double
--#else
--static double
--#endif
- TWO52[2]={
-   4.50359962737049600000e+15, /* 0x43300000, 0x00000000 */
-  -4.50359962737049600000e+15, /* 0xC3300000, 0x00000000 */
- };
--#ifdef __STDC__
--      double __nearbyint(double x)
--#else
--      double __nearbyint(x)
--      double x;
--#endif
-+double
-+__nearbyint(double x)
- {
-       fenv_t env;
-       int64_t i0,sx;
-@@ -47,20 +39,19 @@ TWO52[2]={
-       EXTRACT_WORDS64(i0,x);
-       sx = (i0>>63)&1;
-       j0 = ((i0>>52)&0x7ff)-0x3ff;
--      if(j0<52) {
-+      if(__builtin_expect(j0<52, 1)) {
-           if(j0<0) {
-             if((i0&UINT64_C(0x7fffffffffffffff))==0) return x;
-               uint64_t i = i0 & UINT64_C(0xfffffffffffff);
-               i0 &= UINT64_C(0xfffe000000000000);
-               i0 |= (((i|-i) >> 12) & UINT64_C(0x8000000000000));
-               INSERT_WORDS64(x,i0);
--              feholdexcept (&env);
-+              libc_feholdexcept (&env);
-               double w = TWO52[sx]+x;
-               double t =  w-TWO52[sx];
--              fesetenv (&env);
--              EXTRACT_WORDS64(i0,t);
--              INSERT_WORDS64(t,(i0&UINT64_C(0x7fffffffffffffff))|(sx<<63));
--              return t;
-+              math_opt_barrier(t);
-+              libc_fesetenv (&env);
-+              return copysign(t, x);
-           } else {
-               uint64_t i = UINT64_C(0x000fffffffffffff)>>j0;
-               if((i0&i)==0) return x; /* x is integral */
-@@ -73,10 +64,11 @@ TWO52[2]={
-           else return x;              /* x is integral */
-       }
-       INSERT_WORDS64(x,i0);
--      feholdexcept (&env);
-+      libc_feholdexcept (&env);
-       double w = TWO52[sx]+x;
-       double t = w-TWO52[sx];
--      fesetenv (&env);
-+      math_opt_barrier (t);
-+      libc_fesetenv (&env);
-       return t;
- }
- weak_alias (__nearbyint, nearbyint)
-diff -Nrup a/sysdeps/ieee754/flt-32/e_exp2f.c b/sysdeps/ieee754/flt-32/e_exp2f.c
---- a/sysdeps/ieee754/flt-32/e_exp2f.c 2010-05-04 05:27:23.000000000 -0600
-+++ b/sysdeps/ieee754/flt-32/e_exp2f.c 2012-08-06 09:54:00.829929661 -0600
-@@ -56,11 +56,7 @@ __ieee754_exp2f (float x)
-       union ieee754_float ex2_u, scale_u;
-       fenv_t oldenv;
--      feholdexcept (&oldenv);
--#ifdef FE_TONEAREST
--      /* If we don't have this, it's too bad.  */
--      fesetround (FE_TONEAREST);
--#endif
-+      libc_feholdexcept_setroundf (&oldenv, FE_TONEAREST);
-       /* 1. Argument reduction.
-        Choose integers ex, -128 <= t < 128, and some real
-@@ -103,7 +99,7 @@ __ieee754_exp2f (float x)
-       x22 = (.24022656679f * x + .69314736128f) * ex2_u.f;
-       /* 5. Return (2^x2-1) * 2^(t/512+e+ex) + 2^(t/512+e+ex).  */
--      fesetenv (&oldenv);
-+      libc_fesetenv (&oldenv);
-       result = x22 * x + ex2_u.f;
-diff -Nrup a/sysdeps/ieee754/flt-32/e_expf.c b/sysdeps/ieee754/flt-32/e_expf.c
---- a/sysdeps/ieee754/flt-32/e_expf.c  2010-05-04 05:27:23.000000000 -0600
-+++ b/sysdeps/ieee754/flt-32/e_expf.c  2012-08-06 09:54:00.829929661 -0600
-@@ -47,9 +47,6 @@
-    to perform an 'accurate table method' expf, because of the range reduction
-    overhead (compare exp2f).
-    */
--#ifndef _GNU_SOURCE
--#define _GNU_SOURCE
--#endif
- #include <float.h>
- #include <ieee754.h>
- #include <math.h>
-@@ -60,8 +57,8 @@
- extern const float __exp_deltatable[178];
- extern const double __exp_atable[355] /* __attribute__((mode(DF))) */;
--static const volatile float TWOM100 = 7.88860905e-31;
--static const volatile float TWO127 = 1.7014118346e+38;
-+static const float TWOM100 = 7.88860905e-31;
-+static const float TWO127 = 1.7014118346e+38;
- float
- __ieee754_expf (float x)
-@@ -86,10 +83,7 @@ __ieee754_expf (float x)
-       union ieee754_double ex2_u;
-       fenv_t oldenv;
--      feholdexcept (&oldenv);
--#ifdef FE_TONEAREST
--      fesetround (FE_TONEAREST);
--#endif
-+      libc_feholdexcept_setroundf (&oldenv, FE_TONEAREST);
-       /* Calculate n.  */
-       n = x * M_1_LN2 + THREEp22;
-@@ -119,7 +113,7 @@ __ieee754_expf (float x)
-       x22 = (0.5000000496709180453 * dx + 1.0000001192102037084) * dx + delta;
-       /* Return result.  */
--      fesetenv (&oldenv);
-+      libc_fesetenvf (&oldenv);
-       result = x22 * ex2_u.d + ex2_u.d;
-       return (float) result;
-diff -Nrup a/sysdeps/ieee754/flt-32/s_nearbyintf.c b/sysdeps/ieee754/flt-32/s_nearbyintf.c
---- a/sysdeps/ieee754/flt-32/s_nearbyintf.c    2010-05-04 05:27:23.000000000 -0600
-+++ b/sysdeps/ieee754/flt-32/s_nearbyintf.c    2012-08-06 09:54:00.891929402 -0600
-@@ -19,22 +19,14 @@
- #include "math.h"
- #include "math_private.h"
--#ifdef __STDC__
- static const float
--#else
--static float
--#endif
- TWO23[2]={
-   8.3886080000e+06, /* 0x4b000000 */
-  -8.3886080000e+06, /* 0xcb000000 */
- };
--#ifdef __STDC__
--      float __nearbyintf(float x)
--#else
--      float __nearbyintf(x)
--      float x;
--#endif
-+float
-+__nearbyintf(float x)
- {
-       fenv_t env;
-       int32_t i0,j0,sx;
-@@ -50,13 +42,13 @@ TWO23[2]={
-               i0 &= 0xfff00000;
-               i0 |= ((i1|-i1)>>9)&0x400000;
-               SET_FLOAT_WORD(x,i0);
--              feholdexcept (&env);
--              w = TWO23[sx]+x;
--              t =  w-TWO23[sx];
--              fesetenv (&env);
-+              libc_feholdexceptf (&env);
-+              w = TWO23[sx]+x;
-+              t =  w-TWO23[sx];
-+              libc_fesetenvf (&env);
-               GET_FLOAT_WORD(i0,t);
-               SET_FLOAT_WORD(t,(i0&0x7fffffff)|(sx<<31));
--              return t;
-+              return t;
-           } else {
-               i = (0x007fffff)>>j0;
-               if((i0&i)==0) return x; /* x is integral */
-@@ -64,14 +56,14 @@ TWO23[2]={
-               if((i0&i)!=0) i0 = (i0&(~i))|((0x100000)>>j0);
-           }
-       } else {
--          if(j0==0x80) return x+x;    /* inf or NaN */
-+          if(__builtin_expect(j0==0x80, 0)) return x+x;       /* inf or NaN */
-           else return x;              /* x is integral */
-       }
-       SET_FLOAT_WORD(x,i0);
--      feholdexcept (&env);
-+      libc_feholdexceptf (&env);
-       w = TWO23[sx]+x;
-       t = w-TWO23[sx];
--      fesetenv (&env);
-+      libc_fesetenvf (&env);
-       return t;
- }
- weak_alias (__nearbyintf, nearbyintf)
-diff -Nrup a/sysdeps/powerpc/fpu/libm-test-ulps b/sysdeps/powerpc/fpu/libm-test-ulps
---- a/sysdeps/powerpc/fpu/libm-test-ulps       2010-05-04 05:27:23.000000000 -0600
-+++ b/sysdeps/powerpc/fpu/libm-test-ulps       2012-08-06 10:03:24.424569052 -0600
-@@ -37,16 +37,9 @@ ildouble: 1
- ldouble: 1
- # cacosh
--Test "Real part of: cacosh (-2 - 3 i) == 1.9833870299165354323470769028940395 - 2.1414491111159960199416055713254211 i":
--double: 1
--float: 7
--idouble: 1
--ifloat: 7
- Test "Imaginary part of: cacosh (-2 - 3 i) == 1.9833870299165354323470769028940395 - 2.1414491111159960199416055713254211 i":
--double: 1
--float: 3
--idouble: 1
--ifloat: 3
-+float: 1
-+ifloat: 1
- # casin
- Test "Real part of: casin (-2 - 3 i) == -0.57065278432109940071028387968566963 - 1.9833870299165354323470769028940395 i":
-@@ -84,8 +77,6 @@ ifloat: 1
- # catan
- Test "Real part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i":
--float: 3
--ifloat: 3
- ildouble: 1
- ldouble: 1
- Test "Imaginary part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i":
-@@ -93,23 +84,14 @@ double: 1
- float: 1
- idouble: 1
- ifloat: 1
--Test "Real part of: catan (0.75 + 1.25 i) == 1.10714871779409050301706546017853704 + 0.549306144334054845697622618461262852 i":
--float: 4
--ifloat: 4
- # catanh
- Test "Real part of: catanh (-2 - 3 i) == -0.14694666622552975204743278515471595 - 1.3389725222944935611241935759091443 i":
- double: 4
- idouble: 4
--Test "Imaginary part of: catanh (-2 - 3 i) == -0.14694666622552975204743278515471595 - 1.3389725222944935611241935759091443 i":
--float: 4
--ifloat: 4
- Test "Real part of: catanh (0.75 + 1.25 i) == 0.261492138795671927078652057366532140 + 0.996825126463918666098902241310446708 i":
- double: 1
- idouble: 1
--Test "Imaginary part of: catanh (0.75 + 1.25 i) == 0.261492138795671927078652057366532140 + 0.996825126463918666098902241310446708 i":
--float: 6
--ifloat: 6
- # cbrt
- Test "cbrt (-27.0) == -3.0":
-@@ -167,8 +149,6 @@ ldouble: 1
- # clog
- Test "Imaginary part of: clog (-2 - 3 i) == 1.2824746787307683680267437207826593 - 2.1587989303424641704769327722648368 i":
--float: 3
--ifloat: 3
- ildouble: 1
- ldouble: 1
- Test "Real part of: clog (0.75 + 1.25 i) == 0.376885901188190075998919126749298416 + 1.03037682652431246378774332703115153 i":
-@@ -197,9 +177,7 @@ ildouble: 1
- ldouble: 1
- Test "Imaginary part of: clog10 (-2 - 3 i) == 0.556971676153418384603252578971164214 - 0.937554462986374708541507952140189646 i":
- double: 1
--float: 5
- idouble: 1
--ifloat: 5
- ildouble: 1
- ldouble: 1
- Test "Imaginary part of: clog10 (-3 + inf i) == inf + pi/2*log10(e) i":
-@@ -298,23 +276,165 @@ ldouble: 1
- # cos
- Test "cos (M_PI_6l * 2.0) == 0.5":
- double: 1
--float: 1
- idouble: 1
--ifloat: 1
- Test "cos (M_PI_6l * 4.0) == -0.5":
- double: 2
- float: 1
- idouble: 2
- ifloat: 1
--Test "cos (pi/2) == 0":
--double: 1
-+
-+# cos_downward
-+Test "cos_downward (1) == 0.5403023058681397174009366074429766037323":
-+float: 1
-+ifloat: 1
-+ildouble: 4
-+ldouble: 4
-+Test "cos_downward (10) == -0.8390715290764524522588639478240648345199":
-+ildouble: 1
-+ldouble: 1
-+Test "cos_downward (2) == -0.4161468365471423869975682295007621897660":
-+float: 1
-+ifloat: 1
-+Test "cos_downward (3) == -0.9899924966004454572715727947312613023937":
-+float: 1
-+ifloat: 1
-+Test "cos_downward (4) == -0.6536436208636119146391681830977503814241":
-+float: 1
-+ifloat: 1
-+Test "cos_downward (5) == 0.2836621854632262644666391715135573083344":
-+float: 1
-+ifloat: 1
-+Test "cos_downward (6) == 0.9601702866503660205456522979229244054519":
-+ildouble: 1
-+ldouble: 1
-+Test "cos_downward (7) == 0.7539022543433046381411975217191820122183":
-+float: 1
-+ifloat: 1
-+Test "cos_downward (8) == -0.1455000338086135258688413818311946826093":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+Test "cos_downward (9) == -0.9111302618846769883682947111811653112463":
-+ildouble: 1
-+ldouble: 1
-+
-+# cos_tonearest
-+Test "cos_tonearest (7) == 0.7539022543433046381411975217191820122183":
-+float: 1
-+ifloat: 1
-+
-+# cos_towardzero
-+Test "cos_towardzero (1) == 0.5403023058681397174009366074429766037323":
-+ildouble: 2
-+ldouble: 2
-+Test "cos_towardzero (10) == -0.8390715290764524522588639478240648345199":
-+ildouble: 1
-+ldouble: 1
-+Test "cos_towardzero (2) == -0.4161468365471423869975682295007621897660":
-+float: 1
-+ifloat: 1
-+Test "cos_towardzero (3) == -0.9899924966004454572715727947312613023937":
-+float: 1
-+ifloat: 1
-+Test "cos_towardzero (4) == -0.6536436208636119146391681830977503814241":
-+ildouble: 1
-+ldouble: 1
-+Test "cos_towardzero (5) == 0.2836621854632262644666391715135573083344":
-+float: 1
-+ifloat: 1
-+Test "cos_towardzero (7) == 0.7539022543433046381411975217191820122183":
-+float: 1
-+ifloat: 1
-+Test "cos_towardzero (8) == -0.1455000338086135258688413818311946826093":
- float: 1
--idouble: 1
- ifloat: 1
--Test "cos (16.0) == -0.9576594803233846418996372326511034717803"
- ildouble: 2
- ldouble: 2
-+# cos_upward
-+Test "cos_upward (1) == 0.5403023058681397174009366074429766037323":
-+ildouble: 2
-+ldouble: 2
-+Test "cos_upward (10) == -0.8390715290764524522588639478240648345199":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_upward (4) == -0.6536436208636119146391681830977503814241":
-+ildouble: 1
-+ldouble: 1
-+Test "cos_upward (5) == 0.2836621854632262644666391715135573083344":
-+ildouble: 1
-+ldouble: 1
-+Test "cos_upward (6) == 0.9601702866503660205456522979229244054519":
-+float: 1
-+ifloat: 1
-+Test "cos_upward (7) == 0.7539022543433046381411975217191820122183":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_upward (9) == -0.9111302618846769883682947111811653112463":
-+float: 2
-+ifloat: 2
-+
-+# cosh_downward
-+Test "cosh_downward (22) == 1792456423.065795780980053377632656584997":
-+float: 1
-+ifloat: 1
-+ildouble: 5269156250720
-+ldouble: 5269156250720
-+Test "cosh_downward (23) == 4872401723.124451300068625740569997090344":
-+float: 1
-+ifloat: 1
-+ildouble: 484603564240
-+ldouble: 484603564240
-+Test "cosh_downward (24) == 13244561064.92173614708845674912733665919":
-+float: 1
-+ifloat: 1
-+ildouble: 89137844202
-+ldouble: 89137844202
-+
-+# cosh_tonearest
-+Test "cosh_tonearest (22) == 1792456423.065795780980053377632656584997":
-+ildouble: 5269156250719
-+ldouble: 5269156250719
-+Test "cosh_tonearest (23) == 4872401723.124451300068625740569997090344":
-+ildouble: 484603564240
-+ldouble: 484603564240
-+Test "cosh_tonearest (24) == 13244561064.92173614708845674912733665919":
-+ildouble: 89137844202
-+ldouble: 89137844202
-+
-+# cosh_towardzero
-+Test "cosh_towardzero (22) == 1792456423.065795780980053377632656584997":
-+float: 1
-+ifloat: 1
-+ildouble: 5269156250720
-+ldouble: 5269156250720
-+Test "cosh_towardzero (23) == 4872401723.124451300068625740569997090344":
-+float: 1
-+ifloat: 1
-+ildouble: 484603564240
-+ldouble: 484603564240
-+Test "cosh_towardzero (24) == 13244561064.92173614708845674912733665919":
-+float: 1
-+ifloat: 1
-+ildouble: 89137844202
-+ldouble: 89137844202
-+
-+# cosh_upward
-+Test "cosh_upward (22) == 1792456423.065795780980053377632656584997":
-+ildouble: 5269156250719
-+ldouble: 5269156250719
-+Test "cosh_upward (23) == 4872401723.124451300068625740569997090344":
-+ildouble: 484603564240
-+ldouble: 484603564240
-+Test "cosh_upward (24) == 13244561064.92173614708845674912733665919":
-+ildouble: 89137844200
-+ldouble: 89137844200
-+
- # cpow
- Test "Real part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i) == 0.331825439177608832276067945276730566 + 0.131338600281188544930936345230903032 i":
- float: 1
-@@ -386,12 +506,6 @@ float: 1
- ifloat: 1
- # ctan
--Test "Real part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i":
--double: 1
--idouble: 1
--Test "Imaginary part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i":
--ildouble: 1
--ldouble: 1
- Test "Imaginary part of: ctan (0.75 + 1.25 i) == 0.160807785916206426725166058173438663 + 0.975363285031235646193581759755216379 i":
- double: 1
- idouble: 1
-@@ -463,6 +577,33 @@ Test "exp2 (10) == 1024":
- ildouble: 2
- ldouble: 2
-+# exp_downward
-+Test "exp_downward (2) == e^2":
-+float: 1
-+ifloat: 1
-+Test "exp_downward (3) == e^3":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+# exp_towardzero
-+Test "exp_towardzero (2) == e^2":
-+float: 1
-+ifloat: 1
-+Test "exp_towardzero (3) == e^3":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+# exp_upward
-+Test "exp_upward (1) == e":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
- # expm1
- Test "expm1 (0.75) == 1.11700001661267466854536981983709561":
- double: 1
-@@ -505,40 +646,27 @@ ifloat: 1
- # j0
- Test "j0 (-4.0) == -3.9714980986384737228659076845169804197562E-1":
- double: 1
--float: 2
-+float: 1
- idouble: 1
--ifloat: 2
--ildouble: 1
--ldouble: 1
-+ifloat: 1
- Test "j0 (10.0) == -0.245935764451348335197760862485328754":
--double: 3
-+double: 2
- float: 1
--idouble: 3
-+idouble: 2
- ifloat: 1
--ildouble: 1
--ldouble: 1
--Test "j0 (2.0) == 0.223890779141235668051827454649948626":
--float: 2
--ifloat: 2
- Test "j0 (4.0) == -3.9714980986384737228659076845169804197562E-1":
- double: 1
--float: 2
-+float: 1
- idouble: 1
--ifloat: 2
--ildouble: 1
--ldouble: 1
-+ifloat: 1
- Test "j0 (8.0) == 0.171650807137553906090869407851972001":
- float: 1
- ifloat: 1
--ildouble: 1
--ldouble: 1
- # j1
- Test "j1 (10.0) == 0.0434727461688614366697487680258592883":
- float: 2
- ifloat: 2
--ildouble: 1
--ldouble: 1
- Test "j1 (2.0) == 0.576724807756873387202448242269137087":
- double: 1
- idouble: 1
-@@ -551,38 +679,25 @@ ldouble: 1
- # jn
- Test "jn (0, -4.0) == -3.9714980986384737228659076845169804197562E-1":
- double: 1
--float: 2
-+float: 1
- idouble: 1
--ifloat: 2
--ildouble: 1
--ldouble: 1
-+ifloat: 1
- Test "jn (0, 10.0) == -0.245935764451348335197760862485328754":
--double: 3
-+double: 2
- float: 1
--idouble: 3
-+idouble: 2
- ifloat: 1
--ildouble: 1
--ldouble: 1
--Test "jn (0, 2.0) == 0.223890779141235668051827454649948626":
--float: 2
--ifloat: 2
- Test "jn (0, 4.0) == -3.9714980986384737228659076845169804197562E-1":
- double: 1
--float: 2
-+float: 1
- idouble: 1
--ifloat: 2
--ildouble: 1
--ldouble: 1
-+ifloat: 1
- Test "jn (0, 8.0) == 0.171650807137553906090869407851972001":
- float: 1
- ifloat: 1
--ildouble: 1
--ldouble: 1
- Test "jn (1, 10.0) == 0.0434727461688614366697487680258592883":
- float: 2
- ifloat: 2
--ildouble: 1
--ldouble: 1
- Test "jn (1, 2.0) == 0.576724807756873387202448242269137087":
- double: 1
- idouble: 1
-@@ -615,11 +730,8 @@ ifloat: 1
- ildouble: 4
- ldouble: 4
- Test "jn (10, 2.0) == 0.251538628271673670963516093751820639e-6":
--float: 4
--ifloat: 4
--Test "jn (3, -1.0) == -0.0195633539826684059189053216217515083":
--ildouble: 1
--ldouble: 1
-+float: 3
-+ifloat: 3
- Test "jn (3, 0.125) == 0.406503832554912875023029337653442868e-4":
- double: 1
- float: 1
-@@ -628,21 +740,18 @@ ifloat: 1
- Test "jn (3, 0.75) == 0.848438342327410884392755236884386804e-2":
- double: 1
- idouble: 1
--Test "jn (3, 1.0) == 0.0195633539826684059189053216217515083":
--ildouble: 1
--ldouble: 1
- Test "jn (3, 10.0) == 0.0583793793051868123429354784103409563":
- double: 3
--float: 2
-+float: 1
- idouble: 3
--ifloat: 2
-+ifloat: 1
- ildouble: 2
- ldouble: 2
- Test "jn (3, 2.0) == 0.128943249474402051098793332969239835":
- double: 1
--float: 2
-+float: 1
- idouble: 1
--ifloat: 2
-+ifloat: 1
- ildouble: 2
- ldouble: 2
-@@ -675,115 +784,350 @@ Test "log1p (-0.25) == -0.28768207245178
- float: 1
- ifloat: 1
--# log2
--Test "log2 (e) == M_LOG2El":
-+# pow_downward
-+Test "pow_downward (1.0625, 1.125) == 1.070582293028761362162622578677070098674":
- ildouble: 1
- ldouble: 1
--
--# sin
--Test "sin (16.0) == -0.2879033166650652947844562482186175296207"
--ildouble: 2
--ldouble: 2
--
--# sincos
--Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
--double: 1
--float: 1
--idouble: 1
--ifloat: 1
--Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
--double: 1
-+Test "pow_downward (1.5, 1.03125) == 1.519127098714743184071644334163037684948":
- float: 1
--idouble: 1
- ifloat: 1
--Test "sincos (pi/2, &sin_res, &cos_res) puts 0 in cos_res":
--double: 1
-+
-+# pow_towardzero
-+Test "pow_towardzero (1.0625, 1.125) == 1.070582293028761362162622578677070098674":
-+ildouble: 1
-+ldouble: 1
-+Test "pow_towardzero (1.5, 1.03125) == 1.519127098714743184071644334163037684948":
- float: 1
--idouble: 1
- ifloat: 1
--Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
-+
-+# pow_upward
-+Test "pow_upward (1.0625, 1.125) == 1.070582293028761362162622578677070098674":
- float: 1
- ifloat: 1
--
--# sinh
--Test "sinh (0.75) == 0.822316731935829980703661634446913849":
-+Test "pow_upward (1.5, 1.03125) == 1.519127098714743184071644334163037684948":
- ildouble: 1
- ldouble: 1
--# tan
--Test "tan (pi/4) == 1":
--double: 1
--idouble: 1
-+# sin_downward
-+Test "sin_downward (1) == 0.8414709848078965066525023216302989996226":
-+ildouble: 4
-+ldouble: 4
-+Test "sin_downward (10) == -0.5440211108893698134047476618513772816836":
-+float: 1
-+ifloat: 1
-+Test "sin_downward (2) == 0.9092974268256816953960198659117448427023":
- ildouble: 1
- ldouble: 1
--
--# tanh
--Test "tanh (-0.75) == -0.635148952387287319214434357312496495":
-+Test "sin_downward (3) == 0.1411200080598672221007448028081102798469":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+Test "sin_downward (4) == -0.7568024953079282513726390945118290941359":
- ildouble: 1
- ldouble: 1
--Test "tanh (0.75) == 0.635148952387287319214434357312496495":
-+Test "sin_downward (5) == -0.9589242746631384688931544061559939733525":
-+float: 1
-+ifloat: 1
-+Test "sin_downward (6) == -0.2794154981989258728115554466118947596280":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+Test "sin_downward (8) == 0.9893582466233817778081235982452886721164":
- ildouble: 1
- ldouble: 1
--# tgamma
--Test "tgamma (-0.5) == -2 sqrt (pi)":
--double: 1
-+# sin_tonearest
-+Test "sin_tonearest (1) == 0.8414709848078965066525023216302989996226":
- float: 1
--idouble: 1
- ifloat: 1
--Test "tgamma (0.5) == sqrt (pi)":
-+
-+# sin_towardzero
-+Test "sin_towardzero (1) == 0.8414709848078965066525023216302989996226":
- float: 1
- ifloat: 1
--Test "tgamma (0.7) == 1.29805533264755778568117117915281162":
--double: 1
-+ildouble: 2
-+ldouble: 2
-+Test "sin_towardzero (10) == -0.5440211108893698134047476618513772816836":
- float: 1
--idouble: 1
- ifloat: 1
--
--# y0
--Test "y0 (0.125) == -1.38968062514384052915582277745018693":
-+Test "sin_towardzero (2) == 0.9092974268256816953960198659117448427023":
- ildouble: 1
- ldouble: 1
--Test "y0 (0.75) == -0.137172769385772397522814379396581855":
-+Test "sin_towardzero (3) == 0.1411200080598672221007448028081102798469":
- ildouble: 1
- ldouble: 1
--Test "y0 (1.0) == 0.0882569642156769579829267660235151628":
--double: 2
-+Test "sin_towardzero (4) == -0.7568024953079282513726390945118290941359":
-+float: 1
-+ifloat: 1
-+Test "sin_towardzero (5) == -0.9589242746631384688931544061559939733525":
- float: 1
--idouble: 2
- ifloat: 1
-+Test "sin_towardzero (8) == 0.9893582466233817778081235982452886721164":
- ildouble: 1
- ldouble: 1
--Test "y0 (1.5) == 0.382448923797758843955068554978089862":
--double: 2
-+Test "sin_towardzero (9) == 0.4121184852417565697562725663524351793439":
- float: 1
--idouble: 2
- ifloat: 1
--Test "y0 (10.0) == 0.0556711672835993914244598774101900481":
-+ildouble: 1
-+ldouble: 1
-+
-+# sin_upward
-+Test "sin_upward (1) == 0.8414709848078965066525023216302989996226":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+Test "sin_upward (2) == 0.9092974268256816953960198659117448427023":
-+float: 2
-+ifloat: 2
-+Test "sin_upward (3) == 0.1411200080598672221007448028081102798469":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_upward (4) == -0.7568024953079282513726390945118290941359":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "sin_upward (6) == -0.2794154981989258728115554466118947596280":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_upward (9) == 0.4121184852417565697562725663524351793439":
-+float: 1
-+ifloat: 1
-+
-+# sincos
-+Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
-+double: 1
-+idouble: 1
-+Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
- double: 1
- float: 1
- idouble: 1
- ifloat: 1
-+Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
-+float: 1
-+ifloat: 1
-+
-+# sinh
-+Test "sinh (0.75) == 0.822316731935829980703661634446913849":
- ildouble: 1
- ldouble: 1
--Test "y0 (2.0) == 0.510375672649745119596606592727157873":
-+
-+# sinh_downward
-+Test "sinh_downward (22) == 1792456423.065795780701106568345764104225":
-+float: 1
-+ifloat: 1
-+ildouble: 5269156250718
-+ldouble: 5269156250718
-+Test "sinh_downward (23) == 4872401723.124451299966006944252978187305":
-+float: 1
-+ifloat: 1
-+ildouble: 484603564240
-+ldouble: 484603564240
-+Test "sinh_downward (24) == 13244561064.92173614705070540368454568168":
-+float: 1
-+ifloat: 1
-+ildouble: 89137844201
-+ldouble: 89137844201
-+
-+# sinh_tonearest
-+Test "sinh_tonearest (22) == 1792456423.065795780701106568345764104225":
-+ildouble: 5269156250719
-+ldouble: 5269156250719
-+Test "sinh_tonearest (23) == 4872401723.124451299966006944252978187305":
-+ildouble: 484603564241
-+ldouble: 484603564241
-+Test "sinh_tonearest (24) == 13244561064.92173614705070540368454568168":
-+ildouble: 89137844201
-+ldouble: 89137844201
-+
-+# sinh_towardzero
-+Test "sinh_towardzero (22) == 1792456423.065795780701106568345764104225":
-+float: 1
-+ifloat: 1
-+ildouble: 5269156250718
-+ldouble: 5269156250718
-+Test "sinh_towardzero (23) == 4872401723.124451299966006944252978187305":
-+float: 1
-+ifloat: 1
-+ildouble: 484603564240
-+ldouble: 484603564240
-+Test "sinh_towardzero (24) == 13244561064.92173614705070540368454568168":
-+float: 1
-+ifloat: 1
-+ildouble: 89137844201
-+ldouble: 89137844201
-+
-+# sinh_upward
-+Test "sinh_upward (22) == 1792456423.065795780701106568345764104225":
-+ildouble: 5269156250719
-+ldouble: 5269156250719
-+Test "sinh_upward (23) == 4872401723.124451299966006944252978187305":
-+ildouble: 484603564241
-+ldouble: 484603564241
-+Test "sinh_upward (24) == 13244561064.92173614705070540368454568168":
-+ildouble: 89137844202
-+ldouble: 89137844202
-+
-+# tan
-+Test "tan (pi/4) == 1":
-+ildouble: 1
-+ldouble: 1
-+
-+# tan_downward
-+Test "tan_downward (1) == 1.5574077246549022305069748074583601730873":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+Test "tan_downward (10) == 0.6483608274590866712591249330098086768169":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+Test "tan_downward (2) == -2.1850398632615189916433061023136825434320":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "tan_downward (6) == -0.2910061913847491570536995888681755428312":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "tan_downward (8) == -6.7997114552203786999252627596086333648814":
-+float: 1
-+ifloat: 1
-+Test "tan_downward (9) == -0.4523156594418098405903708757987855343087":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+# tan_tonearest
-+Test "tan_tonearest (10) == 0.6483608274590866712591249330098086768169":
-+ildouble: 1
-+ldouble: 1
-+Test "tan_tonearest (4) == 1.1578212823495775831373424182673239231198":
-+ildouble: 1
-+ldouble: 1
-+Test "tan_tonearest (7) == 0.8714479827243187364564508896003135663222":
-+ildouble: 1
-+ldouble: 1
-+
-+# tan_towardzero
-+Test "tan_towardzero (10) == 0.6483608274590866712591249330098086768169":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+Test "tan_towardzero (3) == -0.1425465430742778052956354105339134932261":
-+float: 1
-+ifloat: 1
-+ildouble: 3
-+ldouble: 3
-+Test "tan_towardzero (4) == 1.1578212823495775831373424182673239231198":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "tan_towardzero (5) == -3.3805150062465856369827058794473439087096":
-+float: 1
-+ifloat: 1
-+Test "tan_towardzero (6) == -0.2910061913847491570536995888681755428312":
-+ildouble: 1
-+ldouble: 1
-+Test "tan_towardzero (7) == 0.8714479827243187364564508896003135663222":
-+ildouble: 2
-+ldouble: 2
-+Test "tan_towardzero (9) == -0.4523156594418098405903708757987855343087":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+# tan_upward
-+Test "tan_upward (10) == 0.6483608274590866712591249330098086768169":
-+ildouble: 1
-+ldouble: 1
-+Test "tan_upward (3) == -0.1425465430742778052956354105339134932261":
-+float: 1
-+ifloat: 1
-+ildouble: 3
-+ldouble: 3
-+Test "tan_upward (5) == -3.3805150062465856369827058794473439087096":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "tan_upward (6) == -0.2910061913847491570536995888681755428312":
-+ildouble: 1
-+ldouble: 1
-+Test "tan_upward (7) == 0.8714479827243187364564508896003135663222":
-+ildouble: 1
-+ldouble: 1
-+Test "tan_upward (9) == -0.4523156594418098405903708757987855343087":
-+ildouble: 1
-+ldouble: 1
-+
-+# tanh
-+Test "tanh (-0.75) == -0.635148952387287319214434357312496495":
-+ildouble: 1
-+ldouble: 1
-+Test "tanh (0.75) == 0.635148952387287319214434357312496495":
-+ildouble: 1
-+ldouble: 1
-+
-+# tgamma
-+Test "tgamma (-0.5) == -2 sqrt (pi)":
- double: 1
-+float: 1
- idouble: 1
--Test "y0 (8.0) == 0.223521489387566220527323400498620359":
-+ifloat: 1
-+Test "tgamma (0.5) == sqrt (pi)":
-+float: 1
-+ifloat: 1
-+Test "tgamma (0.7) == 1.29805533264755778568117117915281162":
- double: 1
- float: 1
- idouble: 1
- ifloat: 1
-+
-+# y0
-+Test "y0 (0.125) == -1.38968062514384052915582277745018693":
- ildouble: 1
- ldouble: 1
--
--# y1
--Test "y1 (0.125) == -5.19993611253477499595928744876579921":
-+Test "y0 (1.0) == 0.0882569642156769579829267660235151628":
-+double: 2
-+float: 1
-+idouble: 2
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "y0 (1.5) == 0.382448923797758843955068554978089862":
-+double: 2
-+float: 1
-+idouble: 2
-+ifloat: 1
-+Test "y0 (10.0) == 0.0556711672835993914244598774101900481":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+Test "y0 (2.0) == 0.510375672649745119596606592727157873":
- double: 1
- idouble: 1
--Test "y1 (1.5) == -0.412308626973911295952829820633445323":
-+Test "y0 (8.0) == 0.223521489387566220527323400498620359":
-+double: 1
- float: 1
-+idouble: 1
- ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+# y1
- Test "y1 (10.0) == 0.249015424206953883923283474663222803":
- double: 3
- float: 1
-@@ -794,30 +1138,27 @@ ldouble: 2
- Test "y1 (2.0) == -0.107032431540937546888370772277476637":
- double: 1
- float: 1
--idouble: 2
--ifloat: 2
-+idouble: 1
-+ifloat: 1
- Test "y1 (8.0) == -0.158060461731247494255555266187483550":
- double: 1
- float: 2
- idouble: 1
- ifloat: 2
--ildouble: 2
--ldouble: 2
-+ildouble: 1
-+ldouble: 1
- # yn
- Test "yn (0, 0.125) == -1.38968062514384052915582277745018693":
- ildouble: 1
- ldouble: 1
--Test "yn (0, 0.75) == -0.137172769385772397522814379396581855":
--ildouble: 1
--ldouble: 1
- Test "yn (0, 1.0) == 0.0882569642156769579829267660235151628":
- double: 2
- float: 1
- idouble: 2
- ifloat: 1
--ildouble: 2
--ldouble: 2
-+ildouble: 1
-+ldouble: 1
- Test "yn (0, 1.5) == 0.382448923797758843955068554978089862":
- double: 2
- float: 1
-@@ -828,8 +1169,6 @@ double: 1
- float: 1
- idouble: 1
- ifloat: 1
--ildouble: 2
--ldouble: 2
- Test "yn (0, 2.0) == 0.510375672649745119596606592727157873":
- double: 1
- idouble: 1
-@@ -838,14 +1177,8 @@ double: 1
- float: 1
- idouble: 1
- ifloat: 1
--ildouble: 2
--ldouble: 2
--Test "yn (1, 0.125) == -5.19993611253477499595928744876579921":
--double: 1
--idouble: 1
--Test "yn (1, 1.5) == -0.412308626973911295952829820633445323":
--float: 2
--ifloat: 2
-+ildouble: 1
-+ldouble: 1
- Test "yn (1, 10.0) == 0.249015424206953883923283474663222803":
- double: 3
- float: 1
-@@ -863,14 +1196,8 @@ double: 1
- float: 2
- idouble: 1
- ifloat: 2
--ildouble: 2
--ldouble: 2
--Test "yn (3, 0.125) == -2612.69757350066712600220955744091741":
--double: 1
--idouble: 1
--Test "yn (10, 0.125) == -127057845771019398.252538486899753195":
--double: 1
--idouble: 1
-+ildouble: 1
-+ldouble: 1
- Test "yn (10, 0.75) == -2133501638.90573424452445412893839236":
- double: 1
- float: 2
-@@ -881,21 +1208,14 @@ float: 2
- ifloat: 2
- Test "yn (10, 10.0) == -0.359814152183402722051986577343560609":
- double: 2
--float: 2
- idouble: 2
--ifloat: 2
--ildouble: 2
--ldouble: 2
- Test "yn (10, 2.0) == -129184.542208039282635913145923304214":
- double: 3
- float: 1
- idouble: 3
- ifloat: 1
--ildouble: 2
--ldouble: 2
--Test "yn (3, 0.125) == -2612.69757350066712600220955744091741":
--double: 1
--idouble: 1
-+ildouble: 1
-+ldouble: 1
- Test "yn (3, 0.75) == -12.9877176234475433186319774484809207":
- float: 1
- ifloat: 1
-@@ -904,8 +1224,8 @@ double: 1
- float: 1
- idouble: 1
- ifloat: 1
--ildouble: 2
--ldouble: 2
-+ildouble: 1
-+ldouble: 1
- Test "yn (3, 2.0) == -1.12778377684042778608158395773179238":
- double: 1
- idouble: 1
-@@ -950,18 +1270,12 @@ ildouble: 1
- ldouble: 1
- Function: Real part of "cacosh":
--double: 1
--float: 7
--idouble: 1
--ifloat: 7
- ildouble: 1
- ldouble: 1
- Function: Imaginary part of "cacosh":
--double: 1
--float: 3
--idouble: 1
--ifloat: 3
-+float: 1
-+ifloat: 1
- Function: Real part of "casin":
- double: 1
-@@ -992,8 +1306,6 @@ ildouble: 1
- ldouble: 1
- Function: Real part of "catan":
--float: 4
--ifloat: 4
- ildouble: 1
- ldouble: 1
-@@ -1009,10 +1321,6 @@ Function: Real part of "catanh":
- double: 4
- idouble: 4
--Function: Imaginary part of "catanh":
--float: 6
--ifloat: 6
--
- Function: "cbrt":
- double: 1
- idouble: 1
-@@ -1066,8 +1374,6 @@ ildouble: 2
- ldouble: 2
- Function: Imaginary part of "clog":
--float: 3
--ifloat: 3
- ildouble: 1
- ldouble: 1
-@@ -1079,9 +1385,9 @@ ldouble: 3
- Function: Imaginary part of "clog10":
- double: 1
--float: 5
-+float: 1
- idouble: 1
--ifloat: 5
-+ifloat: 1
- ildouble: 1
- ldouble: 1
-@@ -1093,10 +1399,54 @@ ifloat: 1
- ildouble: 1
- ldouble: 1
-+Function: "cos_downward":
-+float: 1
-+ifloat: 1
-+ildouble: 4
-+ldouble: 4
-+
-+Function: "cos_tonearest":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "cos_towardzero":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+
-+Function: "cos_upward":
-+float: 2
-+ifloat: 2
-+ildouble: 2
-+ldouble: 2
-+
- Function: "cosh":
- ildouble: 1
- ldouble: 1
-+Function: "cosh_downward":
-+float: 1
-+ifloat: 1
-+ildouble: 5269156250720
-+ldouble: 5269156250720
-+
-+Function: "cosh_tonearest":
-+ildouble: 5269156250719
-+ldouble: 5269156250719
-+
-+Function: "cosh_towardzero":
-+float: 1
-+ifloat: 1
-+ildouble: 5269156250720
-+ldouble: 5269156250720
-+
-+Function: "cosh_upward":
-+ildouble: 5269156250719
-+ldouble: 5269156250719
-+
- Function: Real part of "cpow":
- double: 2
- float: 5
-@@ -1113,10 +1463,6 @@ ifloat: 2
- ildouble: 2
- ldouble: 2
--Function: Imaginary part of "cproj":
--ildouble: 1
--ldouble: 1
--
- Function: Real part of "csin":
- ildouble: 1
- ldouble: 1
-@@ -1146,8 +1492,6 @@ ildouble: 1
- ldouble: 1
- Function: Real part of "ctan":
--double: 1
--idouble: 1
- ildouble: 1
- ldouble: 1
-@@ -1201,6 +1545,28 @@ Function: "exp2":
- ildouble: 2
- ldouble: 2
-+Function: "exp_downward":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "exp_tonearest":
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "exp_towardzero":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "exp_upward":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
- Function: "expm1":
- double: 1
- float: 1
-@@ -1218,10 +1584,10 @@ ildouble: 1
- ldouble: 1
- Function: "j0":
--double: 3
--float: 2
--idouble: 3
--ifloat: 2
-+double: 2
-+float: 1
-+idouble: 2
-+ifloat: 1
- ildouble: 1
- ldouble: 1
-@@ -1235,9 +1601,9 @@ ldouble: 1
- Function: "jn":
- double: 3
--float: 4
-+float: 3
- idouble: 3
--ifloat: 4
-+ifloat: 3
- ildouble: 4
- ldouble: 4
-@@ -1264,8 +1630,6 @@ ldouble: 1
- Function: "log1p":
- float: 1
- ifloat: 1
--ildouble: 1
--ldouble: 1
- Function: "log2":
- ildouble: 1
-@@ -1275,10 +1639,52 @@ Function: "pow":
- ildouble: 1
- ldouble: 1
-+Function: "pow_downward":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "pow_towardzero":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "pow_upward":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
- Function: "sin":
- ildouble: 1
- ldouble: 1
-+Function: "sin_downward":
-+float: 1
-+ifloat: 1
-+ildouble: 4
-+ldouble: 4
-+
-+Function: "sin_tonearest":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "sin_towardzero":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+
-+Function: "sin_upward":
-+float: 2
-+ifloat: 2
-+ildouble: 2
-+ldouble: 2
-+
- Function: "sincos":
- double: 1
- float: 1
-@@ -1291,12 +1697,54 @@ Function: "sinh":
- ildouble: 1
- ldouble: 1
-+Function: "sinh_downward":
-+float: 1
-+ifloat: 1
-+ildouble: 5269156250718
-+ldouble: 5269156250718
-+
-+Function: "sinh_tonearest":
-+ildouble: 5269156250719
-+ldouble: 5269156250719
-+
-+Function: "sinh_towardzero":
-+float: 1
-+ifloat: 1
-+ildouble: 5269156250718
-+ldouble: 5269156250718
-+
-+Function: "sinh_upward":
-+ildouble: 5269156250719
-+ldouble: 5269156250719
-+
- Function: "tan":
- double: 1
- idouble: 1
- ildouble: 1
- ldouble: 1
-+Function: "tan_downward":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+
-+Function: "tan_tonearest":
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "tan_towardzero":
-+float: 1
-+ifloat: 1
-+ildouble: 3
-+ldouble: 3
-+
-+Function: "tan_upward":
-+float: 1
-+ifloat: 1
-+ildouble: 3
-+ldouble: 3
-+
- Function: "tanh":
- ildouble: 1
- ldouble: 1
-diff -Nrup a/sysdeps/s390/fpu/libm-test-ulps b/sysdeps/s390/fpu/libm-test-ulps
---- a/sysdeps/s390/fpu/libm-test-ulps  2010-05-04 05:27:23.000000000 -0600
-+++ b/sysdeps/s390/fpu/libm-test-ulps  2012-08-06 09:54:38.324772546 -0600
-@@ -31,16 +31,9 @@ ildouble: 1
- ldouble: 1
- # cacosh
--Test "Real part of: cacosh (-2 - 3 i) == 1.9833870299165354323470769028940395 - 2.1414491111159960199416055713254211 i":
--double: 1
--float: 7
--idouble: 1
--ifloat: 7
- Test "Imaginary part of: cacosh (-2 - 3 i) == 1.9833870299165354323470769028940395 - 2.1414491111159960199416055713254211 i":
--double: 1
--float: 3
--idouble: 1
--ifloat: 3
-+float: 1
-+ifloat: 1
- ildouble: 1
- ldouble: 1
-@@ -83,17 +76,11 @@ ildouble: 1
- ldouble: 1
- # catan
--Test "Real part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i":
--float: 3
--ifloat: 3
- Test "Imaginary part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i":
- double: 1
- float: 1
- idouble: 1
- ifloat: 1
--Test "Real part of: catan (0.75 + 1.25 i) == 1.10714871779409050301706546017853704 + 0.549306144334054845697622618461262852 i":
--float: 4
--ifloat: 4
- Test "Imaginary part of: catan (0.75 + 1.25 i) == 1.10714871779409050301706546017853704 + 0.549306144334054845697622618461262852 i":
- ildouble: 1
- ldouble: 1
-@@ -102,17 +89,12 @@ ldouble: 1
- Test "Real part of: catanh (-2 - 3 i) == -0.14694666622552975204743278515471595 - 1.3389725222944935611241935759091443 i":
- double: 4
- idouble: 4
--Test "Imaginary part of: catanh (-2 - 3 i) == -0.14694666622552975204743278515471595 - 1.3389725222944935611241935759091443 i":
--float: 4
--ifloat: 4
- Test "Real part of: catanh (0.75 + 1.25 i) == 0.261492138795671927078652057366532140 + 0.996825126463918666098902241310446708 i":
- double: 1
- idouble: 1
- ildouble: 1
- ldouble: 1
- Test "Imaginary part of: catanh (0.75 + 1.25 i) == 0.261492138795671927078652057366532140 + 0.996825126463918666098902241310446708 i":
--float: 6
--ifloat: 6
- ildouble: 1
- ldouble: 1
-@@ -185,9 +167,6 @@ ildouble: 1
- ldouble: 1
- # clog
--Test "Imaginary part of: clog (-2 - 3 i) == 1.2824746787307683680267437207826593 - 2.1587989303424641704769327722648368 i":
--float: 3
--ifloat: 3
- Test "Real part of: clog (0.75 + 1.25 i) == 0.376885901188190075998919126749298416 + 1.03037682652431246378774332703115153 i":
- float: 1
- ifloat: 1
-@@ -210,9 +189,7 @@ ildouble: 1
- ldouble: 1
- Test "Imaginary part of: clog10 (-2 - 3 i) == 0.556971676153418384603252578971164214 - 0.937554462986374708541507952140189646 i":
- double: 1
--float: 5
- idouble: 1
--ifloat: 5
- ildouble: 1
- ldouble: 1
- Test "Imaginary part of: clog10 (-3 + inf i) == inf + pi/2*log10(e) i":
-@@ -288,9 +265,7 @@ ifloat: 1
- # cos
- Test "cos (M_PI_6l * 2.0) == 0.5":
- double: 1
--float: 1
- idouble: 1
--ifloat: 1
- ildouble: 1
- ldouble: 1
- Test "cos (M_PI_6l * 4.0) == -0.5":
-@@ -300,11 +275,159 @@ idouble: 2
- ifloat: 1
- ildouble: 1
- ldouble: 1
--Test "cos (pi/2) == 0":
--double: 1
-+
-+# cos_downward
-+Test "cos_downward (1) == 0.5403023058681397174009366074429766037323":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_downward (10) == -0.8390715290764524522588639478240648345199":
-+ildouble: 1
-+ldouble: 1
-+Test "cos_downward (2) == -0.4161468365471423869975682295007621897660":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_downward (3) == -0.9899924966004454572715727947312613023937":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_downward (4) == -0.6536436208636119146391681830977503814241":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_downward (5) == 0.2836621854632262644666391715135573083344":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_downward (6) == 0.9601702866503660205456522979229244054519":
-+ildouble: 1
-+ldouble: 1
-+Test "cos_downward (7) == 0.7539022543433046381411975217191820122183":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_downward (8) == -0.1455000338086135258688413818311946826093":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+
-+# cos_tonearest
-+Test "cos_tonearest (7) == 0.7539022543433046381411975217191820122183":
-+float: 1
-+ifloat: 1
-+
-+# cos_towardzero
-+Test "cos_towardzero (1) == 0.5403023058681397174009366074429766037323":
-+ildouble: 1
-+ldouble: 1
-+Test "cos_towardzero (10) == -0.8390715290764524522588639478240648345199":
-+ildouble: 1
-+ldouble: 1
-+Test "cos_towardzero (2) == -0.4161468365471423869975682295007621897660":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_towardzero (3) == -0.9899924966004454572715727947312613023937":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_towardzero (4) == -0.6536436208636119146391681830977503814241":
-+ildouble: 1
-+ldouble: 1
-+Test "cos_towardzero (5) == 0.2836621854632262644666391715135573083344":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_towardzero (6) == 0.9601702866503660205456522979229244054519":
-+ildouble: 1
-+ldouble: 1
-+Test "cos_towardzero (7) == 0.7539022543433046381411975217191820122183":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_towardzero (8) == -0.1455000338086135258688413818311946826093":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+
-+# cos_upward
-+Test "cos_upward (10) == -0.8390715290764524522588639478240648345199":
-+float: 1
-+ifloat: 1
-+Test "cos_upward (6) == 0.9601702866503660205456522979229244054519":
-+float: 1
-+ifloat: 1
-+Test "cos_upward (7) == 0.7539022543433046381411975217191820122183":
-+float: 1
-+ifloat: 1
-+Test "cos_upward (9) == -0.9111302618846769883682947111811653112463":
-+float: 2
-+ifloat: 2
-+ildouble: 1
-+ldouble: 1
-+
-+# cosh_downward
-+Test "cosh_downward (22) == 1792456423.065795780980053377632656584997":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cosh_downward (23) == 4872401723.124451300068625740569997090344":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cosh_downward (24) == 13244561064.92173614708845674912733665919":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+# cosh_tonearest
-+Test "cosh_tonearest (22) == 1792456423.065795780980053377632656584997":
-+ildouble: 1
-+ldouble: 1
-+
-+# cosh_towardzero
-+Test "cosh_towardzero (22) == 1792456423.065795780980053377632656584997":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cosh_towardzero (23) == 4872401723.124451300068625740569997090344":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cosh_towardzero (24) == 13244561064.92173614708845674912733665919":
- float: 1
--idouble: 1
- ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+# cosh_upward
-+Test "cosh_upward (22) == 1792456423.065795780980053377632656584997":
-+ildouble: 1
-+ldouble: 1
-+Test "cosh_upward (23) == 4872401723.124451300068625740569997090344":
-+ildouble: 1
-+ldouble: 1
-+Test "cosh_upward (24) == 13244561064.92173614708845674912733665919":
-+ildouble: 1
-+ldouble: 1
- # cpow
- Test "Real part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i) == 0.331825439177608832276067945276730566 + 0.131338600281188544930936345230903032 i":
-@@ -393,8 +516,6 @@ ldouble: 1
- # ctan
- Test "Real part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i":
--double: 1
--idouble: 1
- ildouble: 1
- ldouble: 1
- Test "Imaginary part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i":
-@@ -467,6 +588,37 @@ Test "exp2 (10) == 1024":
- ildouble: 2
- ldouble: 2
-+# exp_downward
-+Test "exp_downward (2) == e^2":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "exp_downward (3) == e^3":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+# exp_towardzero
-+Test "exp_towardzero (2) == e^2":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "exp_towardzero (3) == e^3":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+# exp_upward
-+Test "exp_upward (1) == e":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
- # expm1
- Test "expm1 (0.75) == 1.11700001661267466854536981983709561":
- double: 1
-@@ -513,29 +665,27 @@ ifloat: 1
- # j0
- Test "j0 (-4.0) == -3.9714980986384737228659076845169804197562E-1":
- double: 1
--float: 2
-+float: 1
- idouble: 1
--ifloat: 2
-+ifloat: 1
- Test "j0 (0.75) == 0.864242275166648623555731103820923211":
- float: 1
- ifloat: 1
- Test "j0 (10.0) == -0.245935764451348335197760862485328754":
--double: 3
-+double: 2
- float: 1
--idouble: 3
-+idouble: 2
- ifloat: 1
- ildouble: 2
- ldouble: 2
- Test "j0 (2.0) == 0.223890779141235668051827454649948626":
--float: 2
--ifloat: 2
- ildouble: 2
- ldouble: 2
- Test "j0 (4.0) == -3.9714980986384737228659076845169804197562E-1":
- double: 1
--float: 2
-+float: 1
- idouble: 1
--ifloat: 2
-+ifloat: 1
- Test "j0 (8.0) == 0.171650807137553906090869407851972001":
- float: 1
- ifloat: 1
-@@ -569,29 +719,27 @@ ldouble: 4
- # jn
- Test "jn (0, -4.0) == -3.9714980986384737228659076845169804197562E-1":
- double: 1
--float: 2
-+float: 1
- idouble: 1
--ifloat: 2
-+ifloat: 1
- Test "jn (0, 0.75) == 0.864242275166648623555731103820923211":
- float: 1
- ifloat: 1
- Test "jn (0, 10.0) == -0.245935764451348335197760862485328754":
--double: 3
-+double: 2
- float: 1
--idouble: 3
-+idouble: 2
- ifloat: 1
- ildouble: 2
- ldouble: 2
- Test "jn (0, 2.0) == 0.223890779141235668051827454649948626":
--float: 2
--ifloat: 2
- ildouble: 2
- ldouble: 2
- Test "jn (0, 4.0) == -3.9714980986384737228659076845169804197562E-1":
- double: 1
--float: 2
-+float: 1
- idouble: 1
--ifloat: 2
-+ifloat: 1
- Test "jn (0, 8.0) == 0.171650807137553906090869407851972001":
- float: 1
- ifloat: 1
-@@ -640,15 +788,13 @@ Test "jn (10, 1.0) == 0.2630615123687453
- ildouble: 1
- ldouble: 1
- Test "jn (10, 10.0) == 0.207486106633358857697278723518753428":
--double: 4
--float: 3
--idouble: 4
--ifloat: 3
-+float: 1
-+ifloat: 1
- ildouble: 2
- ldouble: 2
- Test "jn (10, 2.0) == 0.251538628271673670963516093751820639e-6":
--float: 4
--ifloat: 4
-+float: 3
-+ifloat: 3
- Test "jn (3, 0.125) == 0.406503832554912875023029337653442868e-4":
- double: 1
- float: 1
-@@ -661,16 +807,16 @@ idouble: 1
- ifloat: 1
- Test "jn (3, 10.0) == 0.0583793793051868123429354784103409563":
- double: 3
--float: 2
-+float: 1
- idouble: 3
--ifloat: 2
-+ifloat: 1
- ildouble: 2
- ldouble: 2
- Test "jn (3, 2.0) == 0.128943249474402051098793332969239835":
- double: 1
--float: 2
-+float: 1
- idouble: 1
--ifloat: 2
-+ifloat: 1
- # lgamma
- Test "lgamma (-0.5) == log(2*sqrt(pi))":
-@@ -713,71 +859,315 @@ Test "log2 (0.75) == -.41503749927884381
- ildouble: 1
- ldouble: 1
--# sincos
--Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
--double: 1
-+# pow_downward
-+Test "pow_downward (1.5, 1.03125) == 1.519127098714743184071644334163037684948":
- float: 1
--idouble: 1
- ifloat: 1
--ildouble: 1
--ldouble: 1
--Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
--double: 1
-+
-+# pow_towardzero
-+Test "pow_towardzero (1.5, 1.03125) == 1.519127098714743184071644334163037684948":
-+float: 1
-+ifloat: 1
-+
-+# pow_upward
-+Test "pow_upward (1.0625, 1.125) == 1.070582293028761362162622578677070098674":
- float: 1
--idouble: 1
- ifloat: 1
- ildouble: 1
- ldouble: 1
--Test "sincos (pi/2, &sin_res, &cos_res) puts 0 in cos_res":
--double: 1
-+
-+# sin_downward
-+Test "sin_downward (1) == 0.8414709848078965066525023216302989996226":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_downward (10) == -0.5440211108893698134047476618513772816836":
- float: 1
--idouble: 1
- ifloat: 1
--Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
-+Test "sin_downward (2) == 0.9092974268256816953960198659117448427023":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_downward (3) == 0.1411200080598672221007448028081102798469":
- float: 1
- ifloat: 1
--
--# sqrt
--Test "sqrt (2) == M_SQRT2l":
- ildouble: 1
- ldouble: 1
--
--# tan
--Test "tan (pi/4) == 1":
--double: 1
--idouble: 1
--
--# tanh
--Test "tanh (-0.75) == -0.635148952387287319214434357312496495":
-+Test "sin_downward (4) == -0.7568024953079282513726390945118290941359":
- ildouble: 1
- ldouble: 1
--Test "tanh (-1.0) == -0.7615941559557648881194582826047935904":
-+Test "sin_downward (5) == -0.9589242746631384688931544061559939733525":
-+float: 1
-+ifloat: 1
- ildouble: 1
- ldouble: 1
--Test "tanh (0.75) == 0.635148952387287319214434357312496495":
-+Test "sin_downward (6) == -0.2794154981989258728115554466118947596280":
-+float: 1
-+ifloat: 1
- ildouble: 1
- ldouble: 1
--Test "tanh (1.0) == 0.7615941559557648881194582826047935904":
-+Test "sin_downward (8) == 0.9893582466233817778081235982452886721164":
- ildouble: 1
- ldouble: 1
--# tgamma
--Test "tgamma (-0.5) == -2 sqrt (pi)":
--double: 1
-+# sin_tonearest
-+Test "sin_tonearest (1) == 0.8414709848078965066525023216302989996226":
- float: 1
--idouble: 1
- ifloat: 1
- ildouble: 1
- ldouble: 1
--Test "tgamma (0.5) == sqrt (pi)":
-+Test "sin_tonearest (3) == 0.1411200080598672221007448028081102798469":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_tonearest (6) == -0.2794154981989258728115554466118947596280":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_tonearest (9) == 0.4121184852417565697562725663524351793439":
-+ildouble: 1
-+ldouble: 1
-+
-+# sin_towardzero
-+Test "sin_towardzero (1) == 0.8414709848078965066525023216302989996226":
- float: 1
- ifloat: 1
--Test "tgamma (0.7) == 1.29805533264755778568117117915281162":
--double: 1
-+Test "sin_towardzero (10) == -0.5440211108893698134047476618513772816836":
- float: 1
--idouble: 1
- ifloat: 1
--Test "tgamma (4) == 6":
-+Test "sin_towardzero (2) == 0.9092974268256816953960198659117448427023":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_towardzero (3) == 0.1411200080598672221007448028081102798469":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_towardzero (4) == -0.7568024953079282513726390945118290941359":
-+float: 1
-+ifloat: 1
-+Test "sin_towardzero (5) == -0.9589242746631384688931544061559939733525":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "sin_towardzero (6) == -0.2794154981989258728115554466118947596280":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_towardzero (8) == 0.9893582466233817778081235982452886721164":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_towardzero (9) == 0.4121184852417565697562725663524351793439":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+
-+# sin_upward
-+Test "sin_upward (1) == 0.8414709848078965066525023216302989996226":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "sin_upward (10) == -0.5440211108893698134047476618513772816836":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_upward (2) == 0.9092974268256816953960198659117448427023":
-+float: 2
-+ifloat: 2
-+Test "sin_upward (3) == 0.1411200080598672221007448028081102798469":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_upward (4) == -0.7568024953079282513726390945118290941359":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "sin_upward (7) == 0.6569865987187890903969990915936351779369":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_upward (9) == 0.4121184852417565697562725663524351793439":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+# sincos
-+Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
-+double: 1
-+idouble: 1
-+ildouble: 1
-+ldouble: 1
-+Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
-+float: 1
-+ifloat: 1
-+
-+# sinh_downward
-+Test "sinh_downward (22) == 1792456423.065795780701106568345764104225":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "sinh_downward (23) == 4872401723.124451299966006944252978187305":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+Test "sinh_downward (24) == 13244561064.92173614705070540368454568168":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+# sinh_towardzero
-+Test "sinh_towardzero (22) == 1792456423.065795780701106568345764104225":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "sinh_towardzero (23) == 4872401723.124451299966006944252978187305":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+Test "sinh_towardzero (24) == 13244561064.92173614705070540368454568168":
-+float: 1
-+ifloat: 1
-+
-+# sinh_upward
-+Test "sinh_upward (22) == 1792456423.065795780701106568345764104225":
-+ildouble: 1
-+ldouble: 1
-+Test "sinh_upward (23) == 4872401723.124451299966006944252978187305":
-+ildouble: 1
-+ldouble: 1
-+Test "sinh_upward (24) == 13244561064.92173614705070540368454568168":
-+ildouble: 1
-+ldouble: 1
-+
-+# sqrt
-+Test "sqrt (2) == M_SQRT2l":
-+ildouble: 1
-+ldouble: 1
-+
-+# tan_downward
-+Test "tan_downward (1) == 1.5574077246549022305069748074583601730873":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "tan_downward (10) == 0.6483608274590866712591249330098086768169":
-+float: 1
-+ifloat: 1
-+Test "tan_downward (2) == -2.1850398632615189916433061023136825434320":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "tan_downward (6) == -0.2910061913847491570536995888681755428312":
-+float: 1
-+ifloat: 1
-+Test "tan_downward (8) == -6.7997114552203786999252627596086333648814":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "tan_downward (9) == -0.4523156594418098405903708757987855343087":
-+float: 1
-+ifloat: 1
-+
-+# tan_towardzero
-+Test "tan_towardzero (10) == 0.6483608274590866712591249330098086768169":
-+float: 1
-+ifloat: 1
-+Test "tan_towardzero (3) == -0.1425465430742778052956354105339134932261":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "tan_towardzero (4) == 1.1578212823495775831373424182673239231198":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "tan_towardzero (5) == -3.3805150062465856369827058794473439087096":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "tan_towardzero (6) == -0.2910061913847491570536995888681755428312":
-+ildouble: 1
-+ldouble: 1
-+Test "tan_towardzero (9) == -0.4523156594418098405903708757987855343087":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+# tan_upward
-+Test "tan_upward (1) == 1.5574077246549022305069748074583601730873":
-+float: 1
-+ifloat: 1
-+Test "tan_upward (10) == 0.6483608274590866712591249330098086768169":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "tan_upward (2) == -2.1850398632615189916433061023136825434320":
-+ildouble: 1
-+ldouble: 1
-+Test "tan_upward (3) == -0.1425465430742778052956354105339134932261":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "tan_upward (4) == 1.1578212823495775831373424182673239231198":
-+ildouble: 1
-+ldouble: 1
-+Test "tan_upward (5) == -3.3805150062465856369827058794473439087096":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "tan_upward (6) == -0.2910061913847491570536995888681755428312":
-+ildouble: 1
-+ldouble: 1
-+Test "tan_upward (9) == -0.4523156594418098405903708757987855343087":
-+ildouble: 1
-+ldouble: 1
-+
-+# tanh
-+Test "tanh (-0.75) == -0.635148952387287319214434357312496495":
-+ildouble: 1
-+ldouble: 1
-+Test "tanh (-1.0) == -0.7615941559557648881194582826047935904":
-+ildouble: 1
-+ldouble: 1
-+Test "tanh (0.75) == 0.635148952387287319214434357312496495":
-+ildouble: 1
-+ldouble: 1
-+Test "tanh (1.0) == 0.7615941559557648881194582826047935904":
-+ildouble: 1
-+ldouble: 1
-+
-+# tgamma
-+Test "tgamma (-0.5) == -2 sqrt (pi)":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "tgamma (0.5) == sqrt (pi)":
-+float: 1
-+ifloat: 1
-+Test "tgamma (0.7) == 1.29805533264755778568117117915281162":
-+double: 1
-+float: 1
-+idouble: 1
-+ifloat: 1
-+Test "tgamma (4) == 6":
- ildouble: 1
- ldouble: 1
-@@ -917,17 +1307,13 @@ ifloat: 2
- ildouble: 5
- ldouble: 5
- Test "yn (10, 1.0) == -121618014.278689189288130426667971145":
--double: 1
- float: 2
--idouble: 1
- ifloat: 2
- ildouble: 1
- ldouble: 1
- Test "yn (10, 10.0) == -0.359814152183402722051986577343560609":
- double: 2
--float: 2
- idouble: 2
--ifloat: 2
- ildouble: 2
- ldouble: 2
- Test "yn (10, 2.0) == -129184.542208039282635913145923304214":
-@@ -941,9 +1327,7 @@ Test "yn (3, 0.125) == -2612.69757350066
- double: 1
- idouble: 1
- Test "yn (3, 0.75) == -12.9877176234475433186319774484809207":
--double: 1
- float: 1
--idouble: 1
- ifloat: 1
- ildouble: 2
- ldouble: 2
-@@ -973,17 +1357,9 @@ Function: Imaginary part of "cacos":
- ildouble: 1
- ldouble: 1
--Function: Real part of "cacosh":
--double: 1
--float: 7
--idouble: 1
--ifloat: 7
--
- Function: Imaginary part of "cacosh":
--double: 1
--float: 3
--idouble: 1
--ifloat: 3
-+float: 1
-+ifloat: 1
- ildouble: 1
- ldouble: 1
-@@ -1013,10 +1389,6 @@ ifloat: 6
- ildouble: 2
- ldouble: 2
--Function: Real part of "catan":
--float: 4
--ifloat: 4
--
- Function: Imaginary part of "catan":
- double: 1
- float: 1
-@@ -1032,8 +1404,6 @@ ildouble: 1
- ldouble: 1
- Function: Imaginary part of "catanh":
--float: 6
--ifloat: 6
- ildouble: 1
- ldouble: 1
-@@ -1089,10 +1459,6 @@ ifloat: 1
- ildouble: 1
- ldouble: 1
--Function: Imaginary part of "clog":
--float: 3
--ifloat: 3
--
- Function: Real part of "clog10":
- float: 1
- ifloat: 1
-@@ -1101,9 +1467,9 @@ ldouble: 1
- Function: Imaginary part of "clog10":
- double: 1
--float: 5
-+float: 1
- idouble: 1
--ifloat: 5
-+ifloat: 1
- ildouble: 1
- ldouble: 1
-@@ -1115,6 +1481,48 @@ ifloat: 1
- ildouble: 1
- ldouble: 1
-+Function: "cos_downward":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+
-+Function: "cos_tonearest":
-+float: 1
-+ifloat: 1
-+
-+Function: "cos_towardzero":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+
-+Function: "cos_upward":
-+float: 2
-+ifloat: 2
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "cosh_downward":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "cosh_tonearest":
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "cosh_towardzero":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "cosh_upward":
-+ildouble: 1
-+ldouble: 1
-+
- Function: Real part of "cpow":
- double: 2
- float: 4
-@@ -1162,8 +1570,6 @@ ildouble: 1
- ldouble: 1
- Function: Real part of "ctan":
--double: 1
--idouble: 1
- ildouble: 1
- ldouble: 1
-@@ -1211,6 +1617,24 @@ Function: "exp2":
- ildouble: 2
- ldouble: 2
-+Function: "exp_downward":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "exp_towardzero":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "exp_upward":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
- Function: "expm1":
- double: 1
- float: 1
-@@ -1228,10 +1652,10 @@ float: 1
- ifloat: 1
- Function: "j0":
--double: 3
--float: 2
--idouble: 3
--ifloat: 2
-+double: 2
-+float: 1
-+idouble: 2
-+ifloat: 1
- ildouble: 2
- ldouble: 2
-@@ -1244,10 +1668,10 @@ ildouble: 4
- ldouble: 4
- Function: "jn":
--double: 4
--float: 4
--idouble: 4
--ifloat: 4
-+double: 3
-+float: 3
-+idouble: 3
-+ifloat: 3
- ildouble: 4
- ldouble: 4
-@@ -1277,6 +1701,44 @@ Function: "log2":
- ildouble: 1
- ldouble: 1
-+Function: "pow_downward":
-+float: 1
-+ifloat: 1
-+
-+Function: "pow_towardzero":
-+float: 1
-+ifloat: 1
-+
-+Function: "pow_upward":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "sin_downward":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "sin_tonearest":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "sin_towardzero":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+
-+Function: "sin_upward":
-+float: 2
-+ifloat: 2
-+ildouble: 1
-+ldouble: 1
-+
- Function: "sincos":
- double: 1
- float: 1
-@@ -1285,6 +1747,22 @@ ifloat: 1
- ildouble: 1
- ldouble: 1
-+Function: "sinh_downward":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+
-+Function: "sinh_towardzero":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+
-+Function: "sinh_upward":
-+ildouble: 1
-+ldouble: 1
-+
- Function: "sqrt":
- ildouble: 1
- ldouble: 1
-@@ -1293,6 +1771,24 @@ Function: "tan":
- double: 1
- idouble: 1
-+Function: "tan_downward":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "tan_towardzero":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "tan_upward":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
- Function: "tanh":
- ildouble: 1
- ldouble: 1
-diff -Nrup a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps
---- a/sysdeps/x86_64/fpu/libm-test-ulps        2010-05-04 05:27:23.000000000 -0600
-+++ b/sysdeps/x86_64/fpu/libm-test-ulps        2012-08-06 11:02:14.602759422 -0600
-@@ -42,26 +42,13 @@ ldouble: 1
- # cacos
- Test "Imaginary part of: cacos (0.75 + 1.25 i) == 1.11752014915610270578240049553777969 - 1.13239363160530819522266333696834467 i":
--float: 1
--ifloat: 1
- ildouble: 2
- ldouble: 2
- # cacosh
--Test "Real part of: cacosh (-2 - 3 i) == 1.9833870299165354323470769028940395 - 2.1414491111159960199416055713254211 i":
--double: 1
--float: 7
--idouble: 1
--ifloat: 7
--ildouble: 6
--ldouble: 6
- Test "Imaginary part of: cacosh (-2 - 3 i) == 1.9833870299165354323470769028940395 - 2.1414491111159960199416055713254211 i":
--double: 1
--float: 3
--idouble: 1
--ifloat: 3
--ildouble: 1
--ldouble: 1
-+float: 1
-+ifloat: 1
- Test "Real part of: cacosh (0.75 + 1.25 i) == 1.13239363160530819522266333696834467 + 1.11752014915610270578240049553777969 i":
- ildouble: 1
- ldouble: 1
-@@ -75,8 +62,6 @@ ifloat: 1
- ildouble: 2
- ldouble: 2
- Test "Imaginary part of: casin (0.75 + 1.25 i) == 0.453276177638793913448921196101971749 + 1.13239363160530819522266333696834467 i":
--float: 1
--ifloat: 1
- ildouble: 2
- ldouble: 2
-@@ -103,21 +88,15 @@ double: 1
- float: 1
- idouble: 1
- ifloat: 1
--ldouble: 1
- ildouble: 1
-+ldouble: 1
- # catan
--Test "Real part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i":
--float: 3
--ifloat: 3
- Test "Imaginary part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i":
- double: 1
- float: 1
- idouble: 1
- ifloat: 1
--Test "Real part of: catan (0.75 + 1.25 i) == 1.10714871779409050301706546017853704 + 0.549306144334054845697622618461262852 i":
--float: 4
--ifloat: 4
- # catanh
- Test "Real part of: catanh (-2 - 3 i) == -0.14694666622552975204743278515471595 - 1.3389725222944935611241935759091443 i":
-@@ -125,15 +104,9 @@ double: 4
- idouble: 4
- ildouble: 1
- ldouble: 1
--Test "Imaginary part of: catanh (-2 - 3 i) == -0.14694666622552975204743278515471595 - 1.3389725222944935611241935759091443 i":
--float: 4
--ifloat: 4
- Test "Real part of: catanh (0.75 + 1.25 i) == 0.261492138795671927078652057366532140 + 0.996825126463918666098902241310446708 i":
- double: 1
- idouble: 1
--Test "Imaginary part of: catanh (0.75 + 1.25 i) == 0.261492138795671927078652057366532140 + 0.996825126463918666098902241310446708 i":
--float: 6
--ifloat: 6
- # cbrt
- Test "cbrt (-0.001) == -0.1":
-@@ -152,14 +125,9 @@ ildouble: 1
- ldouble: 1
- # ccos
--Test "Real part of: ccos (-2 - 3 i) == -4.18962569096880723013255501961597373 - 9.10922789375533659797919726277886212 i":
--double: 1
--idouble: 1
- Test "Imaginary part of: ccos (-2 - 3 i) == -4.18962569096880723013255501961597373 - 9.10922789375533659797919726277886212 i":
- float: 1
- ifloat: 1
--ildouble: 1
--ldouble: 1
- Test "Real part of: ccos (0.75 + 1.25 i) == 1.38173873063425888530729933139078645 - 1.09193013555397466170919531722024128 i":
- double: 1
- float: 1
-@@ -168,19 +136,17 @@ ifloat: 1
- ildouble: 1
- ldouble: 1
- Test "Imaginary part of: ccos (0.75 + 1.25 i) == 1.38173873063425888530729933139078645 - 1.09193013555397466170919531722024128 i":
--ildouble: 1
--ldouble: 1
- float: 1
- ifloat: 1
-+ildouble: 1
-+ldouble: 1
- # ccosh
- Test "Real part of: ccosh (-2 - 3 i) == -3.72454550491532256547397070325597253 + 0.511822569987384608834463849801875634 i":
- float: 1
- ifloat: 1
- Test "Imaginary part of: ccosh (-2 - 3 i) == -3.72454550491532256547397070325597253 + 0.511822569987384608834463849801875634 i":
--double: 1
- float: 1
--idouble: 1
- ifloat: 1
- ildouble: 1
- ldouble: 1
-@@ -205,9 +171,6 @@ ildouble: 1
- ldouble: 1
- # clog
--Test "Imaginary part of: clog (-2 - 3 i) == 1.2824746787307683680267437207826593 - 2.1587989303424641704769327722648368 i":
--float: 3
--ifloat: 3
- Test "Real part of: clog (0.75 + 1.25 i) == 0.376885901188190075998919126749298416 + 1.03037682652431246378774332703115153 i":
- float: 1
- ifloat: 1
-@@ -227,11 +190,7 @@ idouble: 1
- ifloat: 1
- Test "Imaginary part of: clog10 (-2 - 3 i) == 0.556971676153418384603252578971164214 - 0.937554462986374708541507952140189646 i":
- double: 1
--float: 5
- idouble: 1
--ifloat: 5
--ildouble: 1
--ldouble: 1
- Test "Imaginary part of: clog10 (-3 + inf i) == inf + pi/2*log10(e) i":
- double: 1
- float: 1
-@@ -276,9 +235,7 @@ float: 1
- idouble: 1
- ifloat: 1
- Test "Real part of: clog10 (0.75 + 1.25 i) == 0.163679467193165171449476605077428975 + 0.447486970040493067069984724340855636 i":
--double: 1
- float: 1
--idouble: 1
- ifloat: 1
- ildouble: 1
- ldouble: 1
-@@ -306,33 +263,164 @@ ifloat: 1
- # cos
- Test "cos (M_PI_6l * 2.0) == 0.5":
- double: 1
--float: 1
- idouble: 1
--ifloat: 1
- Test "cos (M_PI_6l * 4.0) == -0.5":
- double: 2
- float: 1
- idouble: 2
- ifloat: 1
-+
-+# cos_downward
-+Test "cos_downward (1) == 0.5403023058681397174009366074429766037323":
-+float: 1
-+ifloat: 1
- ildouble: 1
- ldouble: 1
--Test "cos (pi/2) == 0":
--double: 1
-+Test "cos_downward (2) == -0.4161468365471423869975682295007621897660":
-+float: 1
-+ifloat: 1
-+Test "cos_downward (3) == -0.9899924966004454572715727947312613023937":
-+float: 1
-+ifloat: 1
-+Test "cos_downward (4) == -0.6536436208636119146391681830977503814241":
- float: 1
--idouble: 1
- ifloat: 1
- ildouble: 1
- ldouble: 1
--Test "cos (0.80190127184058835) == 0.69534156199418473":
--double: 1
--idouble: 1
-+Test "cos_downward (5) == 0.2836621854632262644666391715135573083344":
-+float: 1
-+ifloat: 1
-+Test "cos_downward (7) == 0.7539022543433046381411975217191820122183":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_downward (8) == -0.1455000338086135258688413818311946826093":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_downward (9) == -0.9111302618846769883682947111811653112463":
-+ildouble: 1
-+ldouble: 1
-+
-+# cos_tonearest
-+Test "cos_tonearest (7) == 0.7539022543433046381411975217191820122183":
-+float: 1
-+ifloat: 1
-+Test "cos_tonearest (8) == -0.1455000338086135258688413818311946826093":
-+ildouble: 1
-+ldouble: 1
-+Test "cos_tonearest (9) == -0.9111302618846769883682947111811653112463":
-+ildouble: 1
-+ldouble: 1
-+
-+# cos_towardzero
-+Test "cos_towardzero (1) == 0.5403023058681397174009366074429766037323":
-+ildouble: 1
-+ldouble: 1
-+Test "cos_towardzero (10) == -0.8390715290764524522588639478240648345199":
-+ildouble: 1
-+ldouble: 1
-+Test "cos_towardzero (2) == -0.4161468365471423869975682295007621897660":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_towardzero (3) == -0.9899924966004454572715727947312613023937":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_towardzero (5) == 0.2836621854632262644666391715135573083344":
-+float: 1
-+ifloat: 1
-+Test "cos_towardzero (7) == 0.7539022543433046381411975217191820122183":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_towardzero (8) == -0.1455000338086135258688413818311946826093":
-+float: 1
-+ifloat: 1
-+
-+# cos_upward
-+Test "cos_upward (10) == -0.8390715290764524522588639478240648345199":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_upward (2) == -0.4161468365471423869975682295007621897660":
-+ildouble: 1
-+ldouble: 1
-+Test "cos_upward (3) == -0.9899924966004454572715727947312613023937":
-+ildouble: 1
-+ldouble: 1
-+Test "cos_upward (5) == 0.2836621854632262644666391715135573083344":
-+ildouble: 1
-+ldouble: 1
-+Test "cos_upward (6) == 0.9601702866503660205456522979229244054519":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cos_upward (7) == 0.7539022543433046381411975217191820122183":
-+float: 1
-+ifloat: 1
-+Test "cos_upward (9) == -0.9111302618846769883682947111811653112463":
-+float: 2
-+ifloat: 2
-+
-+# cosh_downward
-+Test "cosh_downward (22) == 1792456423.065795780980053377632656584997":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+Test "cosh_downward (23) == 4872401723.124451300068625740569997090344":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cosh_downward (24) == 13244561064.92173614708845674912733665919":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+# cosh_tonearest
-+Test "cosh_tonearest (22) == 1792456423.065795780980053377632656584997":
-+ildouble: 1
-+ldouble: 1
-+
-+# cosh_towardzero
-+Test "cosh_towardzero (22) == 1792456423.065795780980053377632656584997":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+Test "cosh_towardzero (23) == 4872401723.124451300068625740569997090344":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "cosh_towardzero (24) == 13244561064.92173614708845674912733665919":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+# cosh_upward
-+Test "cosh_upward (23) == 4872401723.124451300068625740569997090344":
-+ildouble: 1
-+ldouble: 1
- # cpow
- Test "Real part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i) == 0.331825439177608832276067945276730566 + 0.131338600281188544930936345230903032 i":
- float: 1
- ifloat: 1
--ldouble: 1
- ildouble: 1
-+ldouble: 1
- Test "Imaginary part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i) == 0.331825439177608832276067945276730566 + 0.131338600281188544930936345230903032 i":
- float: 1
- ifloat: 1
-@@ -363,9 +451,9 @@ ildouble: 1
- ldouble: 1
- Test "Real part of: cpow (2 + 3 i, 4 + 0 i) == -119.0 - 120.0 i":
- double: 1
--float: 5
-+float: 4
- idouble: 1
--ifloat: 5
-+ifloat: 4
- Test "Imaginary part of: cpow (2 + 3 i, 4 + 0 i) == -119.0 - 120.0 i":
- float: 2
- ifloat: 2
-@@ -383,22 +471,11 @@ ldouble: 1
- Test "Real part of: csin (0.75 + 1.25 i) == 1.28722291002649188575873510790565441 + 1.17210635989270256101081285116138863 i":
- ildouble: 1
- ldouble: 1
--Test "Imaginary part of: csin (0.75 + 1.25 i) == 1.28722291002649188575873510790565441 + 1.17210635989270256101081285116138863 i":
--float: 1
--ifloat: 1
--Test "Imaginary part of: csin (-2 - 3 i) == -9.15449914691142957346729954460983256 + 4.16890695996656435075481305885375484 i":
--double: 1
--idouble: 1
- # csinh
--Test "Real part of: csinh (-2 - 3 i) == 3.59056458998577995201256544779481679 - 0.530921086248519805267040090660676560 i":
--double: 1
--idouble: 1
- Test "Imaginary part of: csinh (-2 - 3 i) == 3.59056458998577995201256544779481679 - 0.530921086248519805267040090660676560 i":
- double: 1
- idouble: 1
--ildouble: 2
--ldouble: 2
- Test "Real part of: csinh (0.75 + 1.25 i) == 0.259294854551162779153349830618433028 + 1.22863452409509552219214606515777594 i":
- float: 1
- ifloat: 1
-@@ -418,37 +495,31 @@ ifloat: 1
- # ctan
- Test "Real part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i":
--double: 1
--idouble: 1
--ildouble: 439
--ldouble: 439
-+ildouble: 1
-+ldouble: 1
- Test "Imaginary part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i":
--float: 1
--ifloat: 1
--ildouble: 2
--ldouble: 2
-+ildouble: 1
-+ldouble: 1
- Test "Real part of: ctan (0.75 + 1.25 i) == 0.160807785916206426725166058173438663 + 0.975363285031235646193581759755216379 i":
- ildouble: 1
- ldouble: 1
- Test "Imaginary part of: ctan (0.75 + 1.25 i) == 0.160807785916206426725166058173438663 + 0.975363285031235646193581759755216379 i":
- double: 1
--float: 1
- idouble: 1
--ifloat: 1
- ildouble: 3
- ldouble: 3
- # ctanh
- Test "Real part of: ctanh (-2 - 3 i) == -0.965385879022133124278480269394560686 + 0.988437503832249372031403430350121098e-2 i":
--float: 2
--ifloat: 2
--ildouble: 5
--ldouble: 5
- double: 1
-+float: 2
- idouble: 1
-+ifloat: 2
-+ildouble: 3
-+ldouble: 3
- Test "Imaginary part of: ctanh (-2 - 3 i) == -0.965385879022133124278480269394560686 + 0.988437503832249372031403430350121098e-2 i":
--ildouble: 25
--ldouble: 25
-+ildouble: 1
-+ldouble: 1
- Test "Imaginary part of: ctanh (0 + pi/4 i) == 0.0 + 1.0 i":
- float: 1
- ifloat: 1
-@@ -456,10 +527,10 @@ Test "Real part of: ctanh (0.75 + 1.25 i
- double: 1
- idouble: 1
- Test "Imaginary part of: ctanh (0.75 + 1.25 i) == 1.37260757053378320258048606571226857 + 0.385795952609750664177596760720790220 i":
--ildouble: 1
--ldouble: 1
- double: 1
- idouble: 1
-+ildouble: 1
-+ldouble: 1
- # erf
- Test "erf (1.25) == 0.922900128256458230136523481197281140":
-@@ -481,26 +552,61 @@ ldouble: 1
- # exp10
- Test "exp10 (-1) == 0.1":
--ildouble: 1
--ldouble: 1
--float: 1
--ifloat: 1
- double: 2
--idouble: 2
--Test "exp10 (0.75) == 5.62341325190349080394951039776481231":
--ildouble: 2
--ldouble: 2
- float: 1
-+idouble: 2
- ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "exp10 (0.75) == 5.62341325190349080394951039776481231":
- double: 1
-+float: 1
- idouble: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
- Test "exp10 (3) == 1000":
--ildouble: 8
--ldouble: 8
--float: 2
--ifloat: 2
- double: 6
-+float: 2
- idouble: 6
-+ifloat: 2
-+ildouble: 3
-+ldouble: 3
-+
-+# exp_downward
-+Test "exp_downward (1) == e":
-+ildouble: 1
-+ldouble: 1
-+Test "exp_downward (2) == e^2":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+Test "exp_downward (3) == e^3":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+# exp_towardzero
-+Test "exp_towardzero (1) == e":
-+ildouble: 1
-+ldouble: 1
-+Test "exp_towardzero (2) == e^2":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+Test "exp_towardzero (3) == e^3":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+# exp_upward
-+Test "exp_upward (1) == e":
-+float: 1
-+ifloat: 1
- # expm1
- Test "expm1 (0.75) == 1.11700001661267466854536981983709561":
-@@ -570,9 +676,7 @@ ifloat: 1
- ildouble: 1
- ldouble: 1
- Test "j0 (8.0) == 0.171650807137553906090869407851972001":
--double: 2
- float: 1
--idouble: 2
- ifloat: 1
- # j1
-@@ -617,9 +721,7 @@ ifloat: 1
- ildouble: 1
- ldouble: 1
- Test "jn (0, 8.0) == 0.171650807137553906090869407851972001":
--double: 2
- float: 1
--idouble: 2
- ifloat: 1
- Test "jn (1, 10.0) == 0.0434727461688614366697487680258592883":
- float: 2
-@@ -714,12 +816,12 @@ ldouble: 1
- # log10
- Test "log10 (0.75) == -0.124938736608299953132449886193870744":
--ildouble: 1
--ldouble: 1
--float: 2
--ifloat: 2
- double: 1
-+float: 2
- idouble: 1
-+ifloat: 2
-+ildouble: 1
-+ldouble: 1
- Test "log10 (e) == log10(e)":
- float: 1
- ifloat: 1
-@@ -731,37 +833,309 @@ Test "log1p (-0.25) == -0.28768207245178
- float: 1
- ifloat: 1
--# sincos
--Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
--double: 1
--float: 1
--idouble: 1
--ifloat: 1
--Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
--double: 1
--float: 1
--idouble: 1
--ifloat: 1
-+# pow_downward
-+Test "pow_downward (1.0625, 1.125) == 1.070582293028761362162622578677070098674":
- ildouble: 1
- ldouble: 1
--Test "sincos (pi/2, &sin_res, &cos_res) puts 0 in cos_res":
--double: 1
-+Test "pow_downward (1.5, 1.03125) == 1.519127098714743184071644334163037684948":
- float: 1
--idouble: 1
- ifloat: 1
- ildouble: 1
- ldouble: 1
--Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
-+
-+# pow_towardzero
-+Test "pow_towardzero (1.0625, 1.125) == 1.070582293028761362162622578677070098674":
-+ildouble: 1
-+ldouble: 1
-+Test "pow_towardzero (1.5, 1.03125) == 1.519127098714743184071644334163037684948":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+# pow_upward
-+Test "pow_upward (1.0625, 1.125) == 1.070582293028761362162622578677070098674":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "pow_upward (1.5, 1.03125) == 1.519127098714743184071644334163037684948":
-+ildouble: 1
-+ldouble: 1
-+
-+# sin_downward
-+Test "sin_downward (1) == 0.8414709848078965066525023216302989996226":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_downward (10) == -0.5440211108893698134047476618513772816836":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "sin_downward (3) == 0.1411200080598672221007448028081102798469":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "sin_downward (4) == -0.7568024953079282513726390945118290941359":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_downward (5) == -0.9589242746631384688931544061559939733525":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "sin_downward (6) == -0.2794154981989258728115554466118947596280":
-+float: 1
-+ifloat: 1
-+Test "sin_downward (7) == 0.6569865987187890903969990915936351779369":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_downward (8) == 0.9893582466233817778081235982452886721164":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_downward (9) == 0.4121184852417565697562725663524351793439":
-+ildouble: 1
-+ldouble: 1
-+
-+# sin_tonearest
-+Test "sin_tonearest (1) == 0.8414709848078965066525023216302989996226":
-+float: 1
-+ifloat: 1
-+Test "sin_tonearest (10) == -0.5440211108893698134047476618513772816836":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_tonearest (4) == -0.7568024953079282513726390945118290941359":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_tonearest (9) == 0.4121184852417565697562725663524351793439":
-+ildouble: 1
-+ldouble: 1
-+
-+# sin_towardzero
-+Test "sin_towardzero (1) == 0.8414709848078965066525023216302989996226":
- float: 1
- ifloat: 1
--Test "sincos (0.80190127184058835, &sin_res, &cos_res) puts 0.69534156199418473 in cos_res":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_towardzero (10) == -0.5440211108893698134047476618513772816836":
-+float: 1
-+ifloat: 1
-+Test "sin_towardzero (3) == 0.1411200080598672221007448028081102798469":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_towardzero (4) == -0.7568024953079282513726390945118290941359":
-+float: 1
-+ifloat: 1
-+Test "sin_towardzero (5) == -0.9589242746631384688931544061559939733525":
-+float: 1
-+ifloat: 1
-+Test "sin_towardzero (6) == -0.2794154981989258728115554466118947596280":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_towardzero (7) == 0.6569865987187890903969990915936351779369":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_towardzero (8) == 0.9893582466233817778081235982452886721164":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_towardzero (9) == 0.4121184852417565697562725663524351793439":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+# sin_upward
-+Test "sin_upward (1) == 0.8414709848078965066525023216302989996226":
-+float: 1
-+ifloat: 1
-+Test "sin_upward (2) == 0.9092974268256816953960198659117448427023":
-+float: 2
-+ifloat: 2
-+ildouble: 1
-+ldouble: 1
-+Test "sin_upward (4) == -0.7568024953079282513726390945118290941359":
-+float: 1
-+ifloat: 1
-+Test "sin_upward (6) == -0.2794154981989258728115554466118947596280":
-+ildouble: 1
-+ldouble: 1
-+Test "sin_upward (9) == 0.4121184852417565697562725663524351793439":
-+float: 1
-+ifloat: 1
-+
-+# sincos
-+Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
- double: 1
- idouble: 1
--
--# tan
--Test "tan (pi/4) == 1":
-+Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
- double: 1
-+float: 1
- idouble: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
-+float: 1
-+ifloat: 1
-+
-+# sinh_downward
-+Test "sinh_downward (22) == 1792456423.065795780701106568345764104225":
-+float: 1
-+ifloat: 1
-+ildouble: 4
-+ldouble: 4
-+Test "sinh_downward (23) == 4872401723.124451299966006944252978187305":
-+float: 1
-+ifloat: 1
-+Test "sinh_downward (24) == 13244561064.92173614705070540368454568168":
-+float: 1
-+ifloat: 1
-+ildouble: 5
-+ldouble: 5
-+
-+# sinh_tonearest
-+Test "sinh_tonearest (22) == 1792456423.065795780701106568345764104225":
-+ildouble: 3
-+ldouble: 3
-+Test "sinh_tonearest (23) == 4872401723.124451299966006944252978187305":
-+ildouble: 1
-+ldouble: 1
-+Test "sinh_tonearest (24) == 13244561064.92173614705070540368454568168":
-+ildouble: 6
-+ldouble: 6
-+
-+# sinh_towardzero
-+Test "sinh_towardzero (22) == 1792456423.065795780701106568345764104225":
-+float: 1
-+ifloat: 1
-+ildouble: 4
-+ldouble: 4
-+Test "sinh_towardzero (23) == 4872401723.124451299966006944252978187305":
-+float: 1
-+ifloat: 1
-+Test "sinh_towardzero (24) == 13244561064.92173614705070540368454568168":
-+float: 1
-+ifloat: 1
-+ildouble: 5
-+ldouble: 5
-+
-+# sinh_upward
-+Test "sinh_upward (22) == 1792456423.065795780701106568345764104225":
-+ildouble: 16
-+ldouble: 16
-+Test "sinh_upward (23) == 4872401723.124451299966006944252978187305":
-+ildouble: 27
-+ldouble: 27
-+Test "sinh_upward (24) == 13244561064.92173614705070540368454568168":
-+ildouble: 7
-+ldouble: 7
-+
-+# tan_downward
-+Test "tan_downward (1) == 1.5574077246549022305069748074583601730873":
-+float: 1
-+ifloat: 1
-+Test "tan_downward (10) == 0.6483608274590866712591249330098086768169":
-+float: 1
-+ifloat: 1
-+Test "tan_downward (2) == -2.1850398632615189916433061023136825434320":
-+float: 1
-+ifloat: 1
-+Test "tan_downward (4) == 1.1578212823495775831373424182673239231198":
-+ildouble: 1
-+ldouble: 1
-+Test "tan_downward (5) == -3.3805150062465856369827058794473439087096":
-+ildouble: 1
-+ldouble: 1
-+Test "tan_downward (6) == -0.2910061913847491570536995888681755428312":
-+float: 1
-+ifloat: 1
-+Test "tan_downward (8) == -6.7997114552203786999252627596086333648814":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "tan_downward (9) == -0.4523156594418098405903708757987855343087":
-+float: 1
-+ifloat: 1
-+
-+# tan_tonearest
-+Test "tan_tonearest (6) == -0.2910061913847491570536995888681755428312":
-+ildouble: 1
-+ldouble: 1
-+Test "tan_tonearest (8) == -6.7997114552203786999252627596086333648814":
-+ildouble: 1
-+ldouble: 1
-+Test "tan_tonearest (9) == -0.4523156594418098405903708757987855343087":
-+ildouble: 1
-+ldouble: 1
-+
-+# tan_towardzero
-+Test "tan_towardzero (10) == 0.6483608274590866712591249330098086768169":
-+float: 1
-+ifloat: 1
-+Test "tan_towardzero (2) == -2.1850398632615189916433061023136825434320":
-+ildouble: 1
-+ldouble: 1
-+Test "tan_towardzero (3) == -0.1425465430742778052956354105339134932261":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "tan_towardzero (4) == 1.1578212823495775831373424182673239231198":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "tan_towardzero (5) == -3.3805150062465856369827058794473439087096":
-+float: 1
-+ifloat: 1
-+Test "tan_towardzero (6) == -0.2910061913847491570536995888681755428312":
-+ildouble: 1
-+ldouble: 1
-+Test "tan_towardzero (8) == -6.7997114552203786999252627596086333648814":
-+ildouble: 2
-+ldouble: 2
-+Test "tan_towardzero (9) == -0.4523156594418098405903708757987855343087":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+# tan_upward
-+Test "tan_upward (1) == 1.5574077246549022305069748074583601730873":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "tan_upward (10) == 0.6483608274590866712591249330098086768169":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "tan_upward (2) == -2.1850398632615189916433061023136825434320":
-+ildouble: 1
-+ldouble: 1
-+Test "tan_upward (3) == -0.1425465430742778052956354105339134932261":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+Test "tan_upward (5) == -3.3805150062465856369827058794473439087096":
-+float: 1
-+ifloat: 1
-+Test "tan_upward (6) == -0.2910061913847491570536995888681755428312":
-+ildouble: 1
-+ldouble: 1
-+Test "tan_upward (7) == 0.8714479827243187364564508896003135663222":
-+ildouble: 1
-+ldouble: 1
-+Test "tan_upward (8) == -6.7997114552203786999252627596086333648814":
-+ildouble: 2
-+ldouble: 2
-+Test "tan_upward (9) == -0.4523156594418098405903708757987855343087":
-+ildouble: 1
-+ldouble: 1
- # tgamma
- Test "tgamma (-0.5) == -2 sqrt (pi)":
-@@ -779,9 +1153,6 @@ double: 1
- float: 1
- idouble: 1
- ifloat: 1
--Test "tgamma (4) == 6":
--ildouble: 1
--ldouble: 1
- # y0
- Test "y0 (0.125) == -1.38968062514384052915582277745018693":
-@@ -960,27 +1331,17 @@ ildouble: 1
- ldouble: 1
- Function: Imaginary part of "cacos":
--float: 1
--ifloat: 1
- ildouble: 2
- ldouble: 2
- Function: Real part of "cacosh":
--double: 1
--float: 7
--idouble: 1
--ifloat: 7
--ildouble: 6
--ldouble: 6
--
--Function: Imaginary part of "cacosh":
--double: 1
--float: 3
--idouble: 1
--ifloat: 3
- ildouble: 1
- ldouble: 1
-+Function: Imaginary part of "cacosh":
-+float: 1
-+ifloat: 1
-+
- Function: Real part of "casin":
- double: 1
- float: 1
-@@ -990,8 +1351,6 @@ ildouble: 2
- ldouble: 2
- Function: Imaginary part of "casin":
--float: 1
--ifloat: 1
- ildouble: 2
- ldouble: 2
-@@ -1011,10 +1370,6 @@ ifloat: 6
- ildouble: 5
- ldouble: 5
--Function: Real part of "catan":
--float: 4
--ifloat: 4
--
- Function: Imaginary part of "catan":
- double: 1
- float: 1
-@@ -1027,10 +1382,6 @@ idouble: 4
- ildouble: 1
- ldouble: 1
--Function: Imaginary part of "catanh":
--float: 6
--ifloat: 6
--
- Function: "cbrt":
- double: 1
- idouble: 1
-@@ -1058,9 +1409,7 @@ idouble: 1
- ifloat: 1
- Function: Imaginary part of "ccosh":
--double: 1
- float: 1
--idouble: 1
- ifloat: 1
- ildouble: 1
- ldouble: 1
-@@ -1081,25 +1430,17 @@ ifloat: 1
- ildouble: 1
- ldouble: 1
--Function: Imaginary part of "clog":
--float: 3
--ifloat: 3
--
- Function: Real part of "clog10":
--double: 1
- float: 1
--idouble: 1
- ifloat: 1
- ildouble: 1
- ldouble: 1
- Function: Imaginary part of "clog10":
- double: 1
--float: 5
-+float: 1
- idouble: 1
--ifloat: 5
--ildouble: 1
--ldouble: 1
-+ifloat: 1
- Function: "cos":
- double: 2
-@@ -1109,11 +1450,55 @@ ifloat: 1
- ildouble: 1
- ldouble: 1
-+Function: "cos_downward":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "cos_tonearest":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "cos_towardzero":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "cos_upward":
-+float: 2
-+ifloat: 2
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "cosh_downward":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+
-+Function: "cosh_tonearest":
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "cosh_towardzero":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+
-+Function: "cosh_upward":
-+ildouble: 1
-+ldouble: 1
-+
- Function: Real part of "cpow":
- double: 2
--float: 5
-+float: 4
- idouble: 2
--ifloat: 5
-+ifloat: 4
- ildouble: 5
- ldouble: 5
-@@ -1129,16 +1514,8 @@ Function: Real part of "csin":
- ildouble: 1
- ldouble: 1
--Function: Imaginary part of "csin":
--double: 1
--float: 1
--idouble: 1
--ifloat: 1
--
- Function: Real part of "csinh":
--double: 1
- float: 1
--idouble: 1
- ifloat: 1
- ildouble: 1
- ldouble: 1
-@@ -1148,24 +1525,18 @@ double: 1
- float: 1
- idouble: 1
- ifloat: 1
--ildouble: 2
--ldouble: 2
- Function: Real part of "csqrt":
- float: 1
- ifloat: 1
- Function: Real part of "ctan":
--double: 1
--idouble: 1
--ildouble: 439
--ldouble: 439
-+ildouble: 1
-+ldouble: 1
- Function: Imaginary part of "ctan":
- double: 1
--float: 1
- idouble: 1
--ifloat: 1
- ildouble: 3
- ldouble: 3
-@@ -1174,16 +1545,16 @@ double: 1
- float: 2
- idouble: 1
- ifloat: 2
--ildouble: 5
--ldouble: 5
-+ildouble: 3
-+ldouble: 3
- Function: Imaginary part of "ctanh":
--float: 1
--ifloat: 1
--ildouble: 25
--ldouble: 25
- double: 1
-+float: 1
- idouble: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
- Function: "erf":
- double: 1
-@@ -1196,12 +1567,28 @@ ildouble: 1
- ldouble: 1
- Function: "exp10":
--ildouble: 8
--ldouble: 8
--float: 2
--ifloat: 2
- double: 6
-+float: 2
- idouble: 6
-+ifloat: 2
-+ildouble: 3
-+ldouble: 3
-+
-+Function: "exp_downward":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+
-+Function: "exp_towardzero":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+
-+Function: "exp_upward":
-+float: 1
-+ifloat: 1
- Function: "expm1":
- double: 1
-@@ -1250,17 +1637,59 @@ ildouble: 1
- ldouble: 1
- Function: "log10":
-+double: 1
- float: 2
-+idouble: 1
- ifloat: 2
- ildouble: 1
- ldouble: 1
--double: 1
--idouble: 1
- Function: "log1p":
- float: 1
- ifloat: 1
-+Function: "pow_downward":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "pow_towardzero":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "pow_upward":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "sin_downward":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "sin_tonearest":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "sin_towardzero":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "sin_upward":
-+float: 2
-+ifloat: 2
-+ildouble: 1
-+ldouble: 1
-+
- Function: "sincos":
- double: 1
- float: 1
-@@ -1269,10 +1698,52 @@ ifloat: 1
- ildouble: 1
- ldouble: 1
-+Function: "sinh_downward":
-+float: 1
-+ifloat: 1
-+ildouble: 5
-+ldouble: 5
-+
-+Function: "sinh_tonearest":
-+ildouble: 6
-+ldouble: 6
-+
-+Function: "sinh_towardzero":
-+float: 1
-+ifloat: 1
-+ildouble: 5
-+ldouble: 5
-+
-+Function: "sinh_upward":
-+ildouble: 27
-+ldouble: 27
-+
- Function: "tan":
- double: 1
- idouble: 1
-+Function: "tan_downward":
-+float: 1
-+ifloat: 1
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "tan_tonearest":
-+ildouble: 1
-+ldouble: 1
-+
-+Function: "tan_towardzero":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+
-+Function: "tan_upward":
-+float: 1
-+ifloat: 1
-+ildouble: 2
-+ldouble: 2
-+
- Function: "tgamma":
- double: 1
- float: 1
-diff -Nrup a/sysdeps/x86_64/fpu/math_private.h b/sysdeps/x86_64/fpu/math_private.h
---- a/sysdeps/x86_64/fpu/math_private.h        2010-05-04 05:27:23.000000000 -0600
-+++ b/sysdeps/x86_64/fpu/math_private.h        2012-08-06 09:54:00.893929393 -0600
-@@ -56,3 +56,82 @@ do {                                                                \
- } while (0)
- #endif
-+
-+
-+/* Specialized variants of the <fenv.h> interfaces which only handle
-+   either the FPU or the SSE unit.  */
-+#undef libc_fegetround
-+#define libc_fegetround() \
-+  ({                                                                        \
-+     unsigned int mxcsr;                                                    \
-+     asm volatile ("stmxcsr %0" : "=m" (*&mxcsr));                          \
-+     (mxcsr & 0x6000) >> 3;                                                 \
-+  })
-+#undef libc_fegetroundf
-+#define libc_fegetroundf() libc_fegetround ()
-+// #define libc_fegetroundl() fegetround ()
-+
-+#undef libc_fesetround
-+#define libc_fesetround(r) \
-+  do {                                                                              \
-+     unsigned int mxcsr;                                                    \
-+     asm ("stmxcsr %0" : "=m" (*&mxcsr));                                   \
-+     mxcsr = (mxcsr & ~0x6000) | ((r) << 3);                                \
-+     asm volatile ("ldmxcsr %0" : : "m" (*&mxcsr));                         \
-+  } while (0)
-+#undef libc_fesetroundf
-+#define libc_fesetroundf(r) libc_fesetround (r)
-+// #define libc_fesetroundl(r) (void) fesetround (r)
-+
-+#undef libc_feholdexcept
-+#define libc_feholdexcept(e) \
-+  do {                                                                              \
-+     unsigned int mxcsr;                                                    \
-+     asm ("stmxcsr %0" : "=m" (*&mxcsr));                                   \
-+     (e)->__mxcsr = mxcsr;                                                  \
-+     mxcsr = (mxcsr | 0x1f80) & ~0x3f;                                              \
-+     asm volatile ("ldmxcsr %0" : : "m" (*&mxcsr));                         \
-+  } while (0)
-+#undef libc_feholdexceptf
-+#define libc_feholdexceptf(e) libc_feholdexcept (e)
-+// #define libc_feholdexceptl(e) (void) feholdexcept (e)
-+
-+#undef libc_feholdexcept_setround
-+#define libc_feholdexcept_setround(e, r) \
-+  do {                                                                              \
-+     unsigned int mxcsr;                                                    \
-+     asm ("stmxcsr %0" : "=m" (*&mxcsr));                                   \
-+     (e)->__mxcsr = mxcsr;                                                  \
-+     mxcsr = ((mxcsr | 0x1f80) & ~0x603f) | ((r) << 3);                             \
-+     asm volatile ("ldmxcsr %0" : : "m" (*&mxcsr));                         \
-+  } while (0)
-+#undef libc_feholdexcept_setroundf
-+#define libc_feholdexcept_setroundf(e, r) libc_feholdexcept_setround (e, r)
-+// #define libc_feholdexcept_setroundl(e, r) ...
-+
-+#undef libc_fetestexcept
-+#define libc_fetestexcept(e) \
-+  ({ unsigned int mxcsr; asm volatile ("stmxcsr %0" : "=m" (*&mxcsr)); \
-+     mxcsr & (e) & FE_ALL_EXCEPT; })
-+#undef libc_fetestexceptf
-+#define libc_fetestexceptf(e) libc_fetestexcept (e)
-+// #define libc_fetestexceptl(e) fetestexcept (e)
-+
-+#undef libc_fesetenv
-+#define libc_fesetenv(e) \
-+  asm volatile ("ldmxcsr %0" : : "m" ((e)->__mxcsr))
-+#undef libc_fesetenvf
-+#define libc_fesetenvf(e) libc_fesetenv (e)
-+// #define libc_fesetenvl(e) (void) fesetenv (e)
-+
-+#undef libc_feupdateenv
-+#define libc_feupdateenv(e) \
-+  do {                                                                              \
-+    unsigned int mxcsr;                                                             \
-+    asm volatile ("stmxcsr %0" : "=m" (*&mxcsr));                           \
-+    asm volatile ("ldmxcsr %0" : : "m" ((e)->__mxcsr));                             \
-+    feraiseexcept (mxcsr & FE_ALL_EXCEPT);                                  \
-+  } while (0)
-+#undef libc_feupdateenvf
-+#define libc_feupdateenvf(e) libc_feupdateenv (e)
-+// #define libc_feupdateenvl(e) (void) feupdateenv (e)
diff --git a/src/patches/glibc/glibc-rh841787.patch b/src/patches/glibc/glibc-rh841787.patch
deleted file mode 100644 (file)
index 3cec783..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-diff -rup a/resolv/res_init.c b/resolv/res_init.c
---- a/resolv/res_init.c        2012-07-26 15:10:45.655638776 -0600
-+++ b/resolv/res_init.c        2012-07-26 15:11:27.731423002 -0600
-@@ -314,9 +314,9 @@ __res_vinit(res_state statp, int preinit
-                       cp++;
-                   if ((*cp != '\0') && (*cp != '\n')
-                       && __inet_aton(cp, &a)) {
--                      statp->nsaddr_list[nservall].sin_addr = a;
--                      statp->nsaddr_list[nservall].sin_family = AF_INET;
--                      statp->nsaddr_list[nservall].sin_port =
-+                      statp->nsaddr_list[nserv].sin_addr = a;
-+                      statp->nsaddr_list[nserv].sin_family = AF_INET;
-+                      statp->nsaddr_list[nserv].sin_port =
-                               htons(NAMESERVER_PORT);
-                       nserv++;
- #ifdef _LIBC
-diff -rup a/resolv/res_send.c b/resolv/res_send.c
---- a/resolv/res_send.c        2010-05-04 05:27:23.000000000 -0600
-+++ b/resolv/res_send.c        2012-07-26 15:34:58.398261659 -0600
-@@ -421,10 +421,10 @@ __libc_res_nsend(res_state statp, const
-                               EXT(statp).nsmap[n] = MAXNS;
-                       }
-               }
--              n = statp->nscount;
--              if (statp->nscount > EXT(statp).nscount)
-+              n = statp->nscount - EXT(statp).nscount6;
-+              if (n > EXT(statp).nscount)
-                       for (n = EXT(statp).nscount, ns = 0;
--                           n < statp->nscount; n++) {
-+                           n < statp->nscount - EXT(statp).nscount6; n++) {
-                               while (ns < MAXNS
-                                      && EXT(statp).nsmap[ns] != MAXNS)
-                                       ns++;
-@@ -441,7 +441,7 @@ __libc_res_nsend(res_state statp, const
-                                   malloc(sizeof (struct sockaddr_in6));
-                       if (EXT(statp).nsaddrs[n] != NULL) {
-                               memset (mempcpy(EXT(statp).nsaddrs[n],
--                                              &statp->nsaddr_list[n],
-+                                              &statp->nsaddr_list[ns],
-                                               sizeof (struct sockaddr_in)),
-                                       '\0',
-                                       sizeof (struct sockaddr_in6)
diff --git a/src/patches/glibc/glibc-rh843673.patch b/src/patches/glibc/glibc-rh843673.patch
deleted file mode 100644 (file)
index a2ff262..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-diff -Brup a/stdlib/msort.c b/stdlib/msort.c
---- a/stdlib/msort.c   2010-05-04 07:27:23.000000000 -0400
-+++ b/stdlib/msort.c   2012-08-07 13:30:14.131765346 -0400
-@@ -25,6 +25,8 @@
- #include <unistd.h>
- #include <memcopy.h>
- #include <errno.h>
-+#include <atomic.h>
-+
- struct msort_param
- {
-@@ -182,7 +184,7 @@ qsort_r (void *b, size_t n, size_t s, __
-       static long int phys_pages;
-       static int pagesize;
--      if (phys_pages == 0)
-+      if (pagesize == 0)
-       {
-         phys_pages = __sysconf (_SC_PHYS_PAGES);
-@@ -197,6 +199,9 @@ qsort_r (void *b, size_t n, size_t s, __
-            a quarter of the physical memory.  */
-         phys_pages /= 4;
-+          /* Make sure phys_pages is written to memory.  */
-+          atomic_write_barrier ();
-+
-         pagesize = __sysconf (_SC_PAGESIZE);
-       }
diff --git a/src/patches/glibc/glibc-rh845218.patch b/src/patches/glibc/glibc-rh845218.patch
deleted file mode 100644 (file)
index 47f909c..0000000
+++ /dev/null
@@ -1,218 +0,0 @@
-commit 16b293a7a6f65d8ff348a603d19e8fd4372fa3a9
-Author: Siddhesh Poyarekar <siddhesh@redhat.com>
-Date:   Wed Apr 30 11:48:43 2014 +0530
-
-    Do not fail if one of the two responses to AF_UNSPEC fails (BZ #14308)
-    
-    [Fixes BZ #14308, #12994, #13651]
-    
-    AF_UNSPEC results in sending two queries in parallel, one for the A
-    record and the other for the AAAA record.  If one of these is a
-    referral, then the query fails, which is wrong.  It should return at
-    least the one successful response.
-    
-    The fix has two parts.  The first part makes the referral fall back to
-    the SERVFAIL path, which results in using the successful response.
-    There is a bug in that path however, due to which the second part is
-    necessary.  The bug here is that if the first response is a failure
-    and the second succeeds, __libc_res_nsearch does not detect that and
-    assumes a failure.  The case where the first response is a success and
-    the second fails, works correctly.
-    
-    This condition is produced by buggy routers, so here's a crude
-    interposable library that can simulate such a condition.  The library
-    overrides the recvfrom syscall and modifies the header of the packet
-    received to reproduce this scenario.  It has two key variables:
-    mod_packet and first_error.
-    
-    The mod_packet variable when set to 0, results in odd packets being
-    modified to be a referral.  When set to 1, even packets are modified
-    to be a referral.
-    
-    The first_error causes the first response to be a failure so that a
-    domain-appended search is performed to test the second part of the
-    __libc_nsearch fix.
-    
-    The driver for this fix is a simple getaddrinfo program that does an
-    AF_UNSPEC query.  I have omitted this since it should be easy to
-    implement.
-    
-    I have tested this on x86_64.
-    
-    The interceptor library source:
-    
-    /* Override recvfrom and modify the header of the first DNS response to make it
-       a referral and reproduce bz #845218.  We have to resort to this ugly hack
-       because we cannot make bind return the buggy response of a referral for the
-       AAAA record and an authoritative response for the A record.  */
-     #define _GNU_SOURCE
-     #include <sys/types.h>
-     #include <sys/socket.h>
-     #include <netinet/in.h>
-     #include <arpa/inet.h>
-     #include <stdio.h>
-     #include <stdbool.h>
-     #include <endian.h>
-     #include <dlfcn.h>
-     #include <stdlib.h>
-    
-    /* Lifted from resolv/arpa/nameser_compat.h.  */
-    typedef struct {
-        unsigned        id :16;         /*%< query identification number */
-     #if BYTE_ORDER == BIG_ENDIAN
-        /* fields in third byte */
-        unsigned        qr: 1;          /*%< response flag */
-        unsigned        opcode: 4;      /*%< purpose of message */
-        unsigned        aa: 1;          /*%< authoritive answer */
-        unsigned        tc: 1;          /*%< truncated message */
-        unsigned        rd: 1;          /*%< recursion desired */
-        /* fields
-         * in
-         * fourth
-         * byte
-         * */
-        unsigned        ra: 1;          /*%< recursion available */
-        unsigned        unused :1;      /*%< unused bits (MBZ as of 4.9.3a3) */
-        unsigned        ad: 1;          /*%< authentic data from named */
-        unsigned        cd: 1;          /*%< checking disabled by resolver */
-        unsigned        rcode :4;       /*%< response code */
-     #endif
-     #if BYTE_ORDER == LITTLE_ENDIAN || BYTE_ORDER == PDP_ENDIAN
-        /* fields
-         * in
-         * third
-         * byte
-         * */
-        unsigned        rd :1;          /*%< recursion desired */
-        unsigned        tc :1;          /*%< truncated message */
-        unsigned        aa :1;          /*%< authoritive answer */
-        unsigned        opcode :4;      /*%< purpose of message */
-        unsigned        qr :1;          /*%< response flag */
-        /* fields
-         * in
-         * fourth
-         * byte
-         * */
-        unsigned        rcode :4;       /*%< response code */
-        unsigned        cd: 1;          /*%< checking disabled by resolver */
-        unsigned        ad: 1;          /*%< authentic data from named */
-        unsigned        unused :1;      /*%< unused bits (MBZ as of 4.9.3a3) */
-        unsigned        ra :1;          /*%< recursion available */
-     #endif
-        /* remaining
-         * bytes
-         * */
-        unsigned        qdcount :16;    /*%< number of question entries */
-        unsigned        ancount :16;    /*%< number of answer entries */
-        unsigned        nscount :16;    /*%< number of authority entries */
-        unsigned        arcount :16;    /*%< number of resource entries */
-    } HEADER;
-    
-    static int done = 0;
-    
-    /* Packets to modify.  0 for the odd packets and 1 for even packets.  */
-    static const int mod_packet = 0;
-    
-    /* Set to true if the first request should result in an error, resulting in a
-       search query.  */
-    static bool first_error = true;
-    
-    static ssize_t (*real_recvfrom) (int sockfd, void *buf, size_t len, int flags,
-                         struct sockaddr *src_addr, socklen_t *addrlen);
-    
-    void
-    __attribute__ ((constructor))
-    init (void)
-    {
-      real_recvfrom = dlsym (RTLD_NEXT, "recvfrom");
-    
-      if (real_recvfrom == NULL)
-        {
-          printf ("Failed to get reference to recvfrom: %s\n", dlerror ());
-          printf ("Cannot simulate test\n");
-          abort ();
-        }
-    }
-    
-    /* Modify the second packet that we receive to set the header in a manner as to
-       reproduce BZ #845218.  */
-    static void
-    mod_buf (HEADER *h, int port)
-    {
-      if (done % 2 == mod_packet || (first_error && done == 1))
-        {
-          printf ("(Modifying header)");
-    
-          if (first_error && done == 1)
-       h->rcode = 3;
-          else
-       h->rcode = 0;   /* NOERROR == 0.  */
-          h->ancount = 0;
-          h->aa = 0;
-          h->ra = 0;
-          h->arcount = 0;
-        }
-      done++;
-    }
-    
-    ssize_t
-    recvfrom (int sockfd, void *buf, size_t len, int flags,
-         struct sockaddr *src_addr, socklen_t *addrlen)
-    {
-      ssize_t ret = real_recvfrom (sockfd, buf, len, flags, src_addr, addrlen);
-      int port = htons (((struct sockaddr_in *) src_addr)->sin_port);
-      struct in_addr addr = ((struct sockaddr_in *) src_addr)->sin_addr;
-      const char *host = inet_ntoa (addr);
-      printf ("\n*** From %s:%d: ", host, port);
-    
-      mod_buf (buf, port);
-    
-      printf ("returned %zd\n", ret);
-      return ret;
-    }
-
-diff --git a/resolv/res_query.c b/resolv/res_query.c
-index a9db837..4e6612c 100644
---- a/resolv/res_query.c
-+++ b/resolv/res_query.c
-@@ -382,7 +382,9 @@ __libc_res_nsearch(res_state statp,
-               ret = __libc_res_nquerydomain(statp, name, NULL, class, type,
-                                             answer, anslen, answerp,
-                                             answerp2, nanswerp2, resplen2);
--              if (ret > 0 || trailing_dot)
-+              if (ret > 0 || trailing_dot
-+                  /* If the second response is valid then we use that.  */
-+                  || (ret == 0 && answerp2 != NULL && resplen2 > 0))
-                       return (ret);
-               saved_herrno = h_errno;
-               tried_as_is++;
-@@ -422,7 +424,8 @@ __libc_res_nsearch(res_state statp,
-                                                     answer, anslen, answerp,
-                                                     answerp2, nanswerp2,
-                                                     resplen2);
--                      if (ret > 0)
-+                      if (ret > 0 || (ret == 0 && answerp2 != NULL
-+                                      && resplen2 > 0))
-                               return (ret);
-                       if (answerp && *answerp != answer) {
-diff --git a/resolv/res_send.c b/resolv/res_send.c
-index 60743df..3273d55 100644
---- a/resolv/res_send.c
-+++ b/resolv/res_send.c
-@@ -1351,6 +1351,7 @@ send_dg(res_state statp,
-                               (*thisresplenp > *thisanssizp)
-                               ? *thisanssizp : *thisresplenp);
-+              next_ns:
-                       if (recvresp1 || (buf2 != NULL && recvresp2)) {
-                         *resplen2 = 0;
-                         return resplen;
-@@ -1368,7 +1369,6 @@ send_dg(res_state statp,
-                           goto wait;
-                         }
--              next_ns:
-                       __res_iclose(statp, false);
-                       /* don't retry if called from dig */
-                       if (!statp->pfcode)
diff --git a/src/patches/glibc/glibc-rh846342.patch b/src/patches/glibc/glibc-rh846342.patch
deleted file mode 100644 (file)
index 8cfca05..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-This is a workaround for broken code which issues memcpy requests with
-overlapping arguments.  With this patch installed, if the file
-/etc/sysconfig/32bit_ssse3_memcpy_via_32bit_ssse3_memmove exists then a
-32bit memcpy call which normally would be handled by the SSSE3 memcpy
-implementation would instead be handled by the 32bit SSSE3 memmove
-implementation which is more tolerant of overlaps.
-
-diff -Nrup a/sysdeps/i386/i686/multiarch/memcpy.S b/sysdeps/i386/i686/multiarch/memcpy.S
---- a/sysdeps/i386/i686/multiarch/memcpy.S     2010-05-04 05:27:23.000000000 -0600
-+++ b/sysdeps/i386/i686/multiarch/memcpy.S     2012-11-20 14:19:52.890780415 -0700
-@@ -21,6 +21,10 @@
- #include <sysdep.h>
- #include <init-arch.h>
-+        .section .rodata
-+L(magicfile):
-+      .ascii "/etc/sysconfig/32bit_ssse3_memcpy_via_32bit_ssse3_memmove"
-+
- /* Define multiple versions only for the definition in lib and for
-    DSO.  In static binaries we need memcpy before the initialization
-    happened.  */
-@@ -48,6 +52,26 @@ ENTRY(memcpy)
- 1:    leal    __memcpy_ia32@GOTOFF(%ebx), %eax
-       testl   $bit_SSSE3, CPUID_OFFSET+index_SSSE3+__cpu_features@GOTOFF(%ebx)
-       jz      2f
-+
-+      /* This is an inlined access (magicfile, 0) syscall.  
-+
-+         Note that it clobbers %ebx, so we have to save/restore
-+         it around the syscall.  */
-+      mov     %ebx, %edx
-+      leal    L(magicfile)@GOTOFF(%ebx), %ebx
-+      xor     %ecx, %ecx
-+      movl    $33, %eax
-+      int     $0x80
-+      mov     %edx, %ebx
-+
-+      /* If the file did not exist, then %eax will be -1..-4095 and we
-+         do nothing special.  */
-+      cmpl    $-4095, %eax
-+      jae     4f
-+
-+      leal    __memmove_ssse3@GOTOFF(%ebx), %eax
-+      jmp     2f
-+4:
-       leal    __memcpy_ssse3@GOTOFF(%ebx), %eax
-       testl   $bit_Fast_Rep_String, FEATURE_OFFSET+index_Fast_Rep_String+__cpu_features@GOTOFF(%ebx)
-       jz      2f
diff --git a/src/patches/glibc/glibc-rh847932.patch b/src/patches/glibc/glibc-rh847932.patch
deleted file mode 100644 (file)
index 33ea851..0000000
+++ /dev/null
@@ -1,364 +0,0 @@
-diff -Nrup a/stdlib/Makefile b/stdlib/Makefile
---- a/stdlib/Makefile  2010-05-04 05:27:23.000000000 -0600
-+++ b/stdlib/Makefile  2012-08-15 09:25:37.812443006 -0600
-@@ -71,7 +71,7 @@ tests                := tst-strtol tst-strtod testmb t
-                  tst-atof1 tst-atof2 tst-strtod2 tst-strtod3 tst-rand48-2 \
-                  tst-makecontext tst-strtod4 tst-strtod5 tst-qsort2       \
-                  tst-makecontext2 tst-strtod6 tst-unsetenv1               \
--                 tst-makecontext3
-+                 tst-makecontext3 tst-strtod-overflow
- include ../Makeconfig
-diff -Nrup a/stdlib/strtod_l.c b/stdlib/strtod_l.c
---- a/stdlib/strtod_l.c        2010-05-04 05:27:23.000000000 -0600
-+++ b/stdlib/strtod_l.c        2012-08-15 09:34:29.550281346 -0600
-@@ -62,6 +62,7 @@ extern unsigned long long int ____strtou
- #include <math.h>
- #include <stdlib.h>
- #include <string.h>
-+#include <stdint.h>
- /* The gmp headers need some configuration frobs.  */
- #define HAVE_ALLOCA 1
-@@ -176,19 +177,19 @@ extern const mp_limb_t _tens_in_limb[MAX
- /* Return a floating point number of the needed type according to the given
-    multi-precision number after possible rounding.  */
- static FLOAT
--round_and_return (mp_limb_t *retval, int exponent, int negative,
-+round_and_return (mp_limb_t *retval, intmax_t exponent, int negative,
-                 mp_limb_t round_limb, mp_size_t round_bit, int more_bits)
- {
-   if (exponent < MIN_EXP - 1)
-     {
--      mp_size_t shift = MIN_EXP - 1 - exponent;
--
--      if (shift > MANT_DIG)
-+      if (exponent < MIN_EXP - 1 - MANT_DIG)
-       {
-         __set_errno (EDOM);
-         return 0.0;
-       }
-+      mp_size_t shift = MIN_EXP - 1 - exponent;
-+
-       more_bits |= (round_limb & ((((mp_limb_t) 1) << round_bit) - 1)) != 0;
-       if (shift == MANT_DIG)
-       /* This is a special case to handle the very seldom case where
-@@ -235,6 +236,9 @@ round_and_return (mp_limb_t *retval, int
-       __set_errno (ERANGE);
-     }
-+  if (exponent > MAX_EXP)
-+    goto overflow;
-+
-   if ((round_limb & (((mp_limb_t) 1) << round_bit)) != 0
-       && (more_bits || (retval[0] & 1) != 0
-         || (round_limb & ((((mp_limb_t) 1) << round_bit) - 1)) != 0))
-@@ -260,6 +264,7 @@ round_and_return (mp_limb_t *retval, int
-     }
-   if (exponent > MAX_EXP)
-+  overflow:
-     return negative ? -FLOAT_HUGE_VAL : FLOAT_HUGE_VAL;
-   return MPN2FLOAT (retval, exponent, negative);
-@@ -273,7 +278,7 @@ round_and_return (mp_limb_t *retval, int
-    factor for the resulting number (see code) multiply by it.  */
- static const STRING_TYPE *
- str_to_mpn (const STRING_TYPE *str, int digcnt, mp_limb_t *n, mp_size_t *nsize,
--          int *exponent
-+          intmax_t *exponent
- #ifndef USE_WIDE_CHAR
-           , const char *decimal, size_t decimal_len, const char *thousands
- #endif
-@@ -337,7 +342,7 @@ str_to_mpn (const STRING_TYPE *str, int
-     }
-   while (--digcnt > 0);
--  if (*exponent > 0 && cnt + *exponent <= MAX_DIG_PER_LIMB)
-+  if (*exponent > 0 && *exponent <= MAX_DIG_PER_LIMB - cnt)
-     {
-       low *= _tens_in_limb[*exponent];
-       start = _tens_in_limb[cnt + *exponent];
-@@ -415,7 +420,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group
- {
-   int negative;                       /* The sign of the number.  */
-   MPN_VAR (num);              /* MP representation of the number.  */
--  int exponent;                       /* Exponent of the number.  */
-+  intmax_t exponent;          /* Exponent of the number.  */
-   /* Numbers starting `0X' or `0x' have to be processed with base 16.  */
-   int base = 10;
-@@ -437,7 +442,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group
-   /* Points at the character following the integer and fractional digits.  */
-   const STRING_TYPE *expp;
-   /* Total number of digit and number of digits in integer part.  */
--  int dig_no, int_no, lead_zero;
-+  size_t dig_no, int_no, lead_zero;
-   /* Contains the last character read.  */
-   CHAR_TYPE c;
-@@ -769,7 +774,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group
-      are all or any is really a fractional digit will be decided
-      later.  */
-   int_no = dig_no;
--  lead_zero = int_no == 0 ? -1 : 0;
-+  lead_zero = int_no == 0 ? (size_t) -1 : 0;
-   /* Read the fractional digits.  A special case are the 'american
-      style' numbers like `16.' i.e. with decimal point but without
-@@ -791,12 +796,13 @@ ____STRTOF_INTERNAL (nptr, endptr, group
-            (base == 16 && ({ CHAR_TYPE lo = TOLOWER (c);
-                              lo >= L_('a') && lo <= L_('f'); })))
-       {
--        if (c != L_('0') && lead_zero == -1)
-+        if (c != L_('0') && lead_zero == (size_t) -1)
-           lead_zero = dig_no - int_no;
-         ++dig_no;
-         c = *++cp;
-       }
-     }
-+  assert (dig_no <= (uintmax_t) INTMAX_MAX);
-   /* Remember start of exponent (if any).  */
-   expp = cp;
-@@ -819,24 +825,80 @@ ____STRTOF_INTERNAL (nptr, endptr, group
-       if (c >= L_('0') && c <= L_('9'))
-       {
--        int exp_limit;
-+        intmax_t exp_limit;
-         /* Get the exponent limit. */
-         if (base == 16)
--          exp_limit = (exp_negative ?
--                       -MIN_EXP + MANT_DIG + 4 * int_no :
--                       MAX_EXP - 4 * int_no + 4 * lead_zero + 3);
-+          {
-+            if (exp_negative)
-+              {
-+                assert (int_no <= (uintmax_t) (INTMAX_MAX
-+                                               + MIN_EXP - MANT_DIG) / 4);
-+                exp_limit = -MIN_EXP + MANT_DIG + 4 * (intmax_t) int_no;
-+              }
-+            else
-+              {
-+                if (int_no)
-+                  {
-+                    assert (lead_zero == 0
-+                            && int_no <= (uintmax_t) INTMAX_MAX / 4);
-+                    exp_limit = MAX_EXP - 4 * (intmax_t) int_no + 3;
-+                  }
-+                else if (lead_zero == (size_t) -1)
-+                  {
-+                    /* The number is zero and this limit is
-+                       arbitrary.  */
-+                    exp_limit = MAX_EXP + 3;
-+                  }
-+                else
-+                  {
-+                    assert (lead_zero
-+                            <= (uintmax_t) (INTMAX_MAX - MAX_EXP - 3) / 4);
-+                    exp_limit = (MAX_EXP
-+                                 + 4 * (intmax_t) lead_zero
-+                                 + 3);
-+                  }
-+              }
-+          }
-         else
--          exp_limit = (exp_negative ?
--                       -MIN_10_EXP + MANT_DIG + int_no :
--                       MAX_10_EXP - int_no + lead_zero + 1);
-+          {
-+            if (exp_negative)
-+              {
-+                assert (int_no
-+                        <= (uintmax_t) (INTMAX_MAX + MIN_10_EXP - MANT_DIG));
-+                exp_limit = -MIN_10_EXP + MANT_DIG + (intmax_t) int_no;
-+              }
-+            else
-+              {
-+                if (int_no)
-+                  {
-+                    assert (lead_zero == 0
-+                            && int_no <= (uintmax_t) INTMAX_MAX);
-+                    exp_limit = MAX_10_EXP - (intmax_t) int_no + 1;
-+                  }
-+                else if (lead_zero == (size_t) -1)
-+                  {
-+                    /* The number is zero and this limit is
-+                       arbitrary.  */
-+                    exp_limit = MAX_10_EXP + 1;
-+                  }
-+                else
-+                  {
-+                    assert (lead_zero
-+                            <= (uintmax_t) (INTMAX_MAX - MAX_10_EXP - 1));
-+                    exp_limit = MAX_10_EXP + (intmax_t) lead_zero + 1;
-+                  }
-+              }
-+          }
-+
-+        if (exp_limit < 0)
-+          exp_limit = 0;
-         do
-           {
--            exponent *= 10;
--            exponent += c - L_('0');
--
--            if (__builtin_expect (exponent > exp_limit, 0))
-+            if (__builtin_expect ((exponent > exp_limit / 10
-+                                  || (exponent == exp_limit / 10
-+                                      && c - L_('0') > exp_limit % 10)), 0))
-               /* The exponent is too large/small to represent a valid
-                  number.  */
-               {
-@@ -845,7 +907,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group
-                 /* We have to take care for special situation: a joker
-                    might have written "0.0e100000" which is in fact
-                    zero.  */
--                if (lead_zero == -1)
-+                if (lead_zero == (size_t) -1)
-                   result = negative ? -0.0 : 0.0;
-                 else
-                   {
-@@ -864,6 +926,9 @@ ____STRTOF_INTERNAL (nptr, endptr, group
-                 /* NOTREACHED */
-               }
-+            exponent *= 10;
-+            exponent += c - L_('0');
-+
-             c = *++cp;
-           }
-         while (c >= L_('0') && c <= L_('9'));
-@@ -932,7 +997,14 @@ ____STRTOF_INTERNAL (nptr, endptr, group
-       }
- #endif
-       startp += lead_zero + decimal_len;
--      exponent -= base == 16 ? 4 * lead_zero : lead_zero;
-+      assert (lead_zero <= (base == 16
-+                          ? (uintmax_t) INTMAX_MAX / 4
-+                          : (uintmax_t) INTMAX_MAX));
-+      assert (lead_zero <= (base == 16
-+                          ? ((uintmax_t) exponent
-+                             - (uintmax_t) INTMAX_MIN) / 4
-+                          : ((uintmax_t) exponent - (uintmax_t) INTMAX_MIN)));
-+      exponent -= base == 16 ? 4 * (intmax_t) lead_zero : (intmax_t) lead_zero;
-       dig_no -= lead_zero;
-     }
-@@ -974,7 +1046,10 @@ ____STRTOF_INTERNAL (nptr, endptr, group
-       }
-       /* Adjust the exponent for the bits we are shifting in.  */
--      exponent += bits - 1 + (int_no - 1) * 4;
-+      assert (int_no <= (uintmax_t) (exponent < 0
-+                                   ? (INTMAX_MAX - bits + 1) / 4
-+                                   : (INTMAX_MAX - exponent - bits + 1) / 4));
-+      exponent += bits - 1 + ((intmax_t) int_no - 1) * 4;
-       while (--dig_no > 0 && idx >= 0)
-       {
-@@ -1014,13 +1089,15 @@ ____STRTOF_INTERNAL (nptr, endptr, group
-      really integer digits or belong to the fractional part; i.e. we normalize
-      123e-2 to 1.23.  */
-   {
--    register int incr = (exponent < 0 ? MAX (-int_no, exponent)
--                       : MIN (dig_no - int_no, exponent));
-+    register intmax_t incr = (exponent < 0
-+                            ? MAX (-(intmax_t) int_no, exponent)
-+                            : MIN ((intmax_t) dig_no - (intmax_t) int_no,
-+                                   exponent));
-     int_no += incr;
-     exponent -= incr;
-   }
--  if (__builtin_expect (int_no + exponent > MAX_10_EXP + 1, 0))
-+  if (__builtin_expect (exponent > MAX_10_EXP + 1 - (intmax_t) int_no, 0))
-     {
-       __set_errno (ERANGE);
-       return negative ? -FLOAT_HUGE_VAL : FLOAT_HUGE_VAL;
-@@ -1205,7 +1282,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group
-        digits we should have enough bits for the result.  The remaining
-        decimal digits give us the information that more bits are following.
-        This can be used while rounding.  (Two added as a safety margin.)  */
--    if (dig_no - int_no > (MANT_DIG - bits + 2) / 3 + 2)
-+    if ((intmax_t) dig_no > (intmax_t) int_no + (MANT_DIG - bits + 2) / 3 + 2)
-       {
-       dig_no = int_no + (MANT_DIG - bits + 2) / 3 + 2;
-       more_bits = 1;
-@@ -1213,7 +1290,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group
-     else
-       more_bits = 0;
--    neg_exp = dig_no - int_no - exponent;
-+    neg_exp = (intmax_t) dig_no - (intmax_t) int_no - exponent;
-     /* Construct the denominator.  */
-     densize = 0;
-@@ -1491,7 +1568,9 @@ ____STRTOF_INTERNAL (nptr, endptr, group
-                         register int i;
-                         (void) __mpn_lshift (&retval[used
-                                                      / BITS_PER_MP_LIMB],
--                                             retval, RETURN_LIMB_SIZE,
-+                                             retval,
-+                                             (RETURN_LIMB_SIZE
-+                                              - used / BITS_PER_MP_LIMB),
-                                              used % BITS_PER_MP_LIMB);
-                         for (i = used / BITS_PER_MP_LIMB - 1; i >= 0; --i)
-                           retval[i] = 0;
-diff -Nrup a/stdlib/tst-strtod-overflow.c b/stdlib/tst-strtod-overflow.c
---- a/stdlib/tst-strtod-overflow.c     1969-12-31 17:00:00.000000000 -0700
-+++ b/stdlib/tst-strtod-overflow.c     2012-08-15 09:25:01.098592764 -0600
-@@ -0,0 +1,48 @@
-+/* Test for integer/buffer overflow in strtod.
-+   Copyright (C) 2012 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, see
-+   <http://www.gnu.org/licenses/>.  */
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+
-+#define EXPONENT "e-2147483649"
-+#define SIZE 214748364
-+
-+static int
-+do_test (void)
-+{
-+  char *p = malloc (1 + SIZE + sizeof (EXPONENT));
-+  if (p == NULL)
-+    {
-+      puts ("malloc failed, cannot test for overflow");
-+      return 0;
-+    }
-+  p[0] = '1';
-+  memset (p + 1, '0', SIZE);
-+  memcpy (p + 1 + SIZE, EXPONENT, sizeof (EXPONENT));
-+  double d = strtod (p, NULL);
-+  if (d != 0)
-+    {
-+      printf ("strtod returned wrong value: %a\n", d);
-+      return 1;
-+    }
-+  return 0;
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
diff --git a/src/patches/glibc/glibc-rh848082.patch b/src/patches/glibc/glibc-rh848082.patch
deleted file mode 100644 (file)
index dfb96bf..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-commit 4f031072a5055abd83717820b59efdaa463d5853
-Author: Ulrich Drepper <drepper@gmail.com>
-Date:   Sat May 28 16:59:30 2011 -0400
-
-    Handle failure of _nl_explode_name in all cases
-
- 2011-05-28  Ulrich Drepper  <drepper@gmail.com>
-       * locale/findlocale.c (_nl_find_locale): Return right away if
-       _nl_explode_name failed.
-       * locale/programs/locarchive.c (add_locale_to_archive): Likewise.
-
-diff --git a/locale/findlocale.c b/locale/findlocale.c
-index 6b88c96..2fec9a7 100644
---- a/locale/findlocale.c
-+++ b/locale/findlocale.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 1996-2001, 2002, 2003, 2006, 2010 Free Software Foundation, Inc.
-+/* Copyright (C) 1996-2003, 2006, 2010, 2011 Free Software Foundation, Inc.
-    This file is part of the GNU C Library.
-    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
-@@ -140,6 +140,9 @@ _nl_find_locale (const char *locale_path, size_t locale_path_len,
-    */
-   mask = _nl_explode_name (loc_name, &language, &modifier, &territory,
-                          &codeset, &normalized_codeset);
-+  if (mask == -1)
-+    /* Memory allocate problem.  */
-+    return NULL;
-   /* If exactly this locale was already asked for we have an entry with
-      the complete name.  */
-diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c
-index 85ba77d..e95bcf1 100644
---- a/locale/programs/locarchive.c
-+++ b/locale/programs/locarchive.c
-@@ -1,4 +1,4 @@
--/* Copyright (C) 2002, 2003, 2005, 2007, 2009 Free Software Foundation, Inc.
-+/* Copyright (C) 2002,2003,2005,2007,2009,2011 Free Software Foundation, Inc.
-    This file is part of the GNU C Library.
-    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
-@@ -1079,6 +1079,8 @@ add_locale_to_archive (ah, name, data, replace)
-   int mask = _nl_explode_name (strdupa (name),
-                              &language, &modifier, &territory,
-                              &codeset, &normalized_codeset);
-+  if (mask == -1)
-+    return -1;
-   if (mask & XPG_NORM_CODESET)
-     /* This name contains a codeset in unnormalized form.
-@@ -1128,6 +1130,7 @@ add_locale_to_archive (ah, name, data, replace)
-   /* Now read the locale.alias files looking for lines whose
-      right hand side matches our name after normalization.  */
-+  int result = 0;
-   if (alias_file != NULL)
-     {
-       FILE *fp;
-@@ -1207,6 +1210,11 @@ add_locale_to_archive (ah, name, data, replace)
-                                                    &rhs_territory,
-                                                    &rhs_codeset,
-                                                    &rhs_normalized_codeset);
-+                  if (rhs_mask == 1)
-+                    {
-+                      result = -1;
-+                      goto out;
-+                    }
-                   if (!strcmp (language, rhs_language)
-                       && ((rhs_mask & XPG_CODESET)
-                           /* He has a codeset, it must match normalized.  */
-@@ -1240,6 +1248,7 @@ add_locale_to_archive (ah, name, data, replace)
-           }
-       }
-+    out:
-       fclose (fp);
-     }
-@@ -1248,7 +1257,7 @@ add_locale_to_archive (ah, name, data, replace)
-   if (mask & XPG_NORM_CODESET)
-     free ((char *) normalized_codeset);
--  return 0;
-+  return result;
- }
diff --git a/src/patches/glibc/glibc-rh848748.patch b/src/patches/glibc/glibc-rh848748.patch
deleted file mode 100644 (file)
index b75a368..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-2013-04-30  Patsy Franklin <pfrankli@redhat.com>
-
-        * nis/yp_xdr.c: Defined XDRMAXNAME and XDRMAXRECORD.
-        (xdr_domainname): Use XDRMAXNAME as maxsize.
-        (xdr_mapname): Use XDRMAXNAME as maxsize.
-        (xdr_peername): Use XDRMAXNAME as maxsize.
-        (xdr_keydat): Use XDRMAXRECORD as maxsize.
-        (xdr_valdat): Use XDRMAXRECORD as maxsize.
-
-diff -Nrup a/nis/yp_xdr.c b/nis/yp_xdr.c
---- a/nis/yp_xdr.c     2012-06-30 15:12:34.000000000 -0400
-+++ b/nis/yp_xdr.c     2013-04-30 05:36:02.492835503 -0400
-@@ -32,6 +32,14 @@
- #include <rpcsvc/yp.h>
- #include <rpcsvc/ypclnt.h>
-+/* The specification suggests 1024 as a maximum length of all fields,
-+   but current linux systems usually don't use any limits. So, to stay
-+   as much compatible as possible with recent linux systems we choose
-+   limits large enough to avoid problems. */
-+
-+#define XDRMAXNAME 1024
-+#define XDRMAXRECORD 16 * 1024 * 1024
-+
- bool_t
- xdr_ypstat (XDR *xdrs, ypstat *objp)
- {
-@@ -49,21 +57,21 @@ libnsl_hidden_def (xdr_ypxfrstat)
- bool_t
- xdr_domainname (XDR *xdrs, domainname *objp)
- {
--  return xdr_string (xdrs, objp, ~0);
-+  return xdr_string (xdrs, objp, XDRMAXNAME);
- }
- libnsl_hidden_def (xdr_domainname)
- bool_t
- xdr_mapname (XDR *xdrs, mapname *objp)
- {
--  return xdr_string (xdrs, objp, ~0);
-+  return xdr_string (xdrs, objp, XDRMAXNAME);
- }
- libnsl_hidden_def (xdr_mapname)
- bool_t
- xdr_peername (XDR *xdrs, peername *objp)
- {
--  return xdr_string (xdrs, objp, ~0);
-+  return xdr_string (xdrs, objp, XDRMAXNAME);
- }
- libnsl_hidden_def (xdr_peername)
-@@ -71,7 +79,7 @@ bool_t
- xdr_keydat (XDR *xdrs, keydat *objp)
- {
-   return xdr_bytes (xdrs, (char **) &objp->keydat_val,
--                  (u_int *) &objp->keydat_len, ~0);
-+                  (u_int *) &objp->keydat_len, XDRMAXRECORD);
- }
- libnsl_hidden_def (xdr_keydat)
-@@ -79,7 +87,7 @@ bool_t
- xdr_valdat (XDR *xdrs, valdat *objp)
- {
-   return xdr_bytes (xdrs, (char **) &objp->valdat_val,
--                  (u_int *) &objp->valdat_len, ~0);
-+                  (u_int *) &objp->valdat_len, XDRMAXRECORD);
- }
- libnsl_hidden_def (xdr_valdat)
diff --git a/src/patches/glibc/glibc-rh849203.patch b/src/patches/glibc/glibc-rh849203.patch
deleted file mode 100644 (file)
index ea50593..0000000
+++ /dev/null
@@ -1,195 +0,0 @@
-diff -Nrup a/intl/Makefile b/intl/Makefile
---- a/intl/Makefile    2010-05-04 05:27:23.000000000 -0600
-+++ b/intl/Makefile    2012-08-17 14:40:00.457226629 -0600
-@@ -74,6 +74,16 @@ ifneq (no,$(PERL))
- tests: $(objpfx)mtrace-tst-gettext
- endif
- endif
-+
-+# Multiple tests use this data.  Create it once to avoid racing and
-+# spurious test failures.
-+codeset_mo = $(objpfx)domaindir/de_DE/LC_MESSAGES/codeset.mo
-+
-+$(codeset_mo):
-+      $(make-target-directory)
-+      msgfmt -o $@T tstcodeset.po
-+      mv -f $@T $@
-+
- $(objpfx)mtrace-tst-gettext: $(objpfx)tst-gettext.out
-       $(common-objpfx)malloc/mtrace $(objpfx)tst-gettext.mtrace > $@
- $(objpfx)tst-gettext.out: tst-gettext.sh $(objpfx)tst-gettext
-@@ -83,16 +93,14 @@ $(objpfx)tst-translit.out: tst-translit.
-       $(SHELL) -e $< $(common-objpfx) $(common-objpfx)intl/
- $(objpfx)tst-gettext2.out: tst-gettext2.sh $(objpfx)tst-gettext2
-       $(SHELL) -e $< $(common-objpfx) $(common-objpfx)intl/
--$(objpfx)tst-codeset.out: tst-codeset.sh $(objpfx)tst-codeset
--      $(SHELL) -e $< $(common-objpfx) $(common-objpfx)intl/
--$(objpfx)tst-gettext3.out: tst-gettext3.sh $(objpfx)tst-gettext3
--      $(SHELL) -e $< $(common-objpfx) $(common-objpfx)intl/
- $(objpfx)tst-gettext4.out: tst-gettext4.sh $(objpfx)tst-gettext4
-       $(SHELL) -e $< $(common-objpfx) '$(run-program-prefix)' $(common-objpfx)intl/
--$(objpfx)tst-gettext5.out: tst-gettext5.sh $(objpfx)tst-gettext5
--      $(SHELL) -e $< $(common-objpfx) '$(run-program-prefix)' $(common-objpfx)intl/
- $(objpfx)tst-gettext6.out: tst-gettext6.sh $(objpfx)tst-gettext6
-       $(SHELL) -e $< $(common-objpfx) '$(run-program-prefix)' $(common-objpfx)intl/
-+
-+$(objpfx)tst-codeset.out: $(codeset_mo)
-+$(objpfx)tst-gettext3.out: $(codeset_mo)
-+$(objpfx)tst-gettext5.out: $(codeset_mo)
- endif
- endif
-@@ -109,6 +117,11 @@ CFLAGS-tst-gettext4.c = -DOBJPFX=\"$(obj
- CFLAGS-tst-gettext5.c = -DOBJPFX=\"$(objpfx)\"
- CFLAGS-tst-gettext6.c = -DOBJPFX=\"$(objpfx)\"
-+LOCPATH-ENV = LOCPATH=$(common-objpfx)localedata
-+tst-codeset-ENV = $(LOCPATH-ENV)
-+tst-gettext3-ENV = $(LOCPATH-ENV)
-+tst-gettext5-ENV = $(LOCPATH-ENV)
-+
- ifeq ($(have-thread-library),yes)
- ifeq (yes,$(build-shared))
- $(addprefix $(objpfx),$(multithread-test-srcs)): $(shared-thread-library)
-diff -Nrup a/intl/tst-codeset.sh b/intl/tst-codeset.sh
---- a/intl/tst-codeset.sh      2010-05-04 05:27:23.000000000 -0600
-+++ b/intl/tst-codeset.sh      1969-12-31 17:00:00.000000000 -0700
-@@ -1,43 +0,0 @@
--#! /bin/sh
--# Test of bind_textdomain_codeset.
--# Copyright (C) 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
--# 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.
--
--common_objpfx=$1
--objpfx=$2
--
--LC_ALL=C
--export LC_ALL
--
--# Generate the test data.
--msgfmt -o ${objpfx}codeset.mo.$$ tstcodeset.po || exit
--# Create the domain directories.
--mkdir -p ${objpfx}domaindir/de_DE/LC_MESSAGES
--# Populate them.
--mv -f ${objpfx}codeset.mo.$$ ${objpfx}domaindir/de_DE/LC_MESSAGES/codeset.mo
--
--GCONV_PATH=${common_objpfx}iconvdata
--export GCONV_PATH
--LOCPATH=${common_objpfx}localedata
--export LOCPATH
--
--${common_objpfx}elf/ld.so --library-path $common_objpfx \
--${objpfx}tst-codeset > ${objpfx}tst-codeset.out
--
--exit $?
-diff -Nrup a/intl/tst-gettext3.sh b/intl/tst-gettext3.sh
---- a/intl/tst-gettext3.sh     2010-05-04 05:27:23.000000000 -0600
-+++ b/intl/tst-gettext3.sh     1969-12-31 17:00:00.000000000 -0700
-@@ -1,44 +0,0 @@
--#! /bin/sh
--# Test that the gettext() results come out in the correct encoding for
--# locales that differ only in their encoding.
--# Copyright (C) 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
--# 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.
--
--common_objpfx=$1
--objpfx=$2
--
--LC_ALL=C
--export LC_ALL
--
--# Generate the test data.
--msgfmt -o ${objpfx}codeset.mo.$$ tstcodeset.po || exit
--# Create the domain directories.
--mkdir -p ${objpfx}domaindir/de_DE/LC_MESSAGES
--# Populate them.
--mv -f ${objpfx}codeset.mo.$$ ${objpfx}domaindir/de_DE/LC_MESSAGES/codeset.mo
--
--GCONV_PATH=${common_objpfx}iconvdata
--export GCONV_PATH
--LOCPATH=${common_objpfx}localedata
--export LOCPATH
--
--${common_objpfx}elf/ld.so --library-path $common_objpfx \
--${objpfx}tst-gettext3 > ${objpfx}tst-gettext3.out
--
--exit $?
-diff -Nrup a/intl/tst-gettext5.sh b/intl/tst-gettext5.sh
---- a/intl/tst-gettext5.sh     2010-05-04 05:27:23.000000000 -0600
-+++ b/intl/tst-gettext5.sh     1969-12-31 17:00:00.000000000 -0700
-@@ -1,43 +0,0 @@
--#! /bin/sh
--# Test that gettext() in multithreaded applications works correctly if
--# different threads operate in different locales referring to the same
--# catalog file but with different encodings.
--# Copyright (C) 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
--# 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.
--
--common_objpfx=$1
--run_program_prefix=$2
--objpfx=$3
--
--LC_ALL=C
--export LC_ALL
--
--# Create the domain directories.
--mkdir -p ${objpfx}domaindir/de_DE/LC_MESSAGES
--# Populate them.
--msgfmt -o ${objpfx}domaindir/de_DE/LC_MESSAGES/codeset.mo tstcodeset.po
--
--GCONV_PATH=${common_objpfx}iconvdata
--export GCONV_PATH
--LOCPATH=${common_objpfx}localedata
--export LOCPATH
--
--${run_program_prefix} ${objpfx}tst-gettext5 > ${objpfx}tst-gettext5.out
--
--exit $?
diff --git a/src/patches/glibc/glibc-rh849651.patch b/src/patches/glibc/glibc-rh849651.patch
deleted file mode 100644 (file)
index 97a5144..0000000
+++ /dev/null
@@ -1,343 +0,0 @@
-diff -Nrup a/sysdeps/x86_64/fpu/e_expf.S b/sysdeps/x86_64/fpu/e_expf.S
---- a/sysdeps/x86_64/fpu/e_expf.S      1969-12-31 17:00:00.000000000 -0700
-+++ b/sysdeps/x86_64/fpu/e_expf.S      2012-08-20 09:47:15.551971545 -0600
-@@ -0,0 +1,339 @@
-+/* Optimized __ieee754_expf function.
-+   Copyright (C) 2012 Free Software Foundation, Inc.
-+   Contributed by Intel Corporation.
-+   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, see
-+   <http://www.gnu.org/licenses/>.  */
-+
-+#include <sysdep.h>
-+
-+/* Short algorithm description:
-+ *
-+ *  Let K = 64 (table size).
-+ *       e^x  = 2^(x/log(2)) = 2^n * T[j] * (1 + P(y))
-+ *  where
-+ *       x = m*log(2)/K + y,    y in [0.0..log(2)/K]
-+ *       m = n*K + j,           m,n,j - signed integer, j in [0..K-1]
-+ *       values of 2^(j/K) are tabulated as T[j].
-+ *
-+ *       P(y) is a minimax polynomial approximation of expf(x)-1
-+ *       on small interval [0.0..log(2)/K].
-+ *
-+ *       P(y) = P3*y*y*y*y + P2*y*y*y + P1*y*y + P0*y, calculated as
-+ *       z = y*y;    P(y) = (P3*z + P1)*z + (P2*z + P0)*y
-+ *
-+ * Special cases:
-+ *  expf(NaN) = NaN
-+ *  expf(+INF) = +INF
-+ *  expf(-INF) = 0
-+ *  expf(x) = 1 for subnormals
-+ *  for finite argument, only expf(0)=1 is exact
-+ *  expf(x) overflows if x>88.7228317260742190
-+ *  expf(x) underflows if x<-103.972076416015620
-+ */
-+
-+      .text
-+ENTRY(__ieee754_expf)
-+      /* Input: single precision x in %xmm0 */
-+      cvtss2sd        %xmm0, %xmm1    /* Convert x to double precision */
-+      movd    %xmm0, %ecx             /* Copy x */
-+      movsd   L(DP_KLN2)(%rip), %xmm2 /* DP K/log(2) */
-+      movsd   L(DP_P2)(%rip), %xmm3   /* DP P2 */
-+      movl    %ecx, %eax              /* x */
-+      mulsd   %xmm1, %xmm2            /* DP x*K/log(2) */
-+      andl    $0x7fffffff, %ecx       /* |x| */
-+      lea     L(DP_T)(%rip), %rsi     /* address of table T[j] */
-+      cmpl    $0x42ad496b, %ecx       /* |x|<125*log(2) ? */
-+      movsd   L(DP_P3)(%rip), %xmm4   /* DP P3 */
-+      addsd   L(DP_RS)(%rip), %xmm2   /* DP x*K/log(2)+RS */
-+      jae     L(special_paths)
-+
-+      /* Here if |x|<125*log(2) */
-+      cmpl    $0x31800000, %ecx       /* |x|<2^(-28) ? */
-+      jb      L(small_arg)
-+
-+      /* Main path: here if 2^(-28)<=|x|<125*log(2) */
-+      cvtsd2ss        %xmm2, %xmm2    /* SP x*K/log(2)+RS */
-+      movd    %xmm2, %eax             /* bits of n*K+j with trash */
-+      subss   L(SP_RS)(%rip), %xmm2   /* SP t=round(x*K/log(2)) */
-+      movl    %eax, %edx              /* n*K+j with trash */
-+      cvtss2sd        %xmm2, %xmm2    /* DP t */
-+      andl    $0x3f, %eax             /* bits of j */
-+      mulsd   L(DP_NLN2K)(%rip), %xmm2/* DP -t*log(2)/K */
-+      andl    $0xffffffc0, %edx       /* bits of n */
-+#ifdef __AVX__
-+      vaddsd  %xmm1, %xmm2, %xmm0     /* DP y=x-t*log(2)/K */
-+      vmulsd  %xmm0, %xmm0, %xmm2     /* DP z=y*y */
-+#else
-+      addsd   %xmm1, %xmm2            /* DP y=x-t*log(2)/K */
-+      movaps  %xmm2, %xmm0            /* DP y */
-+      mulsd   %xmm2, %xmm2            /* DP z=y*y */
-+#endif
-+      mulsd   %xmm2, %xmm4            /* DP P3*z */
-+      addl    $0x1fc0, %edx           /* bits of n + SP exponent bias */
-+      mulsd   %xmm2, %xmm3            /* DP P2*z */
-+      shll    $17, %edx               /* SP 2^n */
-+      addsd   L(DP_P1)(%rip), %xmm4   /* DP P3*z+P1 */
-+      addsd   L(DP_P0)(%rip), %xmm3   /* DP P2*z+P0 */
-+      movd    %edx, %xmm1             /* SP 2^n */
-+      mulsd   %xmm2, %xmm4            /* DP (P3*z+P1)*z */
-+      mulsd   %xmm3, %xmm0            /* DP (P2*z+P0)*y */
-+      addsd   %xmm4, %xmm0            /* DP P(y) */
-+      mulsd   (%rsi,%rax,8), %xmm0    /* DP P(y)*T[j] */
-+      addsd   (%rsi,%rax,8), %xmm0    /* DP T[j]*(P(y)+1) */
-+      cvtsd2ss        %xmm0, %xmm0    /* SP T[j]*(P(y)+1) */
-+      mulss   %xmm1, %xmm0            /* SP result=2^n*(T[j]*(P(y)+1)) */
-+      ret
-+
-+      .p2align        4
-+L(small_arg):
-+      /* Here if 0<=|x|<2^(-28) */
-+      addss   L(SP_ONE)(%rip), %xmm0  /* 1.0 + x */
-+      /* Return 1.0 with inexact raised, except for x==0 */
-+      ret
-+
-+      .p2align        4
-+L(special_paths):
-+      /* Here if 125*log(2)<=|x| */
-+      shrl    $31, %eax               /* Get sign bit of x, and depending on it: */
-+      lea     L(SP_RANGE)(%rip), %rdx /* load over/underflow bound */
-+      cmpl    (%rdx,%rax,4), %ecx     /* |x|<under/overflow bound ? */
-+      jbe     L(near_under_or_overflow)
-+
-+      /* Here if |x|>under/overflow bound */
-+      cmpl    $0x7f800000, %ecx       /* |x| is finite ? */
-+      jae     L(arg_inf_or_nan)
-+
-+      /* Here if |x|>under/overflow bound, and x is finite */
-+      testq   %rax, %rax              /* sign of x nonzero ? */
-+      je      L(res_overflow)
-+
-+      /* Here if -inf<x<underflow bound (x<0) */
-+      movss   L(SP_SMALL)(%rip), %xmm0/* load small value 2^(-100) */
-+      mulss   %xmm0, %xmm0            /* Return underflowed result (zero or subnormal) */
-+      ret
-+
-+      .p2align        4
-+L(res_overflow):
-+      /* Here if overflow bound<x<inf (x>0) */
-+      movss   L(SP_LARGE)(%rip), %xmm0/* load large value 2^100 */
-+      mulss   %xmm0, %xmm0            /* Return overflowed result (Inf or max normal) */
-+      ret
-+
-+      .p2align        4
-+L(arg_inf_or_nan):
-+      /* Here if |x| is Inf or NAN */
-+      jne     L(arg_nan)      /* |x| is Inf ? */
-+
-+      /* Here if |x| is Inf */
-+      lea     L(SP_INF_0)(%rip), %rdx /* depending on sign of x: */
-+      movss   (%rdx,%rax,4), %xmm0    /* return zero or Inf */
-+      ret
-+
-+      .p2align        4
-+L(arg_nan):
-+      /* Here if |x| is NaN */
-+      addss   %xmm0, %xmm0            /* Return x+x (raise invalid) */
-+      ret
-+
-+      .p2align        4
-+L(near_under_or_overflow):
-+      /* Here if 125*log(2)<=|x|<under/overflow bound */
-+      cvtsd2ss        %xmm2, %xmm2    /* SP x*K/log(2)+RS */
-+      movd    %xmm2, %eax             /* bits of n*K+j with trash */
-+      subss   L(SP_RS)(%rip), %xmm2   /* SP t=round(x*K/log(2)) */
-+      movl    %eax, %edx              /* n*K+j with trash */
-+      cvtss2sd        %xmm2, %xmm2    /* DP t */
-+      andl    $0x3f, %eax             /* bits of j */
-+      mulsd   L(DP_NLN2K)(%rip), %xmm2/* DP -t*log(2)/K */
-+      andl    $0xffffffc0, %edx       /* bits of n */
-+#ifdef __AVX__
-+      vaddsd  %xmm1, %xmm2, %xmm0     /* DP y=x-t*log(2)/K */
-+      vmulsd  %xmm0, %xmm0, %xmm2     /* DP z=y*y */
-+#else
-+      addsd   %xmm1, %xmm2            /* DP y=x-t*log(2)/K */
-+      movaps  %xmm2, %xmm0            /* DP y */
-+      mulsd   %xmm2, %xmm2            /* DP z=y*y */
-+#endif
-+      mulsd   %xmm2, %xmm4            /* DP P3*z */
-+      addl    $0xffc0, %edx           /* bits of n + DP exponent bias */
-+      mulsd   %xmm2, %xmm3            /* DP P2*z */
-+      shlq    $46, %rdx               /* DP 2^n */
-+      addsd   L(DP_P1)(%rip), %xmm4   /* DP P3*z+P1 */
-+      addsd   L(DP_P0)(%rip), %xmm3   /* DP P2*z+P0 */
-+      movd    %rdx, %xmm1             /* DP 2^n */
-+      mulsd   %xmm2, %xmm4            /* DP (P3*z+P1)*z */
-+      mulsd   %xmm3, %xmm0            /* DP (P2*z+P0)*y */
-+      addsd   %xmm4, %xmm0            /* DP P(y) */
-+      mulsd   (%rsi,%rax,8), %xmm0    /* DP P(y)*T[j] */
-+      addsd   (%rsi,%rax,8), %xmm0    /* DP T[j]*(P(y)+1) */
-+      mulsd   %xmm1, %xmm0            /* DP result=2^n*(T[j]*(P(y)+1)) */
-+      cvtsd2ss        %xmm0, %xmm0    /* convert result to single precision */
-+      ret
-+END(__ieee754_expf)
-+
-+      .section .rodata, "a"
-+      .p2align 3
-+L(DP_T): /* table of double precision values 2^(j/K) for j=[0..K-1] */
-+      .long   0x00000000, 0x3ff00000
-+      .long   0x3e778061, 0x3ff02c9a
-+      .long   0xd3158574, 0x3ff059b0
-+      .long   0x18759bc8, 0x3ff08745
-+      .long   0x6cf9890f, 0x3ff0b558
-+      .long   0x32d3d1a2, 0x3ff0e3ec
-+      .long   0xd0125b51, 0x3ff11301
-+      .long   0xaea92de0, 0x3ff1429a
-+      .long   0x3c7d517b, 0x3ff172b8
-+      .long   0xeb6fcb75, 0x3ff1a35b
-+      .long   0x3168b9aa, 0x3ff1d487
-+      .long   0x88628cd6, 0x3ff2063b
-+      .long   0x6e756238, 0x3ff2387a
-+      .long   0x65e27cdd, 0x3ff26b45
-+      .long   0xf51fdee1, 0x3ff29e9d
-+      .long   0xa6e4030b, 0x3ff2d285
-+      .long   0x0a31b715, 0x3ff306fe
-+      .long   0xb26416ff, 0x3ff33c08
-+      .long   0x373aa9cb, 0x3ff371a7
-+      .long   0x34e59ff7, 0x3ff3a7db
-+      .long   0x4c123422, 0x3ff3dea6
-+      .long   0x21f72e2a, 0x3ff4160a
-+      .long   0x6061892d, 0x3ff44e08
-+      .long   0xb5c13cd0, 0x3ff486a2
-+      .long   0xd5362a27, 0x3ff4bfda
-+      .long   0x769d2ca7, 0x3ff4f9b2
-+      .long   0x569d4f82, 0x3ff5342b
-+      .long   0x36b527da, 0x3ff56f47
-+      .long   0xdd485429, 0x3ff5ab07
-+      .long   0x15ad2148, 0x3ff5e76f
-+      .long   0xb03a5585, 0x3ff6247e
-+      .long   0x82552225, 0x3ff66238
-+      .long   0x667f3bcd, 0x3ff6a09e
-+      .long   0x3c651a2f, 0x3ff6dfb2
-+      .long   0xe8ec5f74, 0x3ff71f75
-+      .long   0x564267c9, 0x3ff75feb
-+      .long   0x73eb0187, 0x3ff7a114
-+      .long   0x36cf4e62, 0x3ff7e2f3
-+      .long   0x994cce13, 0x3ff82589
-+      .long   0x9b4492ed, 0x3ff868d9
-+      .long   0x422aa0db, 0x3ff8ace5
-+      .long   0x99157736, 0x3ff8f1ae
-+      .long   0xb0cdc5e5, 0x3ff93737
-+      .long   0x9fde4e50, 0x3ff97d82
-+      .long   0x82a3f090, 0x3ff9c491
-+      .long   0x7b5de565, 0x3ffa0c66
-+      .long   0xb23e255d, 0x3ffa5503
-+      .long   0x5579fdbf, 0x3ffa9e6b
-+      .long   0x995ad3ad, 0x3ffae89f
-+      .long   0xb84f15fb, 0x3ffb33a2
-+      .long   0xf2fb5e47, 0x3ffb7f76
-+      .long   0x904bc1d2, 0x3ffbcc1e
-+      .long   0xdd85529c, 0x3ffc199b
-+      .long   0x2e57d14b, 0x3ffc67f1
-+      .long   0xdcef9069, 0x3ffcb720
-+      .long   0x4a07897c, 0x3ffd072d
-+      .long   0xdcfba487, 0x3ffd5818
-+      .long   0x03db3285, 0x3ffda9e6
-+      .long   0x337b9b5f, 0x3ffdfc97
-+      .long   0xe78b3ff6, 0x3ffe502e
-+      .long   0xa2a490da, 0x3ffea4af
-+      .long   0xee615a27, 0x3ffefa1b
-+      .long   0x5b6e4540, 0x3fff5076
-+      .long   0x819e90d8, 0x3fffa7c1
-+      .type L(DP_T), @object
-+      ASM_SIZE_DIRECTIVE(L(DP_T))
-+
-+      .section .rodata.cst8,"aM",@progbits,8
-+      .p2align 3
-+L(DP_KLN2): /* double precision K/log(2) */
-+      .long   0x652b82fe, 0x40571547
-+      .type L(DP_KLN2), @object
-+      ASM_SIZE_DIRECTIVE(L(DP_KLN2))
-+
-+      .p2align 3
-+L(DP_NLN2K): /* double precision -log(2)/K */
-+      .long   0xfefa39ef, 0xbf862e42
-+      .type L(DP_NLN2K), @object
-+      ASM_SIZE_DIRECTIVE(L(DP_NLN2K))
-+
-+      .p2align 3
-+L(DP_RS): /* double precision 2^23+2^22 */
-+      .long   0x00000000, 0x41680000
-+      .type L(DP_RS), @object
-+      ASM_SIZE_DIRECTIVE(L(DP_RS))
-+
-+      .p2align 3
-+L(DP_P3): /* double precision polynomial coefficient P3 */
-+      .long   0xeb78fa85, 0x3fa56420
-+      .type L(DP_P3), @object
-+      ASM_SIZE_DIRECTIVE(L(DP_P3))
-+
-+      .p2align 3
-+L(DP_P1): /* double precision polynomial coefficient P1 */
-+      .long   0x008d6118, 0x3fe00000
-+      .type L(DP_P1), @object
-+      ASM_SIZE_DIRECTIVE(L(DP_P1))
-+
-+      .p2align 3
-+L(DP_P2): /* double precision polynomial coefficient P2 */
-+      .long   0xda752d4f, 0x3fc55550
-+      .type L(DP_P2), @object
-+      ASM_SIZE_DIRECTIVE(L(DP_P2))
-+
-+      .p2align 3
-+L(DP_P0): /* double precision polynomial coefficient P0 */
-+      .long   0xffffe7c6, 0x3fefffff
-+      .type L(DP_P0), @object
-+      ASM_SIZE_DIRECTIVE(L(DP_P0))
-+
-+      .p2align 2
-+L(SP_RANGE): /* single precision overflow/underflow bounds */
-+      .long   0x42b17217      /* if x>this bound, then result overflows */
-+      .long   0x42cff1b4      /* if x<this bound, then result underflows */
-+      .type L(SP_RANGE), @object
-+      ASM_SIZE_DIRECTIVE(L(SP_RANGE))
-+
-+      .p2align 2
-+L(SP_INF_0):
-+      .long   0x7f800000      /* single precision Inf */
-+      .long   0               /* single precision zero */
-+      .type L(SP_INF_0), @object
-+      ASM_SIZE_DIRECTIVE(L(SP_INF_0))
-+
-+      .section .rodata.cst4,"aM",@progbits,4
-+      .p2align 2
-+L(SP_RS): /* single precision 2^23+2^22 */
-+      .long   0x4b400000
-+      .type L(SP_RS), @object
-+      ASM_SIZE_DIRECTIVE(L(SP_RS))
-+
-+      .p2align 2
-+L(SP_SMALL): /* single precision small value 2^(-100) */
-+      .long   0x0d800000
-+      .type L(SP_SMALL), @object
-+      ASM_SIZE_DIRECTIVE(L(SP_SMALL))
-+
-+      .p2align 2
-+L(SP_LARGE): /* single precision large value 2^100 */
-+      .long   0x71800000
-+      .type L(SP_LARGE), @object
-+      ASM_SIZE_DIRECTIVE(L(SP_LARGE))
-+
-+      .p2align 2
-+L(SP_ONE): /* single precision 1.0 */
-+      .long   0x3f800000
-+      .type L(SP_ONE), @object
-+      ASM_SIZE_DIRECTIVE(L(SP_ONE))
-+
-+strong_alias (__ieee754_expf, __expf_finite)
diff --git a/src/patches/glibc/glibc-rh851470.patch b/src/patches/glibc/glibc-rh851470.patch
deleted file mode 100644 (file)
index 94915da..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-commit 050af9c4e86eeecd484ed44b7765e750523276eb
-Author: Siddhesh Poyarekar <siddhesh@redhat.com>
-Date:   Wed Aug 29 10:03:39 2012 +0530
-
-    Don't make ttyname* fail if proc filesystem is not available
-    
-    The ttyname and ttyname_r functions on Linux now fall back to
-    searching for the tty file descriptor in /dev/pts or /dev if /proc is
-    not available.  This allows creation of chroots without the procfs
-    mounted on /proc.
-    
-    Fixes BZ #14516.
-
- 2012-08-29  Siddhesh Poyarekar  <siddhesh@redhat.com>
-       [BZ #14516]
-       * sysdeps/unix/sysv/linux/ttyname.c (ttyname): Don't return
-       failure if reading from procfs failed.
-       * sysdeps/unix/sysv/linux/ttyname_r.c (ttyname_r): Likewise.
-diff -rup a/sysdeps/unix/sysv/linux/ttyname.c b/sysdeps/unix/sysv/linux/ttyname.c
---- a/sysdeps/unix/sysv/linux/ttyname.c        2010-05-04 05:27:23.000000000 -0600
-+++ b/sysdeps/unix/sysv/linux/ttyname.c        2012-08-27 10:53:29.326671475 -0600
-@@ -146,12 +146,6 @@ ttyname (int fd)
-     }
-   ssize_t len = __readlink (procname, ttyname_buf, buflen);
--  if (__builtin_expect (len == -1 && errno == ENOENT, 0))
--    {
--      __set_errno (EBADF);
--      return NULL;
--    }
--
-   if (__builtin_expect (len != -1
- #ifndef __ASSUME_PROC_SELF_FD_SYMLINK
-                       /* This is for Linux 2.0.  */
-diff -rup a/sysdeps/unix/sysv/linux/ttyname_r.c b/sysdeps/unix/sysv/linux/ttyname_r.c
---- a/sysdeps/unix/sysv/linux/ttyname_r.c      2010-05-04 05:27:23.000000000 -0600
-+++ b/sysdeps/unix/sysv/linux/ttyname_r.c      2012-08-27 10:54:05.406528501 -0600
-@@ -126,12 +126,6 @@ __ttyname_r (int fd, char *buf, size_t b
-   *_fitoa_word (fd, __stpcpy (procname, "/proc/self/fd/"), 10, 0) = '\0';
-   ssize_t ret = __readlink (procname, buf, buflen - 1);
--  if (__builtin_expect (ret == -1 && errno == ENOENT, 0))
--    {
--      __set_errno (EBADF);
--      return EBADF;
--    }
--
-   if (__builtin_expect (ret == -1 && errno == ENAMETOOLONG, 0))
-     {
-       __set_errno (ERANGE);
diff --git a/src/patches/glibc/glibc-rh852445.patch b/src/patches/glibc/glibc-rh852445.patch
deleted file mode 100644 (file)
index 3c4e13f..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-From libc-alpha-return-31329-listarch-libc-alpha=sources dot redhat dot com at sourceware dot org Wed Jul 11 11:36:39 2012
-Return-Path: <libc-alpha-return-31329-listarch-libc-alpha=sources dot redhat dot com at sourceware dot org>
-Delivered-To: listarch-libc-alpha at sources dot redhat dot com
-Received: (qmail 15677 invoked by alias); 11 Jul 2012 11:36:39 -0000
-Received: (qmail 15654 invoked by uid 22791); 11 Jul 2012 11:36:37 -0000
-X-SWARE-Spam-Status: No, hits=-4.3 required=5.0
-       tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,KHOP_RCVD_TRUST,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE
-X-Spam-Check-By: sourceware.org
-Date: Wed, 11 Jul 2012 21:06:06 +0930
-From: Alan Modra <amodra at gmail dot com>
-To: libc-alpha at sourceware dot org
-Cc: rsa at linux dot vnet dot ibm dot com
-Subject: powerpc pthread_once bug fix
-Message-ID: <20120711113606.GM3117@bubble.grove.modra.org>
-MIME-Version: 1.0
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: inline
-User-Agent: Mutt/1.5.21 (2010-09-15)
-Mailing-List: contact libc-alpha-help at sourceware dot org; run by ezmlm
-Precedence: bulk
-List-Id: <libc-alpha.sourceware.org>
-List-Subscribe: <mailto:libc-alpha-subscribe at sourceware dot org>
-List-Archive: <http://sourceware.org/ml/libc-alpha/>
-List-Post: <mailto:libc-alpha at sourceware dot org>
-List-Help: <mailto:libc-alpha-help at sourceware dot org>, <http://sourceware dot org/ml/#faqs>
-Sender: libc-alpha-owner at sourceware dot org
-Delivered-To: mailing list libc-alpha at sourceware dot org
-
-This fixes some bugs in the powerpc pthread_once code.  Ref
-gcc.gnu.org/bugzilla/show_bug.cgi?id=52839#c10
-
-Release barriers are needed to ensure any memory written by
-init_routine is seen by other threads before *once_control changes.
-In the case of clear_once_control we need to flush any partially
-written state.
-
-2012-06-28  Alan Modra  <amodra@gmail.com>
-
-       * sysdeps/unix/sysv/linux/powerpc/pthread_once.c (__pthread_once):
-       Add release barrier before setting once_control to say
-       initialisation is done.  Add hints on lwarx.  Use macro in
-       place of isync.
-       (clear_once_control): Add release barrier.
-
-[ This was slightly edited -- the constraint for operand 0 in the last asm was changed
-  from "=&r" to "=&b" as using r0 in that context results in a load immediate 1 into
-  the target rather than incrementing the target. ]
-
-diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/pthread_once.c b/nptl/sysdeps/unix/sysv/linux/powerpc/pthread_once.c
-index 4e3d7bd..bb1ebf2 100644
---- a/nptl/sysdeps/unix/sysv/linux/powerpc/pthread_once.c
-+++ b/nptl/sysdeps/unix/sysv/linux/powerpc/pthread_once.c
-@@ -28,6 +28,7 @@ clear_once_control (void *arg)
- {
-   pthread_once_t *once_control = (pthread_once_t *) arg;
-+  __asm __volatile (__lll_rel_instr);
-   *once_control = 0;
-   lll_futex_wake (once_control, INT_MAX, LLL_PRIVATE);
- }
-@@ -47,15 +48,15 @@ __pthread_once (pthread_once_t *once_control, void (*init_routine) (void))
-        oldval = *once_control;
-        if ((oldval & 2) == 0)
-          *once_control = newval;
--       Do this atomically.
-+       Do this atomically with an acquire barrier.
-       */
-       newval = __fork_generation | 1;
--      __asm __volatile ("1:   lwarx   %0,0,%3\n"
-+      __asm __volatile ("1:   lwarx   %0,0,%3" MUTEX_HINT_ACQ "\n"
-                       "       andi.   %1,%0,2\n"
-                       "       bne     2f\n"
-                       "       stwcx.  %4,0,%3\n"
-                       "       bne     1b\n"
--                      "2:     isync"
-+                      "2:     " __lll_acq_instr
-                       : "=&r" (oldval), "=&r" (tmp), "=m" (*once_control)
-                       : "r" (once_control), "r" (newval), "m" (*once_control)
-                       : "cr0");
-@@ -87,8 +88,18 @@ __pthread_once (pthread_once_t *once_control, void (*init_routine) (void))
-   pthread_cleanup_pop (0);
--  /* Add one to *once_control to take the bottom 2 bits from 01 to 10.  */
--  atomic_increment (once_control);
-+  /* Add one to *once_control to take the bottom 2 bits from 01 to 10.
-+     A release barrier is needed to ensure memory written by init_routine
-+     is seen in other threads before *once_control changes.  */
-+  int tmp;
-+  __asm __volatile (__lll_rel_instr "\n"
-+                  "1: lwarx   %0,0,%2" MUTEX_HINT_REL "\n"
-+                  "   addi    %0,%0,1\n"
-+                  "   stwcx.  %0,0,%2\n"
-+                  "   bne-    1b"
-+                  : "=&b" (tmp), "=m" (*once_control)
-+                  : "r" (once_control), "m" (*once_control)
-+                  : "cr0");
-   /* Wake up all other threads.  */
-   lll_futex_wake (once_control, INT_MAX, LLL_PRIVATE);
-
--- 
-Alan Modra
-Australia Development Lab, IBM
-
diff --git a/src/patches/glibc/glibc-rh859965.patch b/src/patches/glibc/glibc-rh859965.patch
deleted file mode 100644 (file)
index 8fcbcd4..0000000
+++ /dev/null
@@ -1,854 +0,0 @@
-#
-# Based on the following patch:
-#
-# Upstream bug: https://sourceware.org/bugzilla/show_bug.cgi?id=14906
-# URL: https://sourceware.org/ml/libc-alpha/2015-02/msg00504.html
-#
-# 2015-02-17  Carlos O'Donell  <carlos@redhat.com>
-#  
-#      [BZ #14906]
-#      * nscd/cache.c (prune_cache): Use TRACED_FILE. Compare and update
-#      traced file mtime. Use consistent log message.
-#      * nscd/connections.c [HAVE_INOTIFY] (install_watches): New function.
-#      (register_traced_file): Call install_watches. Always set mtime.
-#      (invalidate_cache): Iterate over all trace files. Call install_watches.
-#      (inotify_check_files): Don't inline. Handle watching parent
-#      directories and configuration file movement in and out.
-#      (handle_inotify_events): New function.
-#      (main_loop_poll): Call handle_inotify_events.
-#      (main_loop_epoll): Likewise.
-#      * nscd/nscd.h: Define TRACED_FILE, TRACED_DIR, and PATH_MAX.
-#      (struct traced_file): Use array of inotify fds. Add parent directory,
-#      and basename.
-#      (struct database_dyn): Remove unused file_mtime.
-#      (init_traced_file): New inline function.
-#      (define_traced_file): New macro.
-#      * nss/nss_db/db-init.c: Use define_traced_file.
-#      (_nss_db_init): Use init_traced_file.
-#      * nss/nss_files/files-init.c: Use define_traced_file.
-#      (_nss_files_init): Use init_traced_file.
-# 
-diff -urN glibc-2.12-2-gc4ccff1.orig/misc/sys/cdefs.h glibc-2.12-2-gc4ccff1.mod1/misc/sys/cdefs.h
---- glibc-2.12-2-gc4ccff1.orig/misc/sys/cdefs.h        2015-02-18 04:42:12.115187116 -0500
-+++ glibc-2.12-2-gc4ccff1.mod1/misc/sys/cdefs.h        2015-02-18 04:02:03.635159090 -0500
-@@ -362,6 +362,14 @@
- # endif
- #endif
-+#if __GNUC__ >= 3
-+# define __glibc_unlikely(cond) __builtin_expect ((cond), 0)
-+# define __glibc_likely(cond)   __builtin_expect ((cond), 1)
-+#else
-+# define __glibc_unlikely(cond) (cond)
-+# define __glibc_likely(cond)   (cond)
-+#endif
-+
- #include <bits/wordsize.h>
- #if defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH
-diff -urN glibc-2.12-2-gc4ccff1.orig/nscd/cache.c glibc-2.12-2-gc4ccff1.mod1/nscd/cache.c
---- glibc-2.12-2-gc4ccff1.orig/nscd/cache.c    2015-02-18 04:42:12.329180362 -0500
-+++ glibc-2.12-2-gc4ccff1.mod1/nscd/cache.c    2015-02-18 04:02:03.635159090 -0500
-@@ -266,29 +266,52 @@
-   /* If we check for the modification of the underlying file we invalidate
-      the entries also in this case.  */
--  if (table->inotify_descr < 0 && table->check_file && now != LONG_MAX)
-+  if (table->check_file && now != LONG_MAX)
-     {
--      struct stat64 st;
-+      struct traced_file *runp = table->traced_files;
--      if (stat64 (table->filename, &st) < 0)
-+      while (runp != NULL)
-       {
--        char buf[128];
--        /* We cannot stat() the file, disable file checking if the
--             file does not exist.  */
--        dbg_log (_("cannot stat() file `%s': %s"),
--                 table->filename, strerror_r (errno, buf, sizeof (buf)));
--        if (errno == ENOENT)
--          table->check_file = 0;
--      }
--      else
--      {
--        if (st.st_mtime != table->file_mtime)
-+#ifdef HAVE_INOTIFY
-+        if (runp->inotify_descr[TRACED_FILE] == -1)
-+#endif
-           {
--            /* The file changed.  Invalidate all entries.  */
--            now = LONG_MAX;
--            table->file_mtime = st.st_mtime;
-+            struct stat64 st;
-+
-+            if (stat64 (runp->fname, &st) < 0)
-+              {
-+                /* Print a diagnostic that the traced file was missing.
-+                   We must not disable tracing since the file might return
-+                   shortly and we want to reload it at the next pruning.
-+                   Disabling tracing here would go against the configuration
-+                   as specified by the user via check-files.  */
-+                char buf[128];
-+                dbg_log (_("checking for monitored file `%s': %s"),
-+                         runp->fname, strerror_r (errno, buf, sizeof (buf)));
-+              }
-+            else
-+              {
-+                /* This must be `!=` to catch cases where users turn the
-+                   clocks back and we still want to detect any time difference
-+                   in mtime.  */
-+                if (st.st_mtime != runp->mtime)
-+                  {
-+                    dbg_log (_("monitored file `%s` changed (mtime)"),
-+                             runp->fname);
-+                    /* The file changed. Invalidate all entries.  */
-+                    now = LONG_MAX;
-+                    runp->mtime = st.st_mtime;
-+#ifdef HAVE_INOTIFY
-+                    /* Attempt to install a watch on the file.  */
-+                    install_watches (runp);
-+#endif
-+                  }
-+              }
-           }
-+
-+        runp = runp->next;
-       }
-+
-     }
-   /* We run through the table and find values which are not valid anymore.
-diff -urN glibc-2.12-2-gc4ccff1.orig/nscd/connections.c glibc-2.12-2-gc4ccff1.mod1/nscd/connections.c
---- glibc-2.12-2-gc4ccff1.orig/nscd/connections.c      2015-02-18 04:42:12.333180236 -0500
-+++ glibc-2.12-2-gc4ccff1.mod1/nscd/connections.c      2015-02-18 04:40:51.674726008 -0500
-@@ -74,6 +74,25 @@
- static void begin_drop_privileges (void);
- static void finish_drop_privileges (void);
-+/* Define the traced files.  */
-+#define PWD_FILENAME "/etc/passwd"
-+define_traced_file (pwd, PWD_FILENAME);
-+
-+#define GRP_FILENAME "/etc/group"
-+define_traced_file (grp, GRP_FILENAME);
-+
-+#define HST_FILENAME "/etc/hosts"
-+define_traced_file (hst, HST_FILENAME);
-+
-+#define RESOLV_FILENAME "/etc/resolv.conf"
-+define_traced_file (resolv, RESOLV_FILENAME);
-+
-+#define SERV_FILENAME "/etc/services"
-+define_traced_file (serv, SERV_FILENAME);
-+
-+#define NETGR_FILENAME "/etc/netgroup"
-+define_traced_file (netgr, NETGR_FILENAME);
-+
- /* Map request type to a string.  */
- const char *const serv2str[LASTREQ] =
- {
-@@ -115,8 +134,6 @@
-     .shared = 0,
-     .max_db_size = DEFAULT_MAX_DB_SIZE,
-     .suggested_module = DEFAULT_SUGGESTED_MODULE,
--   .reset_res = 0,
--    .filename = "/etc/passwd",
-     .db_filename = _PATH_NSCD_PASSWD_DB,
-     .disabled_iov = &pwd_iov_disabled,
-     .postimeout = 3600,
-@@ -136,8 +153,6 @@
-     .shared = 0,
-     .max_db_size = DEFAULT_MAX_DB_SIZE,
-     .suggested_module = DEFAULT_SUGGESTED_MODULE,
--    .reset_res = 0,
--    .filename = "/etc/group",
-     .db_filename = _PATH_NSCD_GROUP_DB,
-     .disabled_iov = &grp_iov_disabled,
-     .postimeout = 3600,
-@@ -157,8 +172,6 @@
-     .shared = 0,
-     .max_db_size = DEFAULT_MAX_DB_SIZE,
-     .suggested_module = DEFAULT_SUGGESTED_MODULE,
--    .reset_res = 1,
--    .filename = "/etc/hosts",
-     .db_filename = _PATH_NSCD_HOSTS_DB,
-     .disabled_iov = &hst_iov_disabled,
-     .postimeout = 3600,
-@@ -178,8 +191,6 @@
-     .shared = 0,
-     .max_db_size = DEFAULT_MAX_DB_SIZE,
-     .suggested_module = DEFAULT_SUGGESTED_MODULE,
--    .reset_res = 0,
--    .filename = "/etc/services",
-     .db_filename = _PATH_NSCD_SERVICES_DB,
-     .disabled_iov = &serv_iov_disabled,
-     .postimeout = 28800,
-@@ -199,8 +210,6 @@
-     .shared = 0,
-     .max_db_size = DEFAULT_MAX_DB_SIZE,
-     .suggested_module = DEFAULT_SUGGESTED_MODULE,
--    .reset_res = 0,
--    .filename = "/etc/netgroup",
-     .db_filename = _PATH_NSCD_NETGROUP_DB,
-     .disabled_iov = &netgroup_iov_disabled,
-     .postimeout = 28800,
-@@ -863,41 +872,26 @@
-           dbs[cnt].shared = 0;
-           assert (dbs[cnt].ro_fd == -1);
-         }
-+      }
--      dbs[cnt].inotify_descr = -1;
--      if (dbs[cnt].check_file)
--        {
--#ifdef HAVE_INOTIFY
--          if (inotify_fd < 0
--              || (dbs[cnt].inotify_descr
--                  = inotify_add_watch (inotify_fd, dbs[cnt].filename,
--                                       IN_DELETE_SELF | IN_MODIFY)) < 0)
--            /* We cannot notice changes in the main thread.  */
--#endif
--            {
--              /* We need the modification date of the file.  */
--              struct stat64 st;
-+  /* Initialize and register the traced files.  */
-+  init_traced_file (&pwd_traced_file.file, PWD_FILENAME, 0);
-+  register_traced_file (pwddb, &pwd_traced_file.file);
--              if (stat64 (dbs[cnt].filename, &st) < 0)
--                {
--                  /* We cannot stat() the file, disable file checking.  */
--                  dbg_log (_("cannot stat() file `%s': %s"),
--                           dbs[cnt].filename, strerror (errno));
--                  dbs[cnt].check_file = 0;
--                }
--              else
--                dbs[cnt].file_mtime = st.st_mtime;
--            }
--        }
-+  init_traced_file (&grp_traced_file.file, GRP_FILENAME, 0);
-+  register_traced_file (grpdb, &grp_traced_file.file);
--#ifdef HAVE_INOTIFY
--      if (cnt == hstdb && inotify_fd >= -1)
--        /* We also monitor the resolver configuration file.  */
--        resolv_conf_descr = inotify_add_watch (inotify_fd,
--                                               _PATH_RESCONF,
--                                               IN_DELETE_SELF | IN_MODIFY);
--#endif
--      }
-+  init_traced_file (&hst_traced_file.file, HST_FILENAME, 0);
-+  register_traced_file (hstdb, &hst_traced_file.file);
-+
-+  init_traced_file (&resolv_traced_file.file, RESOLV_FILENAME, 1);
-+  register_traced_file (hstdb, &resolv_traced_file.file);
-+
-+  init_traced_file (&serv_traced_file.file, SERV_FILENAME, 0);
-+  register_traced_file (servdb, &serv_traced_file.file);
-+
-+  init_traced_file (&netgr_traced_file.file, NETGR_FILENAME, 0);
-+  register_traced_file (netgrdb, &netgr_traced_file.file);
-   /* Create the socket.  */
- #ifndef __ASSUME_SOCK_CLOEXEC
-@@ -968,6 +962,92 @@
-     finish_drop_privileges ();
- }
-+#ifdef HAVE_INOTIFY
-+#define TRACED_FILE_MASK (IN_DELETE_SELF | IN_CLOSE_WRITE | IN_MOVE_SELF)
-+#define TRACED_DIR_MASK (IN_DELETE_SELF | IN_CREATE | IN_MOVED_TO | IN_MOVE_SELF)
-+void
-+install_watches (struct traced_file *finfo)
-+{
-+  /* If we have inotify support use it exclusively with no fallback
-+     to stat.  This is a design decision to make the implementation
-+     sipmler.  Either we use fstat for the file name or we use inotify
-+     for both the file and parent directory.  */
-+  if (finfo->inotify_descr[TRACED_FILE] < 0)
-+    finfo->inotify_descr[TRACED_FILE] = inotify_add_watch (inotify_fd,
-+                                                         finfo->fname,
-+                                                         TRACED_FILE_MASK);
-+  if (finfo->inotify_descr[TRACED_FILE] < 0)
-+    {
-+      dbg_log (_("disabled inotify-based monitoring for file `%s': %s"),
-+               finfo->fname, strerror (errno));
-+      return;
-+    }
-+  dbg_log (_("monitoring file `%s` (%d)"),
-+         finfo->fname, finfo->inotify_descr[TRACED_FILE]);
-+  /* Additionally listen for IN_CREATE events in the files parent
-+     directory.  We do this because the file to be watched might be
-+     deleted and then added back again.  When it is added back again
-+     we must re-add the watch.  We must also cover IN_MOVED_TO to
-+     detect a file being moved into the directory.  */
-+  if (finfo->inotify_descr[TRACED_DIR] < 0)
-+    finfo->inotify_descr[TRACED_DIR] = inotify_add_watch (inotify_fd,
-+                                                        finfo->dname,
-+                                                        TRACED_DIR_MASK);
-+  if (finfo->inotify_descr[TRACED_DIR] < 0)
-+    {
-+      dbg_log (_("disabled inotify-based monitoring for directory `%s': %s"),
-+               finfo->fname, strerror (errno));
-+      return;
-+    }
-+  dbg_log (_("monitoring directory `%s` (%d)"),
-+         finfo->dname, finfo->inotify_descr[TRACED_DIR]);
-+}
-+#endif
-+
-+/* Register the file in FINFO as a traced file for the database DBS[DBIX].
-+
-+   We support registering multiple files per database. Each call to
-+   register_traced_file adds to the list of registered files.
-+
-+   When we prune the database, either through timeout or a request to
-+   invalidate, we will check to see if any of the registered files has changed.
-+   When we accept new connections to handle a cache request we will also
-+   check to see if any of the registered files has changed.
-+
-+   If we have inotify support then we install an inotify fd to notify us of
-+   file deletion or modification, both of which will require we invalidate
-+   the cache for the database.  Without inotify support we stat the file and
-+   store st_mtime to determine if the file has been modified.  */
-+void
-+register_traced_file (size_t dbidx, struct traced_file *finfo)
-+{
-+  /* If the database is disabled or file checking is disabled
-+     then ignore the registration.  */
-+  if (! dbs[dbidx].enabled || ! dbs[dbidx].check_file)
-+    return;
-+
-+  if (__glibc_unlikely (debug_level > 0))
-+    dbg_log (_("monitoring file %s for database %s"),
-+           finfo->fname, dbnames[dbidx]);
-+
-+#ifdef HAVE_INOTIFY
-+  install_watches (finfo);
-+#endif
-+  struct stat64 st;
-+  if (stat64 (finfo->fname, &st) < 0)
-+    {
-+      /* We cannot stat() the file, disable file checking.  */
-+      dbg_log (_("disabled monitoring for file `%s': %s"),
-+             finfo->fname, strerror (errno));
-+      finfo->mtime = 0;
-+    }
-+  else
-+    finfo->mtime = st.st_mtime;
-+
-+  /* Queue up the file name.  */
-+  finfo->next = dbs[dbidx].traced_files;
-+  dbs[dbidx].traced_files = finfo;
-+}
- /* Close the connections.  */
- void
-@@ -986,9 +1066,25 @@
-   for (number = pwddb; number < lastdb; ++number)
-     if (strcmp (key, dbnames[number]) == 0)
-       {
--      if (dbs[number].reset_res)
--        res_init ();
--
-+      struct traced_file *runp = dbs[number].traced_files;
-+      while (runp != NULL)
-+        {
-+          /* Make sure we reload from file when checking mtime.  */
-+          runp->mtime = 0;
-+#ifdef HAVE_INOTIFY
-+          /* During an invalidation we try to reload the traced
-+             file watches.  This allows the user to re-sync if
-+             inotify events were lost.  Similar to what we do during
-+             pruning.  */
-+          install_watches (runp);
-+#endif
-+          if (runp->call_res_init)
-+            {
-+              res_init ();
-+              break;
-+            }
-+          runp = runp->next;
-+        }
-       break;
-       }
-@@ -1817,6 +1913,231 @@
- /* Array for times a connection was accepted.  */
- static time_t *starttime;
-+#ifdef HAVE_INOTIFY
-+/* Inotify event for changed file.  */
-+union __inev
-+{
-+  struct inotify_event i;
-+# ifndef PATH_MAX
-+#  define PATH_MAX 1024
-+# endif
-+  char buf[sizeof (struct inotify_event) + PATH_MAX];
-+};
-+
-+/* Returns 0 if the file is there and matches the last mtime
-+   on record, otherwise -1.  */
-+int
-+check_file (struct traced_file *finfo)
-+{
-+  struct stat64 st;
-+  if (stat64 (finfo->fname, &st) < 0)
-+    return -1;
-+  return 0;
-+}
-+
-+/* Process the inotify event in INEV. If the event matches any of the files
-+   registered with a database then mark that database as requiring its cache
-+   to be cleared. We indicate the cache needs clearing by setting
-+   TO_CLEAR[DBCNT] to true for the matching database.  */
-+static void
-+inotify_check_files (bool *to_clear, union __inev *inev)
-+{
-+  /* Check which of the files changed.  */
-+  for (size_t dbcnt = 0; dbcnt < lastdb; ++dbcnt)
-+    {
-+      struct traced_file *finfo = dbs[dbcnt].traced_files;
-+
-+      while (finfo != NULL)
-+      {
-+        /* The configuration file was moved or deleted.
-+           We stop watching it at that point, and reinitialize.  */
-+        if (finfo->inotify_descr[TRACED_FILE] == inev->i.wd
-+            && ((inev->i.mask & IN_MOVE_SELF)
-+                || (inev->i.mask & IN_DELETE_SELF)
-+                || (inev->i.mask & IN_IGNORED)))
-+          {
-+            int ret;
-+            bool moved = (inev->i.mask & IN_MOVE_SELF) != 0;
-+
-+            if (check_file (finfo) == 0)
-+              {
-+                dbg_log (_("ignored out of order inotify event for `%s`"),
-+                         finfo->fname);
-+                return;
-+              }
-+
-+            dbg_log (_("monitored file `%s` was %s, removing watch"),
-+                     finfo->fname, moved ? "moved" : "deleted");
-+            /* File was moved out, remove the watch.  Watches are
-+               automatically removed when the file is deleted.  */
-+            if (moved)
-+              {
-+                ret = inotify_rm_watch (inotify_fd, inev->i.wd);
-+                if (ret < 0)
-+                  dbg_log (_("failed to remove file watch `%s`: %s"),
-+                           finfo->fname, strerror (errno));
-+              }
-+            finfo->inotify_descr[TRACED_FILE] = -1;
-+            to_clear[dbcnt] = true;
-+            if (finfo->call_res_init)
-+              res_init ();
-+            return;
-+          }
-+        /* The configuration file was open for writing and has just closed.
-+           We reset the cache and reinitialize.  */
-+        if (finfo->inotify_descr[TRACED_FILE] == inev->i.wd
-+            && inev->i.mask & IN_CLOSE_WRITE)
-+          {
-+            /* Mark cache as needing to be cleared and reinitialize.  */
-+            dbg_log (_("monitored file `%s` was written to"), finfo->fname);
-+            to_clear[dbcnt] = true;
-+            if (finfo->call_res_init)
-+              res_init ();
-+            return;
-+          }
-+        /* The parent directory was moved or deleted.  There is no coming
-+           back from this.  We do not track the parent of the parent, and
-+           once this happens we trigger one last invalidation.  You must
-+           restart nscd to track subsequent changes.   We track this to
-+           do one last robust re-initialization and then we're done.  */
-+        if (finfo->inotify_descr[TRACED_DIR] == inev->i.wd
-+            && ((inev->i.mask & IN_DELETE_SELF)
-+                || (inev->i.mask & IN_MOVE_SELF)
-+                || (inev->i.mask & IN_IGNORED)))
-+          {
-+            bool moved = (inev->i.mask & IN_MOVE_SELF) != 0;
-+            /* The directory watch may have already been removed
-+               but we don't know so we just remove it again and
-+               ignore the error.  Then we remove the file watch.
-+               Note: watches are automatically removed for deleted
-+               files.  */
-+            if (moved)
-+              inotify_rm_watch (inotify_fd, inev->i.wd);
-+            if (finfo->inotify_descr[TRACED_FILE] != -1)
-+              {
-+                dbg_log (_("monitored parent directory `%s` was %s, removing watch on `%s`"),
-+                         finfo->dname, moved ? "moved" : "deleted", finfo->fname);
-+                if (inotify_rm_watch (inotify_fd, finfo->inotify_descr[TRACED_FILE]) < 0)
-+                  dbg_log (_("failed to remove file watch `%s`: %s"),
-+                           finfo->dname, strerror (errno));
-+              }
-+            finfo->inotify_descr[TRACED_FILE] = -1;
-+            finfo->inotify_descr[TRACED_DIR] = -1;
-+            to_clear[dbcnt] = true;
-+            if (finfo->call_res_init)
-+              res_init ();
-+            /* Continue to the next entry since this might be the
-+               parent directory for multiple registered files and
-+               we want to remove watches for all registered files.  */
-+            continue;
-+          }
-+        /* The parent directory had a create or moved to event.  */
-+        if (finfo->inotify_descr[TRACED_DIR] == inev->i.wd
-+            && ((inev->i.mask & IN_MOVED_TO)
-+                || (inev->i.mask & IN_CREATE))
-+            && strcmp (inev->i.name, finfo->sfname) == 0)
-+          {
-+            /* We detected a directory change.  We look for the creation
-+               of the file we are tracking or the move of the same file
-+               into the directory.  */
-+            int ret;
-+            dbg_log (_("monitored file `%s` was %s, adding watch"),
-+                     finfo->fname,
-+                     inev->i.mask & IN_CREATE ? "created" : "moved into place");
-+            /* File was moved in or created.  Regenerate the watch.  */
-+            if (finfo->inotify_descr[TRACED_FILE] != -1)
-+              inotify_rm_watch (inotify_fd,
-+                                finfo->inotify_descr[TRACED_FILE]);
-+
-+            ret = inotify_add_watch (inotify_fd,
-+                                     finfo->fname,
-+                                     TRACED_FILE_MASK);
-+            if (ret < 0)
-+              dbg_log (_("failed to add file watch `%s`: %s"),
-+                       finfo->fname, strerror (errno));
-+
-+            finfo->inotify_descr[TRACED_FILE] = ret;
-+
-+            /* The file is new or moved so mark cache as needing to
-+               be cleared and reinitialize.  */
-+            to_clear[dbcnt] = true;
-+            if (finfo->call_res_init)
-+              res_init ();
-+
-+            /* Done re-adding the watch.  Don't return, we may still
-+               have other files in this same directory, same watch
-+               descriptor, and need to process them.  */
-+          }
-+        /* Other events are ignored, and we move on to the next file.  */
-+        finfo = finfo->next;
-+        }
-+    }
-+}
-+
-+/* If an entry in the array of booleans TO_CLEAR is TRUE then clear the cache
-+   for the associated database, otherwise do nothing. The TO_CLEAR array must
-+   have LASTDB entries.  */
-+static inline void
-+clear_db_cache (bool *to_clear)
-+{
-+  for (size_t dbcnt = 0; dbcnt < lastdb; ++dbcnt)
-+    if (to_clear[dbcnt])
-+      {
-+      pthread_mutex_lock (&dbs[dbcnt].prune_lock);
-+      dbs[dbcnt].clear_cache = 1;
-+      pthread_mutex_unlock (&dbs[dbcnt].prune_lock);
-+      pthread_cond_signal (&dbs[dbcnt].prune_cond);
-+      }
-+}
-+
-+int
-+handle_inotify_events (void)
-+{
-+  bool to_clear[lastdb] = { false, };
-+  union __inev inev;
-+
-+  /* Read all inotify events for files registered via
-+     register_traced_file().  */
-+  while (1)
-+    {
-+      /* Potentially read multiple events into buf.  */
-+      ssize_t nb = TEMP_FAILURE_RETRY (read (inotify_fd,
-+                                           &inev.buf,
-+                                           sizeof (inev)));
-+      if (nb < (ssize_t) sizeof (struct inotify_event))
-+      {
-+        /* Not even 1 event.  */
-+        if (__glibc_unlikely (nb == -1 && errno != EAGAIN))
-+          return -1;
-+        /* Done reading events that are ready.  */
-+        break;
-+      }
-+      /* Process all events.  The normal inotify interface delivers
-+       complete events on a read and never a partial event.  */
-+      char *eptr = &inev.buf[0];
-+      ssize_t count;
-+      while (1)
-+      {
-+        /* Check which of the files changed.  */
-+        inotify_check_files (to_clear, &inev);
-+        count = sizeof (struct inotify_event) + inev.i.len;
-+        eptr += count;
-+        nb -= count;
-+        if (nb >= (ssize_t) sizeof (struct inotify_event))
-+          memcpy (&inev, eptr, nb);
-+        else
-+          break;
-+      }
-+      continue;
-+    }
-+  /* Actually perform the cache clearing.  */
-+  clear_db_cache (to_clear);
-+  return 0;
-+}
-+
-+
-+#endif
-+
- static void
- __attribute__ ((__noreturn__))
-@@ -1910,66 +2231,21 @@
-           {
-             if (conns[1].revents != 0)
-               {
--                bool to_clear[lastdb] = { false, };
--                union
--                {
--# ifndef PATH_MAX
--#  define PATH_MAX 1024
--# endif
--                  struct inotify_event i;
--                  char buf[sizeof (struct inotify_event) + PATH_MAX];
--                } inev;
-+                int ret;
-+                ret = handle_inotify_events ();
--                while (1)
-+                if (ret == -1)
-                   {
--                    ssize_t nb = TEMP_FAILURE_RETRY (read (inotify_fd, &inev,
--                                                           sizeof (inev)));
--                    if (nb < (ssize_t) sizeof (struct inotify_event))
--                      {
--                        if (__builtin_expect (nb == -1 && errno != EAGAIN,
--                                              0))
--                          {
--                            /* Something went wrong when reading the inotify
--                               data.  Better disable inotify.  */
--                            dbg_log (_("\
--disabled inotify after read error %d"),
--                                     errno);
--                            conns[1].fd = -1;
--                            firstfree = 1;
--                            if (nused == 2)
--                              nused = 1;
--                            close (inotify_fd);
--                            inotify_fd = -1;
--                          }
--                        break;
--                      }
--
--                    /* Check which of the files changed.  */
--                    for (size_t dbcnt = 0; dbcnt < lastdb; ++dbcnt)
--                      if (inev.i.wd == dbs[dbcnt].inotify_descr)
--                        {
--                          to_clear[dbcnt] = true;
--                          goto next;
--                        }
--
--                    if (inev.i.wd == resolv_conf_descr)
--                      {
--                        res_init ();
--                        to_clear[hstdb] = true;
--                      }
--                  next:;
-+                    /* Something went wrong when reading the inotify
-+                       data.  Better disable inotify.  */
-+                    dbg_log (_("disabled inotify-based monitoring after read error %d"), errno);
-+                    conns[1].fd = -1;
-+                    firstfree = 1;
-+                    if (nused == 2)
-+                      nused = 1;
-+                    close (inotify_fd);
-+                    inotify_fd = -1;
-                   }
--
--                /* Actually perform the cache clearing.  */
--                for (size_t dbcnt = 0; dbcnt < lastdb; ++dbcnt)
--                  if (to_clear[dbcnt])
--                    {
--                      pthread_mutex_lock (&dbs[dbcnt].prune_lock);
--                      dbs[dbcnt].clear_cache = 1;
--                      pthread_mutex_unlock (&dbs[dbcnt].prune_lock);
--                      pthread_cond_signal (&dbs[dbcnt].prune_cond);
--                    }
--
-                 --n;
-               }
-@@ -2112,58 +2388,18 @@
- # ifdef HAVE_INOTIFY
-       else if (revs[cnt].data.fd == inotify_fd)
-         {
--          bool to_clear[lastdb] = { false, };
--          union
--          {
--            struct inotify_event i;
--            char buf[sizeof (struct inotify_event) + PATH_MAX];
--          } inev;
--
--          while (1)
-+          int ret;
-+          ret = handle_inotify_events ();
-+          if (ret == -1)
-             {
--              ssize_t nb = TEMP_FAILURE_RETRY (read (inotify_fd, &inev,
--                                               sizeof (inev)));
--              if (nb < (ssize_t) sizeof (struct inotify_event))
--                {
--                  if (__builtin_expect (nb == -1 && errno != EAGAIN, 0))
--                    {
--                      /* Something went wrong when reading the inotify
--                         data.  Better disable inotify.  */
--                      dbg_log (_("disabled inotify after read error %d"),
--                               errno);
--                      (void) epoll_ctl (efd, EPOLL_CTL_DEL, inotify_fd,
--                                        NULL);
--                      close (inotify_fd);
--                      inotify_fd = -1;
--                    }
--                  break;
--                }
--
--              /* Check which of the files changed.  */
--              for (size_t dbcnt = 0; dbcnt < lastdb; ++dbcnt)
--                if (inev.i.wd == dbs[dbcnt].inotify_descr)
--                  {
--                    to_clear[dbcnt] = true;
--                    goto next;
--                  }
--
--              if (inev.i.wd == resolv_conf_descr)
--                {
--                  res_init ();
--                  to_clear[hstdb] = true;
--                }
--            next:;
-+              /* Something went wrong when reading the inotify
-+                 data.  Better disable inotify.  */
-+              dbg_log (_("disabled inotify-based monitoring after read error %d"), errno);
-+              (void) epoll_ctl (efd, EPOLL_CTL_DEL, inotify_fd, NULL);
-+              close (inotify_fd);
-+              inotify_fd = -1;
-+              break;
-             }
--
--          /* Actually perform the cache clearing.  */
--          for (size_t dbcnt = 0; dbcnt < lastdb; ++dbcnt)
--            if (to_clear[dbcnt])
--              {
--                pthread_mutex_lock (&dbs[dbcnt].prune_lock);
--                dbs[dbcnt].clear_cache = 1;
--                pthread_mutex_unlock (&dbs[dbcnt].prune_lock);
--                pthread_cond_signal (&dbs[dbcnt].prune_cond);
--              }
-         }
- # endif
-       else
-diff -urN glibc-2.12-2-gc4ccff1.orig/nscd/nscd.h glibc-2.12-2-gc4ccff1.mod1/nscd/nscd.h
---- glibc-2.12-2-gc4ccff1.orig/nscd/nscd.h     2015-02-18 04:42:12.329180362 -0500
-+++ glibc-2.12-2-gc4ccff1.mod1/nscd/nscd.h     2015-02-18 04:02:03.636159059 -0500
-@@ -62,6 +62,67 @@
-    80% of the thread stack size.  */
- #define MAX_STACK_USE ((8 * NSCD_THREAD_STACKSIZE) / 10)
-+/* Records the file registered per database that when changed
-+   or modified requires invalidating the database.  */
-+struct traced_file
-+{
-+  /* Tracks the last modified time of the traced file.  */
-+  time_t mtime;
-+  /* Support multiple registered files per database.  */
-+  struct traced_file *next;
-+  int call_res_init;
-+  /* Requires Inotify support to do anything useful.  */
-+#define TRACED_FILE   0
-+#define TRACED_DIR    1
-+  int inotify_descr[2];
-+# ifndef PATH_MAX
-+#  define PATH_MAX 1024
-+# endif
-+  /* The parent directory is used to scan for creation/deletion.  */
-+  char dname[PATH_MAX];
-+  /* Just the name of the file with no directory component.  */
-+  char *sfname;
-+  /* The full-path name of the registered file.  */
-+  char fname[];
-+};
-+
-+/* Initialize a `struct traced_file`.  As input we need the name
-+   of the file, and if invalidation requires calling res_init.
-+   If CRINIT is 1 then res_init will be called after invalidation
-+   or if the traced file is changed in any way, otherwise it will
-+   not.  */
-+static inline void
-+init_traced_file(struct traced_file *file, const char *fname, int crinit)
-+{
-+   char *dname;
-+   file->mtime = 0;
-+   file->inotify_descr[TRACED_FILE] = -1;
-+   file->inotify_descr[TRACED_DIR] = -1;
-+   strcpy (file->fname, fname);
-+   /* Compute the parent directory name and store a copy.  The copy makes
-+      it much faster to add/remove watches while nscd is running instead
-+      of computing this over and over again in a temp buffer.  */
-+   file->dname[0] = '\0';
-+   dname = strrchr (fname, '/');
-+   if (dname != NULL)
-+     {
-+       size_t len = (size_t)(dname - fname);
-+       if (len > sizeof (file->dname))
-+       abort ();
-+       strncpy (file->dname, file->fname, len);
-+       file->dname[len] = '\0';
-+     }
-+   /* The basename is the name just after the last forward slash.  */
-+   file->sfname = &dname[1];
-+   file->call_res_init = crinit;
-+}
-+
-+#define define_traced_file(id, filename)                      \
-+static union                                                  \
-+{                                                             \
-+  struct traced_file file;                                    \
-+  char buf[sizeof (struct traced_file) + sizeof (filename)];  \
-+} id##_traced_file;
- /* Structure describing dynamic part of one database.  */
- struct database_dyn
-@@ -74,15 +135,12 @@
-   int enabled;
-   int check_file;
--  int inotify_descr;
-   int clear_cache;
-   int persistent;
-   int shared;
-   int propagate;
--  int reset_res;
--  const char filename[16];
-+  struct traced_file *traced_files;
-   const char *db_filename;
--  time_t file_mtime;
-   size_t suggested_module;
-   size_t max_db_size;
-@@ -199,6 +257,10 @@
- /* connections.c */
- extern void nscd_init (void);
-+extern void register_traced_file (size_t dbidx, struct traced_file *finfo);
-+#ifdef HAVE_INOTIFY
-+extern void install_watches (struct traced_file *finfo);
-+#endif
- extern void close_sockets (void);
- extern void start_threads (void) __attribute__ ((__noreturn__));
diff --git a/src/patches/glibc/glibc-rh861167.patch b/src/patches/glibc/glibc-rh861167.patch
deleted file mode 100644 (file)
index d7e982f..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-commit be08eda54c7cf833ccfa4b8d1f1b1d668c26af66
-Author: Andreas Jaeger <aj@suse.de>
-Date:   Wed May 23 09:27:39 2012 +0200
-
-    Update from Linux 3.4
-
-[ Partial, unrelated bits not included. ]
-
-2012-05-23  Andreas Jaeger  <aj@suse.de>
-
-       * sysdeps/unix/sysv/linux/powerpc/bits/mman.h
-       (MADV_DONTDUMP,MADV_DODUMP): New macros from Linux 3.4.
-       macro.
-       * sysdeps/unix/sysv/linux/s390/bits/mman.h
-       (MADV_DONTDUMP,MADV_DODUMP): Likewise.
-       * sysdeps/unix/sysv/linux/i386/bits/mman.h
-       (MADV_DONTDUMP,MADV_DODUMP): Likewise.
-       * sysdeps/unix/sysv/linux/x86_64/bits/mman.h
-       (MADV_DONTDUMP,MADV_DODUMP): Likewise.
-
-diff -Nrup a/sysdeps/unix/sysv/linux/i386/bits/mman.h b/sysdeps/unix/sysv/linux/i386/bits/mman.h
---- a/sysdeps/unix/sysv/linux/i386/bits/mman.h 2010-05-04 05:27:23.000000000 -0600
-+++ b/sysdeps/unix/sysv/linux/i386/bits/mman.h 2012-09-27 11:44:26.985150148 -0600
-@@ -1,5 +1,5 @@
- /* Definitions for POSIX memory map interface.  Linux/i386 version.
--   Copyright (C) 1997,2000,2003,2005,2006,2009 Free Software Foundation, Inc.
-+   Copyright (C) 1997-2012 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
-@@ -94,6 +94,9 @@
- # define MADV_DOFORK    11    /* Do inherit across fork.  */
- # define MADV_MERGEABLE         12    /* KSM may merge identical pages.  */
- # define MADV_UNMERGEABLE 13  /* KSM may not merge identical pages.  */
-+# define MADV_DONTDUMP          16    /* Explicity exclude from the core dump,
-+                                   overrides the coredump filter bits.  */
-+# define MADV_DODUMP    17    /* Clear the MADV_DONTDUMP flag.  */
- # define MADV_HWPOISON          100   /* Poison a page for testing.  */
- #endif
-diff -Nrup a/sysdeps/unix/sysv/linux/powerpc/bits/mman.h b/sysdeps/unix/sysv/linux/powerpc/bits/mman.h
---- a/sysdeps/unix/sysv/linux/powerpc/bits/mman.h      2010-05-04 05:27:23.000000000 -0600
-+++ b/sysdeps/unix/sysv/linux/powerpc/bits/mman.h      2012-09-27 11:43:37.161351259 -0600
-@@ -96,6 +96,9 @@
- # define MADV_DOFORK    11    /* Do inherit across fork.  */
- # define MADV_MERGEABLE         12    /* KSM may merge identical pages.  */
- # define MADV_UNMERGEABLE 13  /* KSM may not merge identical pages.  */
-+# define MADV_DONTDUMP          16    /* Explicity exclude from the core dump,
-+                                   overrides the coredump filter bits.  */
-+# define MADV_DODUMP    17    /* Clear the MADV_DONTDUMP flag.  */
- # define MADV_HWPOISON          100   /* Poison a page for testing.  */
- #endif
-diff -Nrup a/sysdeps/unix/sysv/linux/s390/bits/mman.h b/sysdeps/unix/sysv/linux/s390/bits/mman.h
---- a/sysdeps/unix/sysv/linux/s390/bits/mman.h 2010-05-04 05:27:23.000000000 -0600
-+++ b/sysdeps/unix/sysv/linux/s390/bits/mman.h 2012-09-27 11:44:49.745059646 -0600
-@@ -94,6 +94,9 @@
- # define MADV_DOFORK    11    /* Do inherit across fork.  */
- # define MADV_MERGEABLE         12    /* KSM may merge identical pages.  */
- # define MADV_UNMERGEABLE 13  /* KSM may not merge identical pages.  */
-+# define MADV_DONTDUMP          16    /* Explicity exclude from the core dump,
-+                                   overrides the coredump filter bits.  */
-+# define MADV_DODUMP    17    /* Clear the MADV_DONTDUMP flag.  */
- # define MADV_HWPOISON          100   /* Poison a page for testing.  */
- #endif
-diff -Nrup a/sysdeps/unix/sysv/linux/x86_64/bits/mman.h b/sysdeps/unix/sysv/linux/x86_64/bits/mman.h
---- a/sysdeps/unix/sysv/linux/x86_64/bits/mman.h       2010-05-04 05:27:23.000000000 -0600
-+++ b/sysdeps/unix/sysv/linux/x86_64/bits/mman.h       2012-09-27 11:42:08.314725733 -0600
-@@ -1,5 +1,5 @@
- /* Definitions for POSIX memory map interface.  Linux/x86_64 version.
--   Copyright (C) 2001, 2003, 2005, 2006, 2009 Free Software Foundation, Inc.
-+   Copyright (C) 2001-2012 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
-@@ -95,6 +95,9 @@
- # define MADV_DOFORK    11    /* Do inherit across fork.  */
- # define MADV_MERGEABLE         12    /* KSM may merge identical pages.  */
- # define MADV_UNMERGEABLE 13  /* KSM may not merge identical pages.  */
-+# define MADV_DONTDUMP          16    /* Explicity exclude from the core dump,
-+                                   overrides the coredump filter bits.  */
-+# define MADV_DODUMP    17    /* Clear the MADV_DONTDUMP flag.  */
- # define MADV_HWPOISON          100   /* Poison a page for testing.  */
- #endif
diff --git a/src/patches/glibc/glibc-rh862094.patch b/src/patches/glibc/glibc-rh862094.patch
deleted file mode 100644 (file)
index 6e7fe0a..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-From bc5fb0374c3ce6eca92f44d13a55b066e707c4a0 Mon Sep 17 00:00:00 2001
-From: Andreas Schwab <schwab@redhat.com>
-Date: Wed, 15 Sep 2010 07:20:57 -0700
-Subject: [PATCH] Don't try to free rpath strings allocated during startup
-
----
- ChangeLog        |   10 ++++++++++
- elf/dl-load.c    |    3 ---
- elf/dl-support.c |    3 +++
- elf/rtld.c       |    4 ++++
- 4 files changed, 17 insertions(+), 3 deletions(-)
-
- 2010-09-13  Andreas Schwab  <schwab@redhat.com>
-           Ulrich Drepper  <drepper@redhat.com>
-
-       * elf/rtld.c (dl_main): Set GLRO(dl_init_all_dirs) just before
-       re-relocationg ld.so.
-       * elf/dl-support.c (_dl_non_dynamic_init): And here after the
-       _dl_init_paths call.
-       * elf/dl-load.c (_dl_init_paths).  Don't set GLRO(dl_init_all_dirs)
-       here anymore.
-diff --git a/elf/dl-load.c b/elf/dl-load.c
-index 0adddf5..a7162eb 100644
---- a/elf/dl-load.c
-+++ b/elf/dl-load.c
-@@ -787,9 +787,6 @@ _dl_init_paths (const char *llp)
-     }
-   else
-     env_path_list.dirs = (void *) -1;
--
--  /* Remember the last search directory added at startup.  */
--  GLRO(dl_init_all_dirs) = GL(dl_all_dirs);
- }
-diff --git a/elf/dl-support.c b/elf/dl-support.c
-index f94d2c4..5897b32 100644
---- a/elf/dl-support.c
-+++ b/elf/dl-support.c
-@@ -264,6 +264,9 @@ _dl_non_dynamic_init (void)
-      objects.  */
-   _dl_init_paths (getenv ("LD_LIBRARY_PATH"));
-+  /* Remember the last search directory added at startup.  */
-+  _dl_init_all_dirs = GL(dl_all_dirs);
-+
-   _dl_lazy = *(getenv ("LD_BIND_NOW") ?: "") == '\0';
-   _dl_bind_not = *(getenv ("LD_BIND_NOT") ?: "") != '\0';
-diff --git a/elf/rtld.c b/elf/rtld.c
-index 90f3ff1..5ecc4fe 100644
---- a/elf/rtld.c
-+++ b/elf/rtld.c
-@@ -2291,6 +2291,10 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
-                         lossage);
-     }
-+  /* Remember the last search directory added at startup, now that
-+     malloc will no longer be the one from dl-minimal.c.  */
-+  GLRO(dl_init_all_dirs) = GL(dl_all_dirs);
-+
-   if (! prelinked && rtld_multiple_ref)
-     {
-       /* There was an explicit ref to the dynamic linker as a shared lib.
--- 
-1.7.1
-
diff --git a/src/patches/glibc/glibc-rh863384.patch b/src/patches/glibc/glibc-rh863384.patch
deleted file mode 100644 (file)
index 7644a4e..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -pruN glibc-2.12-2-gc4ccff1/sysdeps/posix/getaddrinfo.c glibc-2.12-2-gc4ccff1.fixed/sysdeps/posix/getaddrinfo.c
---- glibc-2.12-2-gc4ccff1/sysdeps/posix/getaddrinfo.c  2013-07-23 15:23:42.011941780 +0530
-+++ glibc-2.12-2-gc4ccff1.fixed/sysdeps/posix/getaddrinfo.c    2013-07-23 15:24:54.032938976 +0530
-@@ -562,8 +562,8 @@ gaih_inet (const char *name, const struc
-         /* If we do not have to look for IPv6 addresses, use
-            the simple, old functions, which do not support
--           IPv6 scope ids. */
--        if (req->ai_family == AF_INET)
-+           IPv6 scope ids, nor retrieving the canonical name. */
-+        if (req->ai_family == AF_INET && (req->ai_flags & AI_CANONNAME) == 0)
-           {
-               /* Add room for struct host_data in resolv/nss_dns/dns-host.c */
-               size_t tmpbuflen = 512 + (MAX_NR_ALIASES+MAX_NR_ADDRS+1)*sizeof(char*)
diff --git a/src/patches/glibc/glibc-rh863453.patch b/src/patches/glibc/glibc-rh863453.patch
deleted file mode 100644 (file)
index 96fb769..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
---- glibc-2.12-2-gc4ccff1/nscd/grpcache.c.lrgrpissue   2002-03-19 01:06:04.905969517 +0530
-+++ glibc-2.12-2-gc4ccff1/nscd/grpcache.c      2002-03-19 01:09:46.495970850 +0530
-@@ -207,10 +207,11 @@ cache_addgr (struct database_dyn *db, in
-        change.  Allocate memory on the cache since it is likely
-        discarded anyway.  If it turns out to be necessary to have a
-        new record we can still allocate real memory.  */
--      bool dataset_in_stack_or_freed = false;
-+      bool dataset_temporary = false;
-+      bool dataset_malloced = false; 
-       dataset = NULL;
--      if (he == NULL || ! __libc_use_alloca (alloca_used + total + n))
-+      if (he == NULL)
-       dataset = (struct dataset *) mempool_alloc (db, total + n, 1);
-       if (dataset == NULL)
-@@ -218,10 +219,16 @@ cache_addgr (struct database_dyn *db, in
-         /* We cannot permanently add the result in the moment.  But
-            we can provide the result as is.  Store the data in some
-            temporary memory.  */
--        dataset = (struct dataset *) alloca_account (total + n, alloca_used);
--
-+        if (! __libc_use_alloca (alloca_used + total + n))
-+        {
-+              /* XXX What to do if malloc fails?  */
-+              dataset = (struct dataset *) malloc (total + n);
-+              dataset_malloced = true;
-+        }
-+        else
-+              dataset = (struct dataset *) alloca_account (total + n, alloca_used); 
-         /* We cannot add this record to the permanent database.  */
--        dataset_in_stack_or_freed = true;
-+        dataset_temporary = true; 
-       }
-       dataset->head.allocsize = total + n;
-@@ -276,13 +283,10 @@ cache_addgr (struct database_dyn *db, in
-             dh->timeout = dataset->head.timeout;
-             ++dh->nreloads;
--            /* If the new record was not allocated on the stack, then it must
--               be freed.  Note that it can no longer be used.  */
--            if (! dataset_in_stack_or_freed)
--              {
--                free (dataset);
--                dataset_in_stack_or_freed = true;
--              }
-+            /* If the new record was allocated via malloc, then we
-+               must free it here.  */
-+            if (dataset_malloced)
-+                free (dataset); 
-           }
-         else
-           {
-@@ -298,7 +302,7 @@ cache_addgr (struct database_dyn *db, in
-                 key_copy = (char *) newp + (key_copy - (char *) dataset);
-                 dataset = memcpy (newp, dataset, total + n);
--                dataset_in_stack_or_freed = false;
-+                dataset_temporary = false;
-               }
-             /* Mark the old record as obsolete.  */
-@@ -313,7 +317,7 @@ cache_addgr (struct database_dyn *db, in
-         assert (fd != -1);
- #ifdef HAVE_SENDFILE
--        if (__builtin_expect (db->mmap_used, 1) && !dataset_in_stack_or_freed)
-+        if (__builtin_expect (db->mmap_used, 1) && ! dataset_temporary) 
-           {
-             assert (db->wr_fd != -1);
-             assert ((char *) &dataset->resp > (char *) db->data);
-@@ -340,7 +344,7 @@ cache_addgr (struct database_dyn *db, in
-       /* Add the record to the database.  But only if it has not been
-        stored on the stack.  */
--      if (! dataset_in_stack_or_freed)
-+       if (! dataset_temporary) 
-       {
-         /* If necessary, we also propagate the data to disk.  */
-         if (db->persistent)
diff --git a/src/patches/glibc/glibc-rh864322.patch b/src/patches/glibc/glibc-rh864322.patch
deleted file mode 100644 (file)
index 565a146..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -rup a/sysdeps/generic/netinet/ip.h b/sysdeps/generic/netinet/ip.h
---- a/sysdeps/generic/netinet/ip.h     2010-05-04 05:27:23.000000000 -0600
-+++ b/sysdeps/generic/netinet/ip.h     2012-10-11 09:22:12.620160387 -0600
-@@ -194,7 +194,7 @@ struct ip_timestamp
-  */
- #define       IPTOS_CLASS_MASK                0xe0
--#define       IPTOS_CLASS(class)              ((tos) & IPTOS_CLASS_MASK)
-+#define       IPTOS_CLASS(class)              ((class) & IPTOS_CLASS_MASK)
- #define       IPTOS_CLASS_CS0                 0x00
- #define       IPTOS_CLASS_CS1                 0x20
- #define       IPTOS_CLASS_CS2                 0x40
diff --git a/src/patches/glibc/glibc-rh867679.patch b/src/patches/glibc/glibc-rh867679.patch
deleted file mode 100644 (file)
index 3e823c8..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-commit 9fab36eb583c0e585e83a01253299afed9ea9a11
-Author: Siddhesh Poyarekar <siddhesh@redhat.com>
-Date:   Tue Sep 25 14:10:29 2012 +0530
-
-    Shrink heap on linux when overcommit_memory == 2
-    
-    Using madvise with MADV_DONTNEED to release memory back to the kernel
-    is not sufficient to change the commit charge accounted against the
-    process on Linux.  It is OK however, when overcommit is enabled or is
-    heuristic.  However, when overcommit is restricted to a percentage of
-    memory setting the contents of /proc/sys/vm/overcommit_memory as 2, it
-    makes a difference since memory requests will fail.  Hence, we do what
-    we do with secure exec binaries, which is to call mmap on the region
-    to be dropped with MAP_FIXED. This internally unmaps the pages in
-    question and reduces the amount of memory accounted against the
-    process.
-
-diff --git a/malloc/arena.c b/malloc/arena.c
-index f24e76c..b209e3b 100644
---- a/malloc/arena.c
-+++ b/malloc/arena.c
-@@ -19,6 +19,9 @@
- #include <stdbool.h>
-+/* Get the implementation for check_may_shrink_heap.  */
-+#include <malloc-sysdep.h>
-+
- /* Compile-time constants.  */
- #define HEAP_MIN_SIZE (32*1024)
-@@ -621,10 +624,10 @@ shrink_heap(heap_info *h, long diff)
-   new_size = (long)h->size - diff;
-   if(new_size < (long)sizeof(*h))
-     return -1;
--  /* Try to re-map the extra heap space freshly to save memory, and
--     make it inaccessible. */
- #ifdef _LIBC
--  if (__builtin_expect (__libc_enable_secure, 0))
-+  /* Try to re-map the extra heap space freshly to save memory, and make it
-+     inaccessible.  See malloc-sysdep.h to know when this is true.  */
-+  if (__builtin_expect (check_may_shrink_heap (), 0))
- #else
-   if (1)
- #endif
-diff --git a/sysdeps/generic/malloc-sysdep.h b/sysdeps/generic/malloc-sysdep.h
-new file mode 100644
-index 0000000..bbc48c0
---- /dev/null
-+++ b/sysdeps/generic/malloc-sysdep.h
-@@ -0,0 +1,25 @@
-+/* System-specific malloc support functions.  Generic version.
-+   Copyright (C) 2012 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, see
-+   <http://www.gnu.org/licenses/>.  */
-+
-+/* Force an unmap when the heap shrinks in a secure exec.  This ensures that
-+   the old data pages immediately cease to be accessible.  */
-+static inline bool
-+check_may_shrink_heap (void)
-+{
-+  return __libc_enable_secure;
-+}
-diff --git a/sysdeps/unix/sysv/linux/malloc-sysdep.h b/sysdeps/unix/sysv/linux/malloc-sysdep.h
-new file mode 100644
-index 0000000..f926aea
---- /dev/null
-+++ b/sysdeps/unix/sysv/linux/malloc-sysdep.h
-@@ -0,0 +1,57 @@
-+/* System-specific malloc support functions.  Linux version.
-+   Copyright (C) 2012 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, see
-+   <http://www.gnu.org/licenses/>.  */
-+
-+#include <fcntl.h>
-+#include <not-cancel.h>
-+
-+/* The Linux kernel overcommits address space by default and if there is not
-+   enough memory available, it uses various parameters to decide the process to
-+   kill.  It is however possible to disable or curb this overcommit behavior
-+   by setting the proc sysctl vm.overcommit_memory to the value '2' and with
-+   that, a process is only allowed to use the maximum of a pre-determined
-+   fraction of the total address space.  In such a case, we want to make sure
-+   that we are judicious with our heap usage as well, and explicitly give away
-+   the freed top of the heap to reduce our commit charge.  See the proc(5) man
-+   page to know more about overcommit behavior.
-+
-+   Other than that, we also force an unmap in a secure exec.  */
-+static inline bool
-+check_may_shrink_heap (void)
-+{
-+  static int may_shrink_heap = -1;
-+
-+  if (__builtin_expect (may_shrink_heap >= 0, 1))
-+    return may_shrink_heap;
-+
-+  may_shrink_heap = __libc_enable_secure;
-+
-+  if (__builtin_expect (may_shrink_heap == 0, 1))
-+    {
-+      int fd = open_not_cancel_2 ("/proc/sys/vm/overcommit_memory",
-+                                O_RDONLY | O_CLOEXEC);
-+      if (fd >= 0)
-+      {
-+        char val;
-+        ssize_t n = read_not_cancel (fd, &val, 1);
-+        may_shrink_heap = n > 0 && val == '2';
-+        close_not_cancel_no_status (fd);
-+      }
-+    }
-+
-+  return may_shrink_heap;
-+}
diff --git a/src/patches/glibc/glibc-rh868808.patch b/src/patches/glibc/glibc-rh868808.patch
deleted file mode 100644 (file)
index 27a10b2..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-From d6f67f7d833b4e2039f832355fb0edd65522c9f4 Mon Sep 17 00:00:00 2001
-From: Ulrich Drepper <drepper@gmail.com>
-Date: Sat, 14 May 2011 10:46:17 -0400
-Subject: [PATCH] Handle recursive calls in backtrace better
-
----
- ChangeLog                |    7 +++++++
- NEWS                     |   12 ++++++------
- sysdeps/ia64/backtrace.c |   27 +++++++++++++++++++++++----
- 3 files changed, 36 insertions(+), 10 deletions(-)
-
- 2011-05-14  Ulrich Drepper  <drepper@gmail.com>
-       [BZ #12432]
-       * sysdeps/ia64/backtrace.c (struct trace_reg): Add cfa element.
-       (dummy_getcfa): New function.
-       (init): Get _Unwind_GetCFA address, use dummy if not found.
-       (backtrace_helper): In recursion check, also check whether CFA changes.
-       (__backtrace): Completely initialize arg.
-diff --git a/sysdeps/ia64/backtrace.c b/sysdeps/ia64/backtrace.c
-index 5cefb86..d4ff291 100644
---- a/sysdeps/ia64/backtrace.c
-+++ b/sysdeps/ia64/backtrace.c
-@@ -1,5 +1,5 @@
- /* Return backtrace of current program state.
--   Copyright (C) 2003, 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
-+   Copyright (C) 2003-2005, 2007, 2009, 2011 Free Software Foundation, Inc.
-    This file is part of the GNU C Library.
-    Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
-@@ -27,14 +27,26 @@
- struct trace_arg
- {
-   void **array;
--  int cnt, size;
-+  _Unwind_Word cfa;
-+  int cnt;
-+  int size;
- };
- #ifdef SHARED
- static _Unwind_Reason_Code (*unwind_backtrace) (_Unwind_Trace_Fn, void *);
- static _Unwind_Ptr (*unwind_getip) (struct _Unwind_Context *);
-+static _Unwind_Word (*unwind_getcfa) (struct _Unwind_Context *);
- static void *libgcc_handle;
-+
-+/* Dummy version in case libgcc_s does not contain the real code.  */
-+static _Unwind_Word
-+dummy_getcfa (struct _Unwind_Context *ctx __attribute__ ((unused)))
-+{
-+  return 0;
-+}
-+
-+
- static void
- init (void)
- {
-@@ -47,10 +59,13 @@ init (void)
-   unwind_getip = __libc_dlsym (libgcc_handle, "_Unwind_GetIP");
-   if (unwind_getip == NULL)
-     unwind_backtrace = NULL;
-+  unwind_getcfa = (__libc_dlsym (libgcc_handle, "_Unwind_GetCFA")
-+                 ?: dummy_getcfa);
- }
- #else
- # define unwind_backtrace _Unwind_Backtrace
- # define unwind_getip _Unwind_GetIP
-+# define unwind_getcfa _Unwind_GetCFA
- #endif
- static _Unwind_Reason_Code
-@@ -65,8 +80,12 @@ backtrace_helper (struct _Unwind_Context *ctx, void *a)
-       arg->array[arg->cnt] = (void *) unwind_getip (ctx);
-       /* Check whether we make any progress.  */
--      if (arg->cnt > 0 && arg->array[arg->cnt - 1] == arg->array[arg->cnt])
-+      _Unwind_Word cfa = unwind_getcfa (ctx);
-+
-+      if (arg->cnt > 0 && arg->array[arg->cnt - 1] == arg->array[arg->cnt]
-+        && cfa == arg->cfa)
-       return _URC_END_OF_STACK;
-+      arg->cfa = cfa;
-     }
-   if (++arg->cnt == arg->size)
-     return _URC_END_OF_STACK;
-@@ -78,7 +97,7 @@ __backtrace (array, size)
-      void **array;
-      int size;
- {
--  struct trace_arg arg = { .array = array, .size = size, .cnt = -1 };
-+  struct trace_arg arg = { .array = array, .cfa = 0, .size = size, .cnt = -1 };
- #ifdef SHARED
-   __libc_once_define (static, once);
--- 
-1.7.1
-
diff --git a/src/patches/glibc/glibc-rh886968.patch b/src/patches/glibc/glibc-rh886968.patch
deleted file mode 100644 (file)
index 4872a91..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -Nrup a/elf/dl-load.c b/elf/dl-load.c
---- a/elf/dl-load.c    2013-01-10 08:57:20.098898830 -0500
-+++ b/elf/dl-load.c    2013-01-10 12:04:48.155962895 -0500
-@@ -819,7 +819,7 @@ lose (int code, int fd, const char *name
-     {
-       r->r_state = RT_CONSISTENT;
-       _dl_debug_state ();
--      LIBC_PROBE (rtld_map_complete, 2, nsid, r);
-+      LIBC_PROBE (rtld_map_complete, 3, nsid, r, NULL);
-     }
-   _dl_signal_error (code, name, NULL, msg);
-diff -Nrup a/elf/dl-open.c b/elf/dl-open.c
---- a/elf/dl-open.c    2013-01-10 08:57:19.917897417 -0500
-+++ b/elf/dl-open.c    2013-01-10 12:06:04.644775710 -0500
-@@ -298,7 +298,7 @@ dl_open_worker (void *a)
-   struct r_debug *r = _dl_debug_initialize (0, args->nsid);
-   r->r_state = RT_CONSISTENT;
-   _dl_debug_state ();
--  LIBC_PROBE (rtld_map_complete, 2, args->nsid, r);
-+  LIBC_PROBE (rtld_map_complete, 3, args->nsid, r, new);
-   /* Only do lazy relocation if `LD_BIND_NOW' is not set.  */
-   int reloc_mode = mode & __RTLD_AUDIT;
-@@ -472,7 +472,7 @@ TLS generation counter wrapped!  Please 
-   /* Notify the debugger all new objects have been relocated.  */
-   if (relocation_in_progress)
--    LIBC_PROBE (rtld_reloc_complete, 2, args->nsid, r);
-+    LIBC_PROBE (rtld_reloc_complete, 3, args->nsid, r, new);
-   /* Run the initializer functions of new objects.  */
-   _dl_init (new, args->argc, args->argv, args->env);
diff --git a/src/patches/glibc/glibc-rh905575.patch b/src/patches/glibc/glibc-rh905575.patch
deleted file mode 100644 (file)
index 70baa89..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-diff -rup a/sysdeps/ieee754/dbl-64/slowexp.c b/sysdeps/ieee754/dbl-64/slowexp.c
---- a/sysdeps/ieee754/dbl-64/slowexp.c 2012-01-01 05:16:32.000000000 -0700
-+++ b/sysdeps/ieee754/dbl-64/slowexp.c 2012-03-13 11:57:51.225330782 -0600
-@@ -31,6 +31,8 @@
- #include "mpa.h"
- #include "math_private.h"
-+#include <stap-probe.h>
-+
- void __mpexp(mp_no *x, mp_no *y, int p);
- /*Converting from double precision to Multi-precision and calculating  e^x */
-@@ -61,12 +63,21 @@ __slowexp(double x) {
-   __sub(&mpy,&mpcor,&mpz,p);
-   __mp_dbl(&mpw, &w, p);
-   __mp_dbl(&mpz, &z, p);
--  if (w == z) return w;
-+  if (w == z) {
-+    /* Track how often we get to the slow exp code plus
-+       its input/output values.  */
-+    LIBC_PROBE (slowexp_p6, 2, &x, &w);
-+    return w;
-+  }
-   else  {                   /* if calculating is not exactly   */
-     p = 32;
-     __dbl_mp(x,&mpx,p);
-     __mpexp(&mpx, &mpy, p);
-     __mp_dbl(&mpy, &res, p);
-+ 
-+    /* Track how often we get to the uber-slow exp code plus
-+       its input/output values.  */
-+    LIBC_PROBE (slowexp_p32, 2, &x, &res);
-     return res;
-   }
- }
-diff -rup a/sysdeps/ieee754/dbl-64/slowpow.c b/sysdeps/ieee754/dbl-64/slowpow.c
---- a/sysdeps/ieee754/dbl-64/slowpow.c 2012-01-01 05:16:32.000000000 -0700
-+++ b/sysdeps/ieee754/dbl-64/slowpow.c 2012-03-13 11:57:59.865284437 -0600
-@@ -35,6 +35,8 @@
- #include "mpa.h"
- #include "math_private.h"
-+#include <stap-probe.h>
-+
- void __mpexp(mp_no *x, mp_no *y, int p);
- void __mplog(mp_no *x, mp_no *y, int p);
- double ulog(double);
-@@ -66,7 +68,12 @@ __slowpow(double x, double y, double z)
-   __mp_dbl(&mpr, &res, p);
-   __sub(&mpp,&eps,&mpr1,p);   /*  pp -eps =r1 */
-   __mp_dbl(&mpr1, &res1, p);  /*  converting into double precision */
--  if (res == res1) return res;
-+  if (res == res1) {
-+    /* Track how often we get to the slow pow code plus
-+       its input/output values.  */
-+    LIBC_PROBE (slowpow_p10, 4, &x, &y, &z, &res);
-+    return res;
-+  }
-   p = 32;     /* if we get here result wasn't calculated exactly, continue */
-   __dbl_mp(x,&mpx,p);                          /* for more exact calculation */
-@@ -76,5 +83,10 @@ __slowpow(double x, double y, double z)
-   __mul(&mpy,&mpz,&mpw,p);  /* y*z =w    */
-   __mpexp(&mpw, &mpp, p);   /* e^w=pp    */
-   __mp_dbl(&mpp, &res, p);  /* converting into double precision */
-+
-+  /* Track how often we get to the uber-slow pow code plus
-+     its input/output values.  */
-+    LIBC_PROBE (slowpow_p32, 4, &x, &y, &z, &res);
-+
-   return res;
- }
diff --git a/src/patches/glibc/glibc-rh905874.patch b/src/patches/glibc/glibc-rh905874.patch
deleted file mode 100644 (file)
index 1d9ea10..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-#
-# Backported from upstream.
-#
-# - Add en_US.UTF-8 as pre-requisite for regression test:
-#
-# commit 62c4a69dc2aea24776cbf0e951d41709a7408cc6
-# Author: Joseph Myers <joseph@codesourcery.com>
-# Date:   Thu Nov 1 00:22:04 2012 +0000
-#
-#    Build en_US.UTF-8 locale for testing.
-#
-# - Fix buffer overrun:
-#
-# commit a445af0bc722d620afed7683cd320c0e4c7c6059
-# Author: Andreas Schwab <schwab@suse.de>
-# Date:   Tue Jan 29 14:45:15 2013 +0100
-#
-#    Fix buffer overrun in regexp matcher
-#
-# ChangeLog/
-# 2013-02-12  Andreas Schwab  <schwab@suse.de>
-# 
-#      [BZ #15078]
-#      * posix/regexec.c (extend_buffers): Add parameter min_len.
-#      (check_matching): Pass minimum needed length.
-#      (clean_state_log_if_needed): Likewise.
-#      (get_subexp): Likewise.
-#      * posix/Makefile (tests): Add bug-regex34.
-#      (bug-regex34-ENV): Define.
-#      * posix/bug-regex34.c: New file.
-#
-diff -urN glibc-2.12-2-gc4ccff1.orig/localedata/Makefile glibc-2.12-2-gc4ccff1/localedata/Makefile
---- glibc-2.12-2-gc4ccff1.orig/localedata/Makefile     2013-07-24 20:40:37.364888120 -0400
-+++ glibc-2.12-2-gc4ccff1/localedata/Makefile  2013-07-24 20:59:54.713289753 -0400
-@@ -133,7 +133,7 @@
- ifeq (no,$(cross-compiling))
- # We have to generate locales
- LOCALES := de_DE.ISO-8859-1 de_DE.UTF-8 en_US.ANSI_X3.4-1968 \
--         en_US.ISO-8859-1 ja_JP.EUC-JP da_DK.ISO-8859-1 \
-+         en_US.ISO-8859-1 en_US.UTF-8 ja_JP.EUC-JP da_DK.ISO-8859-1 \
-          hr_HR.ISO-8859-2 sv_SE.ISO-8859-1 ja_JP.SJIS fr_FR.ISO-8859-1 \
-          vi_VN.TCVN5712-1 nb_NO.ISO-8859-1 nn_NO.ISO-8859-1 \
-          tr_TR.UTF-8 cs_CZ.UTF-8 zh_TW.EUC-TW fa_IR.UTF-8 fr_FR.UTF-8 \
-diff -urN glibc-2.12-2-gc4ccff1.orig/posix/bug-regex34.c glibc-2.12-2-gc4ccff1/posix/bug-regex34.c
---- glibc-2.12-2-gc4ccff1.orig/posix/bug-regex34.c     1969-12-31 19:00:00.000000000 -0500
-+++ glibc-2.12-2-gc4ccff1/posix/bug-regex34.c  2013-07-24 20:59:54.713289753 -0400
-@@ -0,0 +1,46 @@
-+/* Test re_search with multi-byte characters in UTF-8.
-+   Copyright (C) 2013 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, see
-+   <http://www.gnu.org/licenses/>.  */
-+
-+#define _GNU_SOURCE 1
-+#include <stdio.h>
-+#include <string.h>
-+#include <locale.h>
-+#include <regex.h>
-+
-+static int
-+do_test (void)
-+{
-+  struct re_pattern_buffer r;
-+  /* ကျွန်ုပ်x */
-+  const char *s = "\xe1\x80\x80\xe1\x80\xbb\xe1\x80\xbd\xe1\x80\x94\xe1\x80\xba\xe1\x80\xaf\xe1\x80\x95\xe1\x80\xbax";
-+
-+  if (setlocale (LC_ALL, "en_US.UTF-8") == NULL)
-+    {
-+      puts ("setlocale failed");
-+      return 1;
-+    }
-+  memset (&r, 0, sizeof (r));
-+
-+  re_compile_pattern ("[^x]x", 5, &r);
-+  /* This was triggering a buffer overflow.  */
-+  re_search (&r, s, strlen (s), 0, strlen (s), 0);
-+  return 0;
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
-diff -urN glibc-2.12-2-gc4ccff1.orig/posix/Makefile glibc-2.12-2-gc4ccff1/posix/Makefile
---- glibc-2.12-2-gc4ccff1.orig/posix/Makefile  2013-07-24 20:40:37.399888098 -0400
-+++ glibc-2.12-2-gc4ccff1/posix/Makefile       2013-07-24 21:00:43.267265979 -0400
-@@ -94,7 +94,7 @@
-                  tst-rfc3484-3 \
-                  tst-getaddrinfo3 tst-fnmatch2 tst-cpucount tst-cpuset \
-                  bug-getopt1 bug-getopt2 bug-getopt3 bug-getopt4 \
--                 bug-getopt5
-+                 bug-getopt5 bug-regex34
- xtests                := bug-ga2
- ifeq (yes,$(build-shared))
- test-srcs     := globtest
-@@ -199,6 +199,7 @@
- bug-regex25-ENV = LOCPATH=$(common-objpfx)localedata
- bug-regex26-ENV = LOCPATH=$(common-objpfx)localedata
- bug-regex30-ENV = LOCPATH=$(common-objpfx)localedata
-+bug-regex34-ENV = LOCPATH=$(common-objpfx)localedata
- tst-rxspencer-ARGS = --utf8 rxspencer/tests
- tst-rxspencer-ENV = LOCPATH=$(common-objpfx)localedata
- tst-pcre-ARGS = PCRE.tests
-diff -urN glibc-2.12-2-gc4ccff1.orig/posix/regexec.c glibc-2.12-2-gc4ccff1/posix/regexec.c
---- glibc-2.12-2-gc4ccff1.orig/posix/regexec.c 2013-07-24 20:40:37.396888100 -0400
-+++ glibc-2.12-2-gc4ccff1/posix/regexec.c      2013-07-24 21:02:53.005156187 -0400
-@@ -198,7 +198,7 @@
- static int check_node_accept (const re_match_context_t *mctx,
-                             const re_token_t *node, int idx)
-      internal_function;
--static reg_errcode_t extend_buffers (re_match_context_t *mctx)
-+static reg_errcode_t extend_buffers (re_match_context_t *mctx, int min_len)
-      internal_function;
\f
- /* Entry point for POSIX code.  */
-@@ -1160,7 +1160,7 @@
-         || (BE (next_char_idx >= mctx->input.valid_len, 0)
-             && mctx->input.valid_len < mctx->input.len))
-       {
--        err = extend_buffers (mctx);
-+        err = extend_buffers (mctx, next_char_idx + 1);
-         if (BE (err != REG_NOERROR, 0))
-           {
-             assert (err == REG_ESPACE);
-@@ -1737,7 +1737,7 @@
-         && mctx->input.valid_len < mctx->input.len))
-     {
-       reg_errcode_t err;
--      err = extend_buffers (mctx);
-+      err = extend_buffers (mctx, next_state_log_idx + 1);
-       if (BE (err != REG_NOERROR, 0))
-       return err;
-     }
-@@ -2791,7 +2791,7 @@
-                 if (bkref_str_off >= mctx->input.len)
-                   break;
--                err = extend_buffers (mctx);
-+                err = extend_buffers (mctx, bkref_str_off + 1);
-                 if (BE (err != REG_NOERROR, 0))
-                   return err;
-@@ -4099,7 +4099,7 @@
- static reg_errcode_t
- internal_function __attribute_warn_unused_result__
--extend_buffers (re_match_context_t *mctx)
-+extend_buffers (re_match_context_t *mctx, int min_len)
- {
-   reg_errcode_t ret;
-   re_string_t *pstr = &mctx->input;
-@@ -4108,8 +4108,10 @@
-   if (BE (INT_MAX / 2 / sizeof (re_dfastate_t *) <= pstr->bufs_len, 0))
-     return REG_ESPACE;
--  /* Double the lengthes of the buffers.  */
--  ret = re_string_realloc_buffers (pstr, pstr->bufs_len * 2);
-+  /* Double the lengthes of the buffers, but allocate at least MIN_LEN.  */
-+  ret = re_string_realloc_buffers (pstr,
-+                                 MAX (min_len,
-+                                      MIN (pstr->len, pstr->bufs_len * 2)));
-   if (BE (ret != REG_NOERROR, 0))
-     return ret;
diff --git a/src/patches/glibc/glibc-rh905941.patch b/src/patches/glibc/glibc-rh905941.patch
deleted file mode 100644 (file)
index d5d50f2..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-diff -pruN a/nptl/sysdeps/pthread/unwind-forcedunwind.c b/nptl/sysdeps/pthread/unwind-forcedunwind.c
---- a/nptl/sysdeps/pthread/unwind-forcedunwind.c       2010-05-04 16:57:23.000000000 +0530
-+++ b/nptl/sysdeps/pthread/unwind-forcedunwind.c       2014-06-02 23:00:02.901013275 +0530
-@@ -45,8 +45,10 @@ pthread_cancel_init (void)
-   if (__builtin_expect (libgcc_s_handle != NULL, 1))
-     {
--      /* Force gcc to reload all values.  */
--      asm volatile ("" ::: "memory");
-+      /* Order reads so as to prevent speculation of loads
-+       of libgcc_s_{resume,personality,forcedunwind,getcfa}
-+       to points prior to the write barrier.  */
-+      atomic_read_barrier ();
-       return;
-     }
-@@ -72,9 +74,14 @@ pthread_cancel_init (void)
-   libgcc_s_forcedunwind = forcedunwind;
-   PTR_MANGLE (getcfa);
-   libgcc_s_getcfa = getcfa;
--  /* Make sure libgcc_s_handle is written last.  Otherwise,
--     pthread_cancel_init might return early even when the pointer the
--     caller is interested in is not initialized yet.  */
-+  /* At the point at which any thread writes the handle
-+     to libgcc_s_handle, the initialization is complete.
-+     The writing of libgcc_s_handle is atomic. All other
-+     threads reading libgcc_s_handle do so atomically. Any
-+     thread that does not execute this function must issue
-+     a read barrier to ensure that all of the above has
-+     actually completed and that the values of the
-+     function pointers are correct.   */
-   atomic_write_barrier ();
-   libgcc_s_handle = handle;
- }
-@@ -91,11 +98,19 @@ __unwind_freeres (void)
-     }
- }
--void
--_Unwind_Resume (struct _Unwind_Exception *exc)
-+static __always_inline void
-+_maybe_pthread_cancel_init (void)
- {
-   if (__builtin_expect (libgcc_s_handle == NULL, 0))
-     pthread_cancel_init ();
-+  else
-+    atomic_read_barrier ();
-+}
-+
-+void
-+_Unwind_Resume (struct _Unwind_Exception *exc)
-+{
-+  _maybe_pthread_cancel_init ();
-   void (*resume) (struct _Unwind_Exception *exc) = libgcc_s_resume;
-   PTR_DEMANGLE (resume);
-@@ -108,8 +123,7 @@ __gcc_personality_v0 (int version, _Unwi
-                       struct _Unwind_Exception *ue_header,
-                       struct _Unwind_Context *context)
- {
--  if (__builtin_expect (libgcc_s_handle == NULL, 0))
--    pthread_cancel_init ();
-+  _maybe_pthread_cancel_init ();
-   _Unwind_Reason_Code (*personality)
-     (int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *,
-@@ -122,8 +136,7 @@ _Unwind_Reason_Code
- _Unwind_ForcedUnwind (struct _Unwind_Exception *exc, _Unwind_Stop_Fn stop,
-                     void *stop_argument)
- {
--  if (__builtin_expect (libgcc_s_handle == NULL, 0))
--    pthread_cancel_init ();
-+  _maybe_pthread_cancel_init ();
-   _Unwind_Reason_Code (*forcedunwind)
-     (struct _Unwind_Exception *, _Unwind_Stop_Fn, void *)
-@@ -135,8 +148,7 @@ _Unwind_ForcedUnwind (struct _Unwind_Exc
- _Unwind_Word
- _Unwind_GetCFA (struct _Unwind_Context *context)
- {
--  if (__builtin_expect (libgcc_s_handle == NULL, 0))
--    pthread_cancel_init ();
-+  _maybe_pthread_cancel_init ();
-   _Unwind_Word (*getcfa) (struct _Unwind_Context *) = libgcc_s_getcfa;
-   PTR_DEMANGLE (getcfa);
-diff -pruN a/sysdeps/gnu/unwind-resume.c b/sysdeps/gnu/unwind-resume.c
---- a/sysdeps/gnu/unwind-resume.c      2010-05-04 16:57:23.000000000 +0530
-+++ b/sysdeps/gnu/unwind-resume.c      2014-06-02 23:02:26.812007078 +0530
-@@ -20,8 +20,11 @@
- #include <dlfcn.h>
- #include <stdio.h>
- #include <unwind.h>
-+#include <pthreadP.h>
-+#include <sysdep.h>
- #include <libgcc_s.h>
-+static void *libgcc_s_handle;
- static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
- static _Unwind_Reason_Code (*libgcc_s_personality)
-   (int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *,
-@@ -42,13 +45,32 @@ init (void)
-   libgcc_s_resume = resume;
-   libgcc_s_personality = personality;
-+  atomic_write_barrier ();
-+  /* At the point at which any thread writes the handle
-+     to libgcc_s_handle, the initialization is complete.
-+     The writing of libgcc_s_handle is atomic. All other
-+     threads reading libgcc_s_handle do so atomically. Any
-+     thread that does not execute this function must issue
-+     a read barrier to ensure that all of the above has
-+     actually completed and that the values of the
-+     function pointers are correct.   */
-+  libgcc_s_handle = handle;
- }
-+static __always_inline void
-+_maybe_init (void)
-+{
-+  if (__builtin_expect (libgcc_s_handle == NULL, 0))
-+    init ();
-+  else
-+    atomic_read_barrier ();
-+}
-+
-+
- void
- _Unwind_Resume (struct _Unwind_Exception *exc)
- {
--  if (__builtin_expect (libgcc_s_resume == NULL, 0))
--    init ();
-+  _maybe_init ();
-   libgcc_s_resume (exc);
- }
-@@ -58,8 +80,7 @@ __gcc_personality_v0 (int version, _Unwi
-                       struct _Unwind_Exception *ue_header,
-                       struct _Unwind_Context *context)
- {
--  if (__builtin_expect (libgcc_s_personality == NULL, 0))
--    init ();
-+  _maybe_init ();
-   return libgcc_s_personality (version, actions, exception_class,
-                              ue_header, context);
- }
diff --git a/src/patches/glibc/glibc-rh916986.patch b/src/patches/glibc/glibc-rh916986.patch
deleted file mode 100644 (file)
index 9bed61f..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-commit cf7c9078a5acdbb435498ace92cd81009637a971
-Author: Ulrich Drepper <drepper@redhat.com>
-Date:   Fri Nov 19 09:35:39 2010 -0500
-
-    Define MAP_HUGETLB.
-
-       * sysdeps/unix/sysv/linux/i386/bits/mman.h: Define MAP_HUGETLB.
-       * sysdeps/unix/sysv/linux/x86_64/bits/mman.h: Likewise.
-
-commit dd62fda6cc83b3afa150a4be7d273ab118bf9825
-Author: Anton Blanchard <anton@samba.org>
-Date:   Tue Mar 27 18:37:16 2012 -0700
-
-    Define MAP_STACK and MAP_HUGETLB on powerpc, s390, sh and sparc.
-    
-        * sysdeps/unix/sysv/linux/powerpc/bits/mman.h: Define MAP_STACK and
-        MAP_HUGETLB.
-        * sysdeps/unix/sysv/linux/s390/bits/mman.h: Likewise.
-        * sysdeps/unix/sysv/linux/sh/bits/mman.h: Likewise.
-        * sysdeps/unix/sysv/linux/sparc/bits/mman.h: Likewise.
-
-commit 7e4fc5890e07549e5ad98b4244e3e0ed5c709e6a
-Author: Mike Frysinger <vapier@gentoo.org>
-Date:   Mon Apr 16 22:44:23 2012 -0400
-
-    ia64: add MAP_{STACK,HUGETLB} to bits/mman.h
-
-    Just adding new bit flags that newer kernels define.
-
-    Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-
-       * sysdeps/unix/sysv/linux/ia64/bits/mman.h (MAP_STACK): Define.
-       (MAP_HUGETLB): Likewise.
-
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/powerpc/bits/mman.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/powerpc/bits/mman.h     2013-07-23 04:01:42.440052942 -0300
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/powerpc/bits/mman.h  2013-07-23 22:26:42.317789260 -0300
-@@ -65,6 +65,8 @@
- # define MAP_NORESERVE        0x00040         /* Don't check for reservations.  */
- # define MAP_POPULATE 0x08000         /* Populate (prefault) pagetables.  */
- # define MAP_NONBLOCK 0x10000         /* Do not block on IO.  */
-+# define MAP_STACK    0x20000         /* Allocation is for a stack.  */
-+# define MAP_HUGETLB  0x40000         /* Create huge page mapping.  */
- #endif
- /* Flags to `msync'.  */
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/s390/bits/mman.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/s390/bits/mman.h        2013-07-23 04:01:42.447052393 -0300
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/s390/bits/mman.h     2013-07-23 22:26:42.335787833 -0300
-@@ -64,6 +64,8 @@
- # define MAP_NORESERVE        0x04000         /* Don't check for reservations.  */
- # define MAP_POPULATE 0x08000         /* Populate (prefault) pagetables.  */
- # define MAP_NONBLOCK 0x10000         /* Do not block on IO.  */
-+# define MAP_STACK    0x20000         /* Allocation is for a stack.  */
-+# define MAP_HUGETLB  0x40000         /* Create huge page mapping.  */
- #endif
- /* Flags to `msync'.  */
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/sh/bits/mman.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/sh/bits/mman.h  2010-05-04 08:27:23.000000000 -0300
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/sh/bits/mman.h       2013-07-23 22:26:42.336787753 -0300
-@@ -64,6 +64,8 @@
- # define MAP_NORESERVE        0x4000          /* Don't check for reservations.  */
- # define MAP_POPULATE 0x8000          /* Populate (prefault) pagetables.  */
- # define MAP_NONBLOCK 0x10000         /* Do not block on IO.  */
-+# define MAP_STACK    0x20000         /* Allocation is for a stack.  */
-+# define MAP_HUGETLB  0x40000         /* Create huge page mapping.  */
- #endif
- /* Flags to `msync'.  */
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/sparc/bits/mman.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/sparc/bits/mman.h       2010-05-04 08:27:23.000000000 -0300
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/sparc/bits/mman.h    2013-07-23 22:26:42.337787674 -0300
-@@ -66,6 +66,8 @@
- # define _MAP_NEW     0x80000000      /* Binary compatibility with SunOS.  */
- # define MAP_POPULATE 0x8000          /* Populate (prefault) pagetables.  */
- # define MAP_NONBLOCK 0x10000         /* Do not block on IO.  */
-+# define MAP_STACK    0x20000         /* Allocation is for a stack.  */
-+# define MAP_HUGETLB  0x40000         /* Create huge page mapping.  */
- #endif
- /* Flags to `msync'.  */
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/i386/bits/mman.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/i386/bits/mman.h        2013-07-23 04:01:42.406055607 -0300
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/i386/bits/mman.h     2013-07-23 22:32:37.407630135 -0300
-@@ -64,6 +64,7 @@
- # define MAP_POPULATE 0x08000         /* Populate (prefault) pagetables.  */
- # define MAP_NONBLOCK 0x10000         /* Do not block on IO.  */
- # define MAP_STACK    0x20000         /* Allocation is for a stack.  */
-+# define MAP_HUGETLB  0x40000         /* Create huge page mapping.  */
- #endif
- /* Flags to `msync'.  */
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/x86_64/bits/mman.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/x86_64/bits/mman.h      2013-07-23 04:01:42.493048788 -0300
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/x86_64/bits/mman.h   2013-07-23 22:32:37.433628073 -0300
-@@ -65,6 +65,7 @@
- # define MAP_POPULATE 0x08000         /* Populate (prefault) pagetables.  */
- # define MAP_NONBLOCK 0x10000         /* Do not block on IO.  */
- # define MAP_STACK    0x20000         /* Allocation is for a stack.  */
-+# define MAP_HUGETLB  0x40000         /* Create huge page mapping.  */
- #endif
- /* Flags to `msync'.  */
-Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/ia64/bits/mman.h
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/ia64/bits/mman.h        2010-05-04 08:27:23.000000000 -0300
-+++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/ia64/bits/mman.h     2013-07-23 22:37:28.643530951 -0300
-@@ -65,6 +65,8 @@
- # define MAP_NORESERVE          0x04000       /* Don't check for reservations.  */
- # define MAP_POPULATE   0x08000       /* Populate (prefault) pagetables.  */
- # define MAP_NONBLOCK   0x10000       /* Do not block on IO.  */
-+# define MAP_STACK      0x20000       /* Allocation is for a stack.  */
-+# define MAP_HUGETLB    0x40000       /* Create huge page mapping.  */
- #endif
- /* Flags to `msync'.  */
diff --git a/src/patches/glibc/glibc-rh919562.patch b/src/patches/glibc/glibc-rh919562.patch
deleted file mode 100644 (file)
index 42aa819..0000000
+++ /dev/null
@@ -1,190 +0,0 @@
-#
-# Patch provided by Ulrich Drepper in BZ#919562.
-#
-# Patch has not been sent upstream.
-#
-# 2013-03-08  Ulrich Drepper  <drepper@gmail.com>
-#
-#      * elf/rtld.c (dl_main): Correctly determine when the application
-#      required DSOs with TLS and bump the generation counter in that
-#      case.  The current condition does not account for an audit
-#      module using TLS.
-#      * elf/dl-tls.c (_dl_count_modids): New function.
-#      (_dl_allocate_tls_init): Add assertion to check TLS
-#      generation.
-#      * sysdeps/generic/ldsodefs.h: Declare _dl_count_modids.
-#      * elf/Makefile: Add rules to build and run tst-audit9.
-#      * elf/tst-audit9.c: New file.
-#      * elf/tst-auditmod9a.c: New file.
-#      * elf/tst-auditmod9b.c: New file.
-#
-diff -urN glibc-2.12-2-gc4ccff1.orig/elf/dl-tls.c glibc-2.12-2-gc4ccff1/elf/dl-tls.c
---- glibc-2.12-2-gc4ccff1.orig/elf/dl-tls.c    2013-04-24 16:06:10.410756438 -0400
-+++ glibc-2.12-2-gc4ccff1/elf/dl-tls.c 2013-04-24 16:06:49.092604707 -0400
-@@ -109,6 +109,28 @@
- }
-+size_t
-+internal_function
-+_dl_count_modids (void)
-+{
-+  if (! __builtin_expect (GL(dl_tls_dtv_gaps), true))
-+    return GL(dl_tls_max_dtv_idx);
-+
-+  size_t n = 0;
-+  struct dtv_slotinfo_list *runp = GL(dl_tls_dtv_slotinfo_list);
-+  while (runp != NULL)
-+    {
-+      for (size_t i = 0; i < runp->len; ++i)
-+      if (runp->slotinfo[i].map != NULL)
-+        ++n;
-+
-+      runp = runp->next;
-+    }
-+
-+  return n;
-+}
-+
-+
- #ifdef SHARED
- void
- internal_function
-@@ -411,6 +433,7 @@
-         /* Keep track of the maximum generation number.  This might
-            not be the generation counter.  */
-+        assert (listp->slotinfo[cnt].gen <= GL(dl_tls_generation));
-         maxgen = MAX (maxgen, listp->slotinfo[cnt].gen);
-         if (map->l_tls_offset == NO_TLS_OFFSET
-diff -urN glibc-2.12-2-gc4ccff1.orig/elf/Makefile glibc-2.12-2-gc4ccff1/elf/Makefile
---- glibc-2.12-2-gc4ccff1.orig/elf/Makefile    2013-04-24 16:06:10.408756448 -0400
-+++ glibc-2.12-2-gc4ccff1/elf/Makefile 2013-04-24 16:07:29.475457962 -0400
-@@ -97,6 +97,8 @@
-                  tst-audit6.c tst-auditmod6a.c tst-auditmod6b.c \
-                  tst-auditmod6c.c \
-                  tst-audit7.c tst-auditmod7a.c tst-auditmod7b.c \
-+                 tst-audit9.c \
-+                 tst-auditmod9a.c tst-auditmod9b.c \
-                  order2mod1.c order2mod2.c order2mod3.c order2mod4.c \
-                  tst-stackguard1.c tst-stackguard1-static.c \
-                  tst-array5.c tst-array5-static.c tst-array5dep.c \
-@@ -198,7 +200,7 @@
-        tst-dlmodcount tst-dlopenrpath tst-deep1 \
-        tst-dlmopen1 tst-dlmopen2 tst-dlmopen3 \
-        unload3 unload4 unload5 unload6 unload7 unload8 tst-global1 order2 \
--       tst-audit1 tst-audit2 \
-+       tst-audit1 tst-audit2 tst-audit9 \
-        tst-stackguard1 tst-addr1 tst-thrlock \
-        tst-unique1 tst-unique2
- #      reldep9
-@@ -251,7 +253,8 @@
-               unload8mod1 unload8mod1x unload8mod2 unload8mod3 \
-               order2mod1 order2mod2 order2mod3 order2mod4 \
-               tst-unique1mod1 tst-unique1mod2 \
--              tst-unique2mod1 tst-unique2mod2
-+              tst-unique2mod1 tst-unique2mod2 \
-+              tst-auditmod9a tst-auditmod9b
- ifeq (yes,$(have-initfini-array))
- modules-names += tst-array2dep tst-array5dep
- endif
-@@ -574,6 +577,8 @@
- ifuncmod1.so-no-z-defs = yes
- ifuncmod5.so-no-z-defs = yes
- ifuncmod6.so-no-z-defs = yes
-+tst-auditmod9a.so-no-z-defs = yes
-+tst-auditmod9b.so-no-z-defs = yes
- ifeq ($(build-shared),yes)
- # Build all the modules even when not actually running test programs.
-@@ -1015,6 +1020,10 @@
- $(objpfx)tst-audit7.out: $(objpfx)tst-auditmod7b.so
- tst-audit7-ENV = LD_AUDIT=$(objpfx)tst-auditmod7b.so
-+$(objpfx)tst-audit9: $(libdl)
-+$(objpfx)tst-audit9.out: $(objpfx)tst-auditmod9a.so $(objpfx)tst-auditmod9b.so
-+tst-audit9-ENV = LD_AUDIT=$(objpfx)tst-auditmod9a.so
-+
- $(objpfx)tst-global1: $(libdl)
- $(objpfx)tst-global1.out: $(objpfx)testobj6.so $(objpfx)testobj2.so
-diff -urN glibc-2.12-2-gc4ccff1.orig/elf/rtld.c glibc-2.12-2-gc4ccff1/elf/rtld.c
---- glibc-2.12-2-gc4ccff1.orig/elf/rtld.c      2013-04-24 16:06:10.410756438 -0400
-+++ glibc-2.12-2-gc4ccff1/elf/rtld.c   2013-04-24 16:06:49.096604693 -0400
-@@ -1637,6 +1637,10 @@
-       }
-     }
-+  /* Keep track of the currently loaded modules to count how many
-+     non-audit modules which use TLS are loaded.  */
-+  size_t count_modids = _dl_count_modids ();
-+
-   /* Set up debugging before the debugger is notified for the first time.  */
- #ifdef ELF_MACHINE_DEBUG_SETUP
-   /* Some machines (e.g. MIPS) don't use DT_DEBUG in this way.  */
-@@ -2281,7 +2285,8 @@
- # define NONTLS_INIT_TP do { } while (0)
- #endif
--  if (!was_tls_init_tp_called && GL(dl_tls_max_dtv_idx) > 0)
-+  if ((!was_tls_init_tp_called && GL(dl_tls_max_dtv_idx) > 0)
-+      || count_modids != _dl_count_modids ())
-     ++GL(dl_tls_generation);
-   /* Now that we have completed relocation, the initializer data
-diff -urN glibc-2.12-2-gc4ccff1.orig/elf/tst-audit9.c glibc-2.12-2-gc4ccff1/elf/tst-audit9.c
---- glibc-2.12-2-gc4ccff1.orig/elf/tst-audit9.c        1969-12-31 19:00:00.000000000 -0500
-+++ glibc-2.12-2-gc4ccff1/elf/tst-audit9.c     2013-04-24 16:06:49.096604693 -0400
-@@ -0,0 +1,8 @@
-+#include <dlfcn.h>
-+
-+int main(void)
-+{
-+  void *h = dlopen("$ORIGIN/tst-auditmod9b.so", RTLD_LAZY);
-+  int (*fp)(void) = dlsym(h, "f");
-+  return fp() - 1;
-+}
-diff -urN glibc-2.12-2-gc4ccff1.orig/elf/tst-auditmod9a.c glibc-2.12-2-gc4ccff1/elf/tst-auditmod9a.c
---- glibc-2.12-2-gc4ccff1.orig/elf/tst-auditmod9a.c    1969-12-31 19:00:00.000000000 -0500
-+++ glibc-2.12-2-gc4ccff1/elf/tst-auditmod9a.c 2013-04-24 16:06:49.097604689 -0400
-@@ -0,0 +1,16 @@
-+#include <stdint.h>
-+
-+__thread int var;
-+
-+unsigned int
-+la_version (unsigned int v)
-+{
-+  return v;
-+}
-+
-+void
-+la_activity (uintptr_t *cookie, unsigned int flag)
-+{
-+  ++var;
-+}
-+
-diff -urN glibc-2.12-2-gc4ccff1.orig/elf/tst-auditmod9b.c glibc-2.12-2-gc4ccff1/elf/tst-auditmod9b.c
---- glibc-2.12-2-gc4ccff1.orig/elf/tst-auditmod9b.c    1969-12-31 19:00:00.000000000 -0500
-+++ glibc-2.12-2-gc4ccff1/elf/tst-auditmod9b.c 2013-04-24 16:06:49.097604689 -0400
-@@ -0,0 +1,6 @@
-+__thread int a;
-+
-+int f(void)
-+{
-+  return ++a;
-+}
-diff -urN glibc-2.12-2-gc4ccff1.orig/sysdeps/generic/ldsodefs.h glibc-2.12-2-gc4ccff1/sysdeps/generic/ldsodefs.h
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/generic/ldsodefs.h      2013-04-24 16:06:10.545755798 -0400
-+++ glibc-2.12-2-gc4ccff1/sysdeps/generic/ldsodefs.h   2013-04-24 16:06:49.098604686 -0400
-@@ -1031,6 +1031,9 @@
- /* Determine next available module ID.  */
- extern size_t _dl_next_tls_modid (void) internal_function attribute_hidden;
-+/* Count the modules with TLS segments.  */
-+extern size_t _dl_count_modids (void) internal_function attribute_hidden;
-+
- /* Calculate offset of the TLS blocks in the static TLS block.  */
- extern void _dl_determine_tlsoffset (void) internal_function attribute_hidden;
diff --git a/src/patches/glibc/glibc-rh928318.patch b/src/patches/glibc/glibc-rh928318.patch
deleted file mode 100644 (file)
index 36aa19a..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/resolv/res_init.c b/resolv/res_init.c
-index 40dbe7d..202569d 100644
---- a/resolv/res_init.c
-+++ b/resolv/res_init.c
-@@ -176,13 +176,6 @@ __res_vinit(res_state statp, int preinit) {
-               statp->id = res_randomid();
-       }
--#ifdef USELOOPBACK
--      statp->nsaddr.sin_addr = inet_makeaddr(IN_LOOPBACKNET, 1);
--#else
--      statp->nsaddr.sin_addr.s_addr = INADDR_ANY;
--#endif
--      statp->nsaddr.sin_family = AF_INET;
--      statp->nsaddr.sin_port = htons(NAMESERVER_PORT);
-       statp->nscount = 0;
-       statp->ndots = 1;
-       statp->pfcode = 0;
-@@ -433,6 +426,12 @@ __res_vinit(res_state statp, int preinit) {
- #endif
-           (void) fclose(fp);
-       }
-+      if (__builtin_expect(statp->nscount == 0, 0)) {
-+          statp->nsaddr.sin_addr = inet_makeaddr(IN_LOOPBACKNET, 1);
-+          statp->nsaddr.sin_family = AF_INET;
-+          statp->nsaddr.sin_port = htons(NAMESERVER_PORT);
-+          statp->nscount = 1;
-+      }
-       if (statp->defdname[0] == 0 &&
-           __gethostname(buf, sizeof(statp->defdname) - 1) == 0 &&
-           (cp = strchr(buf, '.')) != NULL)
diff --git a/src/patches/glibc/glibc-rh929302.patch b/src/patches/glibc/glibc-rh929302.patch
deleted file mode 100644 (file)
index 305b339..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-From decadad73858bc108828eed5540c7955dc2a977b Mon Sep 17 00:00:00 2001
-From: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
-Date: Fri, 7 Jun 2013 14:44:58 -0500
-Subject: [PATCH 1/2] PowerPC: Change sched_getcpu to use vDSO getcpu instead of syscall.
-
-Backport of d5e0b9bd6e296f3ec5263fa296d39f3fed9b8fa2 from master.
----
- sysdeps/unix/sysv/linux/powerpc/Versions         |    1 +
- sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h |    2 +
- sysdeps/unix/sysv/linux/powerpc/init-first.c     |    3 ++
- sysdeps/unix/sysv/linux/powerpc/sched_getcpu.c   |   30 ++++++++++++++++++++++
- 4 files changed, 36 insertions(+), 0 deletions(-)
- create mode 100644 sysdeps/unix/sysv/linux/powerpc/sched_getcpu.c
-
-diff --git a/sysdeps/unix/sysv/linux/powerpc/Versions b/sysdeps/unix/sysv/linux/powerpc/Versions
-index 1ef53b9..396a423 100644
---- a/sysdeps/unix/sysv/linux/powerpc/Versions
-+++ b/sysdeps/unix/sysv/linux/powerpc/Versions
-@@ -3,5 +3,6 @@ libc {
-     __vdso_get_tbfreq;
-     __vdso_clock_gettime;
-     __vdso_clock_getres;
-+    __vdso_getcpu;
-   }
- }
-diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h b/sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h
-index 746d9ce..c3026d5 100644
---- a/sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h
-+++ b/sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h
-@@ -31,6 +31,8 @@ extern void *__vdso_clock_getres;
- extern void *__vdso_get_tbfreq;
-+extern void *__vdso_getcpu;
-+
- #endif
- #endif /* _LIBC_VDSO_H */
-diff --git a/sysdeps/unix/sysv/linux/powerpc/init-first.c b/sysdeps/unix/sysv/linux/powerpc/init-first.c
-index 92dacc7..cfed655 100644
---- a/sysdeps/unix/sysv/linux/powerpc/init-first.c
-+++ b/sysdeps/unix/sysv/linux/powerpc/init-first.c
-@@ -27,6 +27,7 @@ void *__vdso_gettimeofday attribute_hidden;
- void *__vdso_clock_gettime;
- void *__vdso_clock_getres;
- void *__vdso_get_tbfreq;
-+void *__vdso_getcpu;
- static inline void
-@@ -41,6 +42,8 @@ _libc_vdso_platform_setup (void)
-   __vdso_clock_getres = _dl_vdso_vsym ("__kernel_clock_getres", &linux2615);
-   __vdso_get_tbfreq = _dl_vdso_vsym ("__kernel_vdso_get_tbfreq", &linux2615);
-+
-+  __vdso_getcpu = _dl_vdso_vsym ("__kernel_getcpu", &linux2615);
- }
- # define VDSO_SETUP _libc_vdso_platform_setup
-diff --git a/sysdeps/unix/sysv/linux/powerpc/sched_getcpu.c b/sysdeps/unix/sysv/linux/powerpc/sched_getcpu.c
-new file mode 100644
-index 0000000..617e6f1
---- /dev/null
-+++ b/sysdeps/unix/sysv/linux/powerpc/sched_getcpu.c
-@@ -0,0 +1,30 @@
-+/* Copyright (C) 2013 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, see
-+   <http://www.gnu.org/licenses/>.  */
-+
-+#include <sched.h>
-+#include <sysdep.h>
-+#include <bits/libc-vdso.h>
-+
-+
-+int
-+sched_getcpu (void)
-+{
-+  unsigned int cpu;
-+  int r = INLINE_VSYSCALL (getcpu, 3, &cpu, NULL, NULL);
-+
-+  return r == -1 ? r : cpu;
-+}
--- 
-1.7.1
-
diff --git a/src/patches/glibc/glibc-rh929388.patch b/src/patches/glibc/glibc-rh929388.patch
deleted file mode 100644 (file)
index 44ddd17..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -pruN glibc-2.5-20061008T1257/sysdeps/x86_64/fpu/math_private.h glibc-2.5-20061008T1257.patched/sysdeps/x86_64/fpu/math_private.h
---- glibc-2.5-20061008T1257/sysdeps/x86_64/fpu/math_private.h  2013-02-12 07:05:08.000000000 -0500
-+++ glibc-2.5-20061008T1257.patched/sysdeps/x86_64/fpu/math_private.h  2013-02-12 06:59:08.000000000 -0500
-@@ -90,10 +90,14 @@ while (0)
- #undef libc_feupdateenv
- #define libc_feupdateenv(e) \
-   do {                                                                              \
--    unsigned int mxcsr;                                                             \
-+    unsigned int mxcsr, new_mxcsr;                                          \
-     asm volatile ("stmxcsr %0" : "=m" (*&mxcsr));                           \
--    asm volatile ("ldmxcsr %0" : : "m" ((e)->__mxcsr));                             \
--    feraiseexcept (mxcsr & FE_ALL_EXCEPT);                                  \
-+    /* Merge in the old exceptions.  */                                             \
-+    new_mxcsr = mxcsr & FE_ALL_EXCEPT | (e)->__mxcsr;                       \
-+    asm volatile ("ldmxcsr %0" : : "m" (*&new_mxcsr));                              \
-+    /* Only raise exception if there are any that are not masked.  */       \
-+    if (~(mxcsr >> 7) & mxcsr & FE_ALL_EXCEPT)                                      \
-+      feraiseexcept (mxcsr & FE_ALL_EXCEPT);                                \
-   } while (0)
- #undef libc_feupdateenvf
- #define libc_feupdateenvf(e) libc_feupdateenv (e)
diff --git a/src/patches/glibc/glibc-rh947882.patch b/src/patches/glibc/glibc-rh947882.patch
deleted file mode 100644 (file)
index 6d10982..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-#
-# Backport from upstream:
-#
-# From 1cef1b19089528db11f221e938f60b9b048945d7 Mon Sep 17 00:00:00 2001
-# From: Andreas Schwab <schwab@suse.de>
-# Date: Thu, 21 Mar 2013 15:50:27 +0100
-# Subject: [PATCH] Fix stack overflow in getaddrinfo with many results
-#
-# ---
-# ChangeLog                   |    6 ++++++
-# NEWS                        |    5 ++++-
-# sysdeps/posix/getaddrinfo.c |   23 +++++++++++++++++++++--
-# 3 files changed, 31 insertions(+), 3 deletions(-)
-#
-# 2013-04-03  Andreas Schwab  <schwab@suse.de>
-#
-#      [BZ #15330]
-#      * sysdeps/posix/getaddrinfo.c (getaddrinfo): Allocate results and
-#      order arrays from heap if bigger than alloca cutoff.
-#
-diff -urN glibc-2.12-2-gc4ccff1.orig/sysdeps/posix/getaddrinfo.c glibc-2.12-2-gc4ccff1/sysdeps/posix/getaddrinfo.c
---- glibc-2.12-2-gc4ccff1.orig/sysdeps/posix/getaddrinfo.c     2013-07-24 20:40:37.601887975 -0400
-+++ glibc-2.12-2-gc4ccff1/sysdeps/posix/getaddrinfo.c  2013-07-24 20:54:32.722447705 -0400
-@@ -2386,11 +2386,27 @@
-       __typeof (once) old_once = once;
-       __libc_once (once, gaiconf_init);
-       /* Sort results according to RFC 3484.  */
--      struct sort_result results[nresults];
--      size_t order[nresults];
-+      struct sort_result *results;
-+      size_t *order;
-       struct addrinfo *q;
-       struct addrinfo *last = NULL;
-       char *canonname = NULL;
-+      bool malloc_results;
-+
-+      malloc_results
-+      = !__libc_use_alloca (nresults * (sizeof (*results) + sizeof (*order)));
-+      if (malloc_results)
-+      {
-+        results = malloc (nresults * (sizeof (*results) + sizeof (*order)));
-+        if (results == NULL)
-+          {
-+            free (in6ai);
-+            return EAI_MEMORY;
-+          }
-+      }
-+      else
-+      results = alloca (nresults * (sizeof (*results) + sizeof (*order)));
-+      order = (size_t *) (results + nresults);
-       /* If we have information about deprecated and temporary addresses
-        sort the array now.  */
-@@ -2557,6 +2573,9 @@
-       /* Fill in the canonical name into the new first entry.  */
-       p->ai_canonname = canonname;
-+
-+      if (malloc_results)
-+      free (results);
-     }
-   free (in6ai);
diff --git a/src/patches/glibc/glibc-rh952422.patch b/src/patches/glibc/glibc-rh952422.patch
deleted file mode 100644 (file)
index c73bf52..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-diff --git a/sysdeps/unix/sysv/linux/getsysstats.c b/sysdeps/unix/sysv/linux/getsysstats.c
-index af454b6..249bd19 100644
---- a/sysdeps/unix/sysv/linux/getsysstats.c
-+++ b/sysdeps/unix/sysv/linux/getsysstats.c
-@@ -35,6 +34,7 @@
- #include <atomic.h>
- #include <not-cancel.h>
-+#include <kernel-features.h>
- /* How we can determine the number of available processors depends on
-@@ -49,8 +49,6 @@
-    But not all systems have support for the /proc filesystem.  If it
-    is not available we simply return 1 since there is no way.  */
--#include <not-cancel.h>
--
- /* Other architectures use different formats for /proc/cpuinfo.  This
-    provides a hook for alternative parsers.  */
-@@ -128,6 +126,15 @@ next_line (int fd, char *const buffer, char **cp, char **re,
- int
- __get_nprocs ()
- {
-+  static int cached_result;
-+  static time_t timestamp;
-+
-+  time_t now = time (NULL);
-+  time_t prev = timestamp;
-+  atomic_read_barrier ();
-+  if (now == prev)
-+    return cached_result;
-+
-   /* XXX Here will come a test for the new system call.  */
-   const size_t buffer_size = __libc_use_alloca (8192) ? 8192 : 512;
-@@ -135,20 +142,65 @@ __get_nprocs ()
-   char *buffer_end = buffer + buffer_size;
-   char *cp = buffer_end;
-   char *re = buffer_end;
--  int result = 1;
- #ifdef O_CLOEXEC
-   const int flags = O_RDONLY | O_CLOEXEC;
- #else
-   const int flags = O_RDONLY;
- #endif
-+  int fd = open_not_cancel_2 ("/sys/devices/system/cpu/online", flags);
-+  char *l;
-+  int result = 0;
-+  if (fd != -1)
-+    {
-+      l = next_line (fd, buffer, &cp, &re, buffer_end);
-+      if (l != NULL)
-+      do
-+        {
-+          char *endp;
-+          unsigned long int n = strtoul (l, &endp, 10);
-+          if (l == endp)
-+            {
-+              result = 0;
-+              break;
-+            }
-+
-+          unsigned long int m = n;
-+          if (*endp == '-')
-+            {
-+              l = endp + 1;
-+              m = strtoul (l, &endp, 10);
-+              if (l == endp)
-+                {
-+                  result = 0;
-+                  break;
-+                }
-+            }
-+
-+          result += m - n + 1;
-+
-+          l = endp;
-+          while (l < re && isspace (*l))
-+            ++l;
-+        }
-+      while (l < re);
-+
-+      close_not_cancel_no_status (fd);
-+
-+      if (result > 0)
-+      goto out;
-+    }
-+
-+  cp = buffer_end;
-+  re = buffer_end;
-+  result = 1;
-+
-   /* The /proc/stat format is more uniform, use it by default.  */
--  int fd = open_not_cancel_2 ("/proc/stat", flags);
-+  fd = open_not_cancel_2 ("/proc/stat", flags);
-   if (fd != -1)
-     {
-       result = 0;
--      char *l;
-       while ((l = next_line (fd, buffer, &cp, &re, buffer_end)) != NULL)
-       /* The current format of /proc/stat has all the cpu* entries
-          at the front.  We assume here that stays this way.  */
-@@ -169,6 +221,11 @@ __get_nprocs ()
-       }
-     }
-+ out:
-+  cached_result = result;
-+  atomic_write_barrier ();
-+  timestamp = now;
-+
-   return result;
- }
- weak_alias (__get_nprocs, get_nprocs)
-@@ -236,7 +293,7 @@ phys_pages_info (const char *format)
-   long int result = -1;
-   /* If we haven't found an appropriate entry return 1.  */
--  FILE *fp = fopen ("/proc/meminfo", "rc");
-+  FILE *fp = fopen ("/proc/meminfo", "rce");
-   if (fp != NULL)
-     {
-       /* No threads use this stream.  */
diff --git a/src/patches/glibc/glibc-rh966775.patch b/src/patches/glibc/glibc-rh966775.patch
deleted file mode 100644 (file)
index 32a0f21..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-diff -pruN glibc-2.12-2-gc4ccff1/math/math_private.h glibc-2.12-2-gc4ccff1.new/math/math_private.h
---- glibc-2.12-2-gc4ccff1/math/math_private.h  2013-06-07 08:35:52.785442441 -0400
-+++ glibc-2.12-2-gc4ccff1.new/math/math_private.h      2013-06-07 08:29:35.621042340 -0400
-@@ -394,4 +394,31 @@ extern void __docos (double __x, double 
- #define libc_feupdateenvf(e) (void) feupdateenv (e)
- #define libc_feupdateenvl(e) (void) feupdateenv (e)
-+/* Save and set the rounding mode.  The use of fenv_t to store the old mode
-+   allows a target-specific version of this function to avoid converting the
-+   rounding mode from the fpu format.  By default we have no choice but to
-+   manipulate the entire env.  */
-+
-+#ifndef libc_feholdsetround
-+# define libc_feholdsetround(e, r, c)  libc_feholdexcept_setround(e, r)
-+#endif
-+#ifndef libc_feholdsetroundf
-+# define libc_feholdsetroundf(e, r, c) libc_feholdexcept_setroundf(e, r)
-+#endif
-+#ifndef libc_feholdsetroundl
-+# define libc_feholdsetroundl(e, r, c) libc_feholdexcept_setroundl(e, r)
-+#endif
-+
-+/* ... and the reverse.  */
-+
-+#ifndef libc_feresetround
-+# define libc_feresetround(e, c)  libc_feupdateenv(e)
-+#endif
-+#ifndef libc_feresetroundf
-+# define libc_feresetroundf(e, c) libc_feupdateenvf(e)
-+#endif
-+#ifndef libc_feresetroundl
-+# define libc_feresetroundl(e, c) libc_feupdateenvl(e)
-+#endif
-+
- #endif /* _MATH_PRIVATE_H_ */
-diff -pruN glibc-2.12-2-gc4ccff1/sysdeps/ieee754/dbl-64/e_exp.c glibc-2.12-2-gc4ccff1.new/sysdeps/ieee754/dbl-64/e_exp.c
---- glibc-2.12-2-gc4ccff1/sysdeps/ieee754/dbl-64/e_exp.c       2013-06-07 08:35:52.785442441 -0400
-+++ glibc-2.12-2-gc4ccff1.new/sysdeps/ieee754/dbl-64/e_exp.c   2013-06-07 08:30:21.976222459 -0400
-@@ -57,7 +57,8 @@ double __ieee754_exp(double x) {
-   fenv_t env;
-   double retval;
--  libc_feholdexcept_setround (&env, FE_TONEAREST);
-+  int changed;
-+  libc_feholdsetround (&env, FE_TONEAREST, changed);
-   junk1.x = x;
-   m = junk1.i[HIGH_HALF];
-@@ -152,7 +153,7 @@ double __ieee754_exp(double x) {
-     else { retval = __slowexp(x); goto ret; }
-   }
-  ret:
--  libc_feupdateenv (&env);
-+  libc_feresetround (&env, changed);
-   return retval;
- }
-diff -pruN glibc-2.12-2-gc4ccff1/sysdeps/ieee754/dbl-64/e_pow.c glibc-2.12-2-gc4ccff1.new/sysdeps/ieee754/dbl-64/e_pow.c
---- glibc-2.12-2-gc4ccff1/sysdeps/ieee754/dbl-64/e_pow.c       2013-06-07 08:35:52.785442441 -0400
-+++ glibc-2.12-2-gc4ccff1.new/sysdeps/ieee754/dbl-64/e_pow.c   2013-06-07 08:31:00.294939087 -0400
-@@ -83,7 +83,8 @@ double __ieee754_pow(double x, double y)
-     fenv_t env;
-     double retval;
--    libc_feholdexcept_setround (&env, FE_TONEAREST);
-+    int changed;
-+    libc_feholdsetround (&env, FE_TONEAREST, changed);
-     z = log1(x,&aa,&error);                                 /* x^y  =e^(y log (X)) */
-     t = y*134217729.0;
-@@ -100,7 +101,7 @@ double __ieee754_pow(double x, double y)
-     t = __exp1(a1,a2,1.9e16*error);     /* return -10 or 0 if wasn't computed exactly */
-     retval = (t>0)?t:power1(x,y);
--    libc_feupdateenv (&env);
-+    libc_feresetround (&env, changed);
-     return retval;
-   }
-diff -pruN glibc-2.12-2-gc4ccff1/sysdeps/ieee754/dbl-64/s_sin.c glibc-2.12-2-gc4ccff1.new/sysdeps/ieee754/dbl-64/s_sin.c
---- glibc-2.12-2-gc4ccff1/sysdeps/ieee754/dbl-64/s_sin.c       2013-06-07 08:35:52.786442462 -0400
-+++ glibc-2.12-2-gc4ccff1.new/sysdeps/ieee754/dbl-64/s_sin.c   2013-06-07 08:32:08.254822633 -0400
-@@ -101,7 +101,8 @@ double __sin(double x){
-       fenv_t env;
-       double retval = 0;
--      libc_feholdexcept_setround (&env, FE_TONEAREST);
-+      int changed;
-+      libc_feholdsetround (&env, FE_TONEAREST, changed);
-       u.x = x;
-       m = u.i[HIGH_HALF];
-@@ -355,7 +356,7 @@ double __sin(double x){
-       }
-  ret:
--      libc_feupdateenv (&env);
-+      libc_feresetround (&env, changed);
-       return retval;
- }
-@@ -374,7 +375,8 @@ double __cos(double x)
-   fenv_t env;
-   double retval = 0;
--  libc_feholdexcept_setround (&env, FE_TONEAREST);
-+  int changed;
-+  libc_feholdsetround (&env, FE_TONEAREST, changed);
-   u.x = x;
-   m = u.i[HIGH_HALF];
-@@ -623,7 +625,7 @@ double __cos(double x)
-   }
-  ret:
--  libc_feupdateenv (&env);
-+  libc_feresetround (&env, changed);
-   return retval;
- }
-diff -pruN glibc-2.12-2-gc4ccff1/sysdeps/ieee754/dbl-64/s_tan.c glibc-2.12-2-gc4ccff1.new/sysdeps/ieee754/dbl-64/s_tan.c
---- glibc-2.12-2-gc4ccff1/sysdeps/ieee754/dbl-64/s_tan.c       2013-06-07 08:35:52.786442462 -0400
-+++ glibc-2.12-2-gc4ccff1.new/sysdeps/ieee754/dbl-64/s_tan.c   2013-06-07 08:32:39.736162619 -0400
-@@ -66,7 +66,8 @@ double tan(double x) {
-   int __branred(double, double *, double *);
-   int __mpranred(double, mp_no *, int);
--  libc_feholdexcept_setround (&env, FE_TONEAREST);
-+  int changed;
-+  libc_feholdsetround (&env, FE_TONEAREST, changed);
-   /* x=+-INF, x=NaN */
-   num.d = x;  ux = num.i[HIGH_HALF];
-@@ -495,7 +496,7 @@ double tan(double x) {
-   goto ret;
-  ret:
--  libc_feupdateenv (&env);
-+  libc_feresetround (&env, changed);
-   return retval;
- }
-diff -pruN glibc-2.12-2-gc4ccff1/sysdeps/x86_64/fpu/math_private.h glibc-2.12-2-gc4ccff1.new/sysdeps/x86_64/fpu/math_private.h
---- glibc-2.12-2-gc4ccff1/sysdeps/x86_64/fpu/math_private.h    2013-06-07 08:35:52.787442488 -0400
-+++ glibc-2.12-2-gc4ccff1.new/sysdeps/x86_64/fpu/math_private.h        2013-06-07 08:34:35.370109759 -0400
-@@ -139,3 +139,31 @@ do {                                                              \
- #undef libc_feupdateenvf
- #define libc_feupdateenvf(e) libc_feupdateenv (e)
- // #define libc_feupdateenvl(e) (void) feupdateenv (e)
-+
-+#undef libc_feholdsetround
-+#define libc_feholdsetround(e, r, c) \
-+({ \
-+  unsigned int mxcsr, new_mxcsr; \
-+  asm ("stmxcsr %0" : "=m" (*&mxcsr)); \
-+  new_mxcsr = (mxcsr & ~0x6000) | ((r) << 3); \
-+  if (__builtin_expect (new_mxcsr != mxcsr, 0)) \
-+    { \
-+      (e)->__mxcsr = mxcsr; \
-+      asm volatile ("ldmxcsr %0" : : "m" (*&new_mxcsr)); \
-+      c = 1; \
-+    } \
-+  else \
-+    c = 0; \
-+})
-+
-+#undef libc_feresetround
-+#define libc_feresetround(e, c) \
-+({ \
-+  if (__builtin_expect (c, 0)) \
-+    { \
-+      unsigned int mxcsr; \
-+      asm ("stmxcsr %0" : "=m" (*&mxcsr)); \
-+      mxcsr = (mxcsr & ~0x6000) | ((e)->__mxcsr & 0x6000); \
-+      asm volatile ("ldmxcsr %0" : : "m" (*&mxcsr)); \
-+    } \
-+})
diff --git a/src/patches/glibc/glibc-rh966778.patch b/src/patches/glibc/glibc-rh966778.patch
deleted file mode 100644 (file)
index d8fd3fa..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-commit 3056dcdb783a177158a5617657d1a33f872358d6
-Author: Ulrich Drepper <drepper@redhat.com>
-Date:   Mon Nov 22 11:11:24 2010 -0500
-
-    Fix multiple nss_compat initgroups() bugs
-    
-    Compat initgroups() is completely broken; the code will always set
-    skip_initgroups_dyn to true, so initgroups() will never be actually
-    called, but due to the nature of the code, setgrent() won't be called
-    either - thus, subsequent invocations of initgroups() will not return
-    the NIS group list anymore.
-    
-    This is a simple patch that makes sure skip_initgroups_dyn is set only
-    in case initgroups is not available; it also attempts to handle the
-    unavailability of other NSS interfaces better.
-    
-    Conflicts:
-    
-       ChangeLog
-
-diff --git a/nis/nss_compat/compat-initgroups.c b/nis/nss_compat/compat-initgroups.c
-index 07a3b92..de8d95c 100644
---- a/nis/nss_compat/compat-initgroups.c
-+++ b/nis/nss_compat/compat-initgroups.c
-@@ -474,18 +474,21 @@ internal_getgrent_r (ent_t *ent, char *buffer, size_t buflen, const char *user,
-         /* If the selected module does not support getgrent_r or
-            initgroups_dyn, abort. We cannot find the needed group
-            entries.  */
--        if (nss_getgrent_r == NULL && nss_initgroups_dyn == NULL)
-+        if (nss_initgroups_dyn == NULL || nss_getgrgid_r == NULL)
-+          {
-+            if (nss_setgrent != NULL)
-+              {
-+                nss_setgrent (1);
-+                ent->need_endgrent = true;
-+              }
-+            ent->skip_initgroups_dyn = true;
-+          }
-+
-+        if (ent->skip_initgroups_dyn && nss_getgrent_r == NULL)
-           return NSS_STATUS_UNAVAIL;
-         ent->files = false;
--        if (nss_initgroups_dyn == NULL && nss_setgrent != NULL)
--          {
--            nss_setgrent (1);
--            ent->need_endgrent = true;
--          }
--        ent->skip_initgroups_dyn = true;
--
-         return getgrent_next_nss (ent, buffer, buflen, user, group,
-                                   start, size, groupsp, limit, errnop);
-       }
diff --git a/src/patches/glibc/glibc-rh970090.patch b/src/patches/glibc/glibc-rh970090.patch
deleted file mode 100644 (file)
index 6010624..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -pruN glibc-2.18/nscd/aicache.c glibc-2.18.new/nscd/aicache.c
---- glibc-2.18/nscd/aicache.c  2013-08-11 04:22:55.000000000 +0530
-+++ glibc-2.18.new/nscd/aicache.c      2013-08-26 11:10:25.843470413 +0530
-@@ -25,6 +25,7 @@
- #include <time.h>
- #include <unistd.h>
- #include <sys/mman.h>
-+#include <resolv/res_hconf.h>
- #include "dbg_log.h"
- #include "nscd.h"
-@@ -100,8 +101,11 @@ addhstaiX (struct database_dyn *db, int
-     no_more = __nss_database_lookup ("hosts", NULL,
-                                    "dns [!UNAVAIL=return] files", &nip);
-+  /* Initialize configurations.  */
-+  if (__builtin_expect (!_res_hconf.initialized, 0))
-+    _res_hconf_init ();
-   if (__res_maybe_init (&_res, 0) == -1)
--          no_more = 1;
-+    no_more = 1;
-   /* If we are looking for both IPv4 and IPv6 address we don't want
-      the lookup functions to automatically promote IPv4 addresses to
diff --git a/src/patches/glibc/glibc-rh970776.patch b/src/patches/glibc/glibc-rh970776.patch
deleted file mode 100644 (file)
index ec2f2a6..0000000
+++ /dev/null
@@ -1,279 +0,0 @@
-Patch attached to bugzilla by Ankit Patel, from Red Hat translation team.
-
-Index: glibc-2.12-2-gc4ccff1/po/de.po
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/po/de.po        2010-05-04 08:27:23.000000000 -0300
-+++ glibc-2.12-2-gc4ccff1/po/de.po     2013-07-23 20:35:03.213177408 -0300
-@@ -2396,14 +2396,14 @@ msgstr "Zu viele Benutzer"
- msgid "Disk quota exceeded"
- msgstr "Der zugewiesene Plattenplatz (Quota) ist überschritten"
--#. TRANS Stale NFS file handle.  This indicates an internal confusion in the NFS
--#. TRANS system which is due to file system rearrangements on the server host.
--#. TRANS Repairing this condition usually requires unmounting and remounting
--#. TRANS the NFS file system on the local host.
--#: stdio-common/../sysdeps/gnu/errlist.c:779
--#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:181
--msgid "Stale NFS file handle"
--msgstr "Veraltete NFS-Dateizugriffsnummer"
-+#. TRANS Stale file handle.  This indicates an internal confusion in the
-+#. TRANS file system which is due to file system rearrangements on the server host
-+#. TRANS for NFS filesystems or corruption in other filesystems.
-+#. TRANS Repairing this condition usually requires unmounting, possibly
-+#. TRANS repairing and remounting the file system.
-+#: sysdeps/gnu/errlist.c:787
-+msgid "Stale file handle"
-+msgstr "Veraltetes Datei-Handle"
- #. TRANS An attempt was made to NFS-mount a remote file system with a file name that
- #. TRANS already specifies an NFS-mounted file.
-Index: glibc-2.12-2-gc4ccff1/po/es.po
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/po/es.po        2010-05-04 08:27:23.000000000 -0300
-+++ glibc-2.12-2-gc4ccff1/po/es.po     2013-07-23 20:35:03.243175029 -0300
-@@ -2533,14 +2533,14 @@ msgstr "Se ha excedido la cuota de disco
- # Muy bien, he buscado "stale" y por lo que parece es algo que "caduca"
- # o que "vence", como las letras comerciales. Me he decidido por "en desuso".
- #
--#. TRANS Stale NFS file handle.  This indicates an internal confusion in the NFS
--#. TRANS system which is due to file system rearrangements on the server host.
--#. TRANS Repairing this condition usually requires unmounting and remounting
--#. TRANS the NFS file system on the local host.
--#: stdio-common/../sysdeps/gnu/errlist.c:779
--#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:181
--msgid "Stale NFS file handle"
--msgstr "`handle' de fichero NFS en desuso"
-+#. TRANS Stale file handle.  This indicates an internal confusion in the
-+#. TRANS file system which is due to file system rearrangements on the server host
-+#. TRANS for NFS filesystems or corruption in other filesystems.
-+#. TRANS Repairing this condition usually requires unmounting, possibly
-+#. TRANS repairing and remounting the file system.
-+#: sysdeps/gnu/errlist.c:787
-+msgid "Stale file handle"
-+msgstr "Identificador de archivos obsoletos"
- #. TRANS An attempt was made to NFS-mount a remote file system with a file name that
- #. TRANS already specifies an NFS-mounted file.
-Index: glibc-2.12-2-gc4ccff1/po/fr.po
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/po/fr.po        2010-05-04 08:27:23.000000000 -0300
-+++ glibc-2.12-2-gc4ccff1/po/fr.po     2013-07-23 20:35:03.250174474 -0300
-@@ -5802,13 +5802,14 @@ msgstr "Trop d'usagers"
- msgid "Disk quota exceeded"
- msgstr "Débordement du quota d'espace disque"
--#. TRANS Stale NFS file handle.  This indicates an internal confusion in the NFS
--#. TRANS system which is due to file system rearrangements on the server host.
--#. TRANS Repairing this condition usually requires unmounting and remounting
--#. TRANS the NFS file system on the local host.
-+#. TRANS Stale file handle.  This indicates an internal confusion in the
-+#. TRANS file system which is due to file system rearrangements on the server host
-+#. TRANS for NFS filesystems or corruption in other filesystems.
-+#. TRANS Repairing this condition usually requires unmounting, possibly
-+#. TRANS repairing and remounting the file system.
- #: sysdeps/gnu/errlist.c:787
--msgid "Stale NFS file handle"
--msgstr "Panne d'accès au fichier NFS"
-+msgid "Stale file handle"
-+msgstr "Gestionnaire de fichiers périmés"
- #. TRANS An attempt was made to NFS-mount a remote file system with a file name that
- #. TRANS already specifies an NFS-mounted file.
-Index: glibc-2.12-2-gc4ccff1/po/it.po
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/po/it.po        2010-05-04 08:27:23.000000000 -0300
-+++ glibc-2.12-2-gc4ccff1/po/it.po     2013-07-23 20:35:03.253174237 -0300
-@@ -1662,6 +1662,15 @@ msgstr "Superata la quota di disco"
- msgid "Disk quota exceeded"
- msgstr "Superata la quota di disco"
-+#. TRANS Stale file handle.  This indicates an internal confusion in the
-+#. TRANS file system which is due to file system rearrangements on the server host
-+#. TRANS for NFS filesystems or corruption in other filesystems.
-+#. TRANS Repairing this condition usually requires unmounting, possibly
-+#. TRANS repairing and remounting the file system.
-+#: sysdeps/gnu/errlist.c:787
-+msgid "Stale file handle"
-+msgstr "Gestione file obsoleti"
-+
- #: nscd/nscd.c:86
- msgid "Do not fork and display messages on the current tty"
- msgstr "Non fa fork e stampa i messaggi sul tty corrente"
-Index: glibc-2.12-2-gc4ccff1/po/ja.po
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/po/ja.po        2013-07-23 04:01:34.628665260 -0300
-+++ glibc-2.12-2-gc4ccff1/po/ja.po     2013-07-23 20:35:03.304170193 -0300
-@@ -2333,14 +2333,14 @@ msgstr "¥æ¡¼¥¶¤¬Â¿¤¹¤®¤Þ¤¹"
- msgid "Disk quota exceeded"
- msgstr "¥Ç¥£¥¹¥¯»ÈÍÑÎÌÀ©¸Â¤òĶ²á¤·¤Þ¤·¤¿"
--#. TRANS Stale NFS file handle.  This indicates an internal confusion in the NFS
--#. TRANS system which is due to file system rearrangements on the server host.
--#. TRANS Repairing this condition usually requires unmounting and remounting
--#. TRANS the NFS file system on the local host.
--#: stdio-common/../sysdeps/gnu/errlist.c:779
--#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:181
--msgid "Stale NFS file handle"
--msgstr "¼Â¸úÀ­¤Î¤Ê¤¤NFS¥Õ¥¡¥¤¥ë¥Ï¥ó¥É¥ë¤Ç¤¹"
-+#. TRANS Stale file handle.  This indicates an internal confusion in the
-+#. TRANS file system which is due to file system rearrangements on the server host
-+#. TRANS for NFS filesystems or corruption in other filesystems.
-+#. TRANS Repairing this condition usually requires unmounting, possibly
-+#. TRANS repairing and remounting the file system.
-+#: sysdeps/gnu/errlist.c:787
-+msgid "Stale file handle"
-+msgstr "¸Å¤¤¥Õ¥¡¥¤¥ë¥Ï¥ó¥É¥ë¤Ç¤¹"
- #. TRANS An attempt was made to NFS-mount a remote file system with a file name that
- #. TRANS already specifies an NFS-mounted file.
-Index: glibc-2.12-2-gc4ccff1/po/ko.po
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/po/ko.po        2010-05-04 08:27:23.000000000 -0300
-+++ glibc-2.12-2-gc4ccff1/po/ko.po     2013-07-23 20:35:03.311169638 -0300
-@@ -5803,13 +5803,14 @@ msgstr "사용자가 너무 많음"
- msgid "Disk quota exceeded"
- msgstr "디스크 할당량이 초과됨"
--#. TRANS Stale NFS file handle.  This indicates an internal confusion in the NFS
--#. TRANS system which is due to file system rearrangements on the server host.
--#. TRANS Repairing this condition usually requires unmounting and remounting
--#. TRANS the NFS file system on the local host.
-+#. TRANS Stale file handle.  This indicates an internal confusion in the
-+#. TRANS file system which is due to file system rearrangements on the server host
-+#. TRANS for NFS filesystems or corruption in other filesystems.
-+#. TRANS Repairing this condition usually requires unmounting, possibly
-+#. TRANS repairing and remounting the file system.
- #: sysdeps/gnu/errlist.c:787
--msgid "Stale NFS file handle"
--msgstr "끊어진 NFS 파일 핸들"
-+msgid "Stale file handle"
-+msgstr "오래된 파일 처리"
- #. TRANS An attempt was made to NFS-mount a remote file system with a file name that
- #. TRANS already specifies an NFS-mounted file.
-Index: glibc-2.12-2-gc4ccff1/po/libc.pot
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/po/libc.pot     2010-05-04 08:27:23.000000000 -0300
-+++ glibc-2.12-2-gc4ccff1/po/libc.pot  2013-07-23 20:35:03.326168449 -0300
-@@ -5696,12 +5696,13 @@ msgstr ""
- msgid "Disk quota exceeded"
- msgstr ""
--#. TRANS Stale NFS file handle.  This indicates an internal confusion in the NFS
--#. TRANS system which is due to file system rearrangements on the server host.
--#. TRANS Repairing this condition usually requires unmounting and remounting
--#. TRANS the NFS file system on the local host.
-+#. TRANS Stale file handle.  This indicates an internal confusion in the
-+#. TRANS file system which is due to file system rearrangements on the server host
-+#. TRANS for NFS filesystems or corruption in other filesystems.
-+#. TRANS Repairing this condition usually requires unmounting, possibly
-+#. TRANS repairing and remounting the file system.
- #: sysdeps/gnu/errlist.c:787
--msgid "Stale NFS file handle"
-+msgid "Stale file handle"
- msgstr ""
- #. TRANS An attempt was made to NFS-mount a remote file system with a file name that
-Index: glibc-2.12-2-gc4ccff1/po/pt_BR.po
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/po/pt_BR.po     2010-05-04 08:27:23.000000000 -0300
-+++ glibc-2.12-2-gc4ccff1/po/pt_BR.po  2013-07-23 20:35:03.331168053 -0300
-@@ -2287,13 +2287,14 @@ msgstr "Erro de Srmount"
- msgid "Stack fault"
- msgstr "Falha de pilha"
--#. TRANS Stale NFS file handle.  This indicates an internal confusion in the NFS
--#. TRANS system which is due to file system rearrangements on the server host.
--#. TRANS Repairing this condition usually requires unmounting and remounting
--#. TRANS the NFS file system on the local host.
--#: stdio-common/../sysdeps/gnu/errlist.c:506
--msgid "Stale NFS file handle"
--msgstr "Manipulador de arquivo NFS corrompido"
-+#. TRANS Stale file handle.  This indicates an internal confusion in the
-+#. TRANS file system which is due to file system rearrangements on the server host
-+#. TRANS for NFS filesystems or corruption in other filesystems.
-+#. TRANS Repairing this condition usually requires unmounting, possibly
-+#. TRANS repairing and remounting the file system.
-+#: sysdeps/gnu/errlist.c:787
-+msgid "Stale file handle"
-+msgstr "Manipulador de arquivo obsoleto"
- #: nscd/nscd.c:81
- msgid "Start NUMBER threads"
-Index: glibc-2.12-2-gc4ccff1/po/ru.po
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/po/ru.po        2010-05-04 08:27:23.000000000 -0300
-+++ glibc-2.12-2-gc4ccff1/po/ru.po     2013-07-23 20:35:03.338167498 -0300
-@@ -5798,13 +5798,14 @@ msgstr "Слишком много пол
- msgid "Disk quota exceeded"
- msgstr "Превышена дисковая квота"
--#. TRANS Stale NFS file handle.  This indicates an internal confusion in the NFS
--#. TRANS system which is due to file system rearrangements on the server host.
--#. TRANS Repairing this condition usually requires unmounting and remounting
--#. TRANS the NFS file system on the local host.
-+#. TRANS Stale file handle.  This indicates an internal confusion in the
-+#. TRANS file system which is due to file system rearrangements on the server host
-+#. TRANS for NFS filesystems or corruption in other filesystems.
-+#. TRANS Repairing this condition usually requires unmounting, possibly
-+#. TRANS repairing and remounting the file system.
- #: sysdeps/gnu/errlist.c:787
--msgid "Stale NFS file handle"
--msgstr "Устаревший хэндл файла NFS"
-+msgid "Stale file handle"
-+msgstr "Устаревший дескриптор файла"
- #. TRANS An attempt was made to NFS-mount a remote file system with a file name that
- #. TRANS already specifies an NFS-mounted file.
-Index: glibc-2.12-2-gc4ccff1/po/zh_CN.po
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/po/zh_CN.po     2010-05-04 08:27:23.000000000 -0300
-+++ glibc-2.12-2-gc4ccff1/po/zh_CN.po  2013-07-23 20:35:03.344167022 -0300
-@@ -5519,13 +5519,14 @@ msgstr "用户过多"
- msgid "Disk quota exceeded"
- msgstr "超出磁盘限额"
--#. TRANS Stale NFS file handle.  This indicates an internal confusion in the NFS
--#. TRANS system which is due to file system rearrangements on the server host.
--#. TRANS Repairing this condition usually requires unmounting and remounting
--#. TRANS the NFS file system on the local host.
-+#. TRANS Stale file handle.  This indicates an internal confusion in the
-+#. TRANS file system which is due to file system rearrangements on the server host
-+#. TRANS for NFS filesystems or corruption in other filesystems.
-+#. TRANS Repairing this condition usually requires unmounting, possibly
-+#. TRANS repairing and remounting the file system.
- #: sysdeps/gnu/errlist.c:787
--msgid "Stale NFS file handle"
--msgstr ""
-+msgid "Stale file handle"
-+msgstr "失效文件句柄"
- #. TRANS An attempt was made to NFS-mount a remote file system with a file name that
- #. TRANS already specifies an NFS-mounted file.
-Index: glibc-2.12-2-gc4ccff1/po/zh_TW.po
-===================================================================
---- glibc-2.12-2-gc4ccff1.orig/po/zh_TW.po     2010-05-04 08:27:23.000000000 -0300
-+++ glibc-2.12-2-gc4ccff1/po/zh_TW.po  2013-07-23 20:35:03.349166626 -0300
-@@ -2333,14 +2333,14 @@ msgstr "太多使用者"
- msgid "Disk quota exceeded"
- msgstr "硬碟 quota 滿了"
--#. TRANS Stale NFS file handle.  This indicates an internal confusion in the NFS
--#. TRANS system which is due to file system rearrangements on the server host.
--#. TRANS Repairing this condition usually requires unmounting and remounting
--#. TRANS the NFS file system on the local host.
--#: stdio-common/../sysdeps/gnu/errlist.c:779
--#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:181
--msgid "Stale NFS file handle"
--msgstr "過舊的 NFS 檔案控制碼"
-+#. TRANS Stale file handle.  This indicates an internal confusion in the
-+#. TRANS file system which is due to file system rearrangements on the server host
-+#. TRANS for NFS filesystems or corruption in other filesystems.
-+#. TRANS Repairing this condition usually requires unmounting, possibly
-+#. TRANS repairing and remounting the file system.
-+#: sysdeps/gnu/errlist.c:787
-+msgid "Stale file handle"
-+msgstr "過舊的檔案處理"
- #. TRANS An attempt was made to NFS-mount a remote file system with a file name that
- #. TRANS already specifies an NFS-mounted file.
diff --git a/src/patches/glibc/glibc-rh978098.patch b/src/patches/glibc/glibc-rh978098.patch
deleted file mode 100644 (file)
index 0b53dcc..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-#
-# Based on commit e6c61494125126d2ba77e5d99f83887a2ed49783.
-#
-# 2011-04-10  Ulrich Drepper  <drepper@gmail.com>
-# 
-#      [BZ #12650]
-#      * sysdeps/i386/dl-tls.h: Define TLS_DTV_UNALLOCATED.
-#      * sysdeps/ia64/dl-tls.h: Likewise.
-#      * sysdeps/powerpc/dl-tls.h: Likewise.
-#      * sysdeps/s390/dl-tls.h: Likewise.
-#      * sysdeps/sh/dl-tls.h: Likewise.
-#      * sysdeps/sparc/dl-tls.h: Likewise.
-#      * sysdeps/x86_64/dl-tls.h: Likewise.
-#      * elf/dl-tls.c: Don't define TLS_DTV_UNALLOCATED here.
-#
-diff -urN glibc-2.12-2-gc4ccff1/elf/dl-tls.c glibc-2.12-2-gc4ccff1.mod/elf/dl-tls.c
---- glibc-2.12-2-gc4ccff1/elf/dl-tls.c 2015-02-18 05:16:56.087096028 -0500
-+++ glibc-2.12-2-gc4ccff1.mod/elf/dl-tls.c     2015-02-18 05:21:04.018424445 -0500
-@@ -33,9 +33,6 @@
-    to allow dynamic loading of modules defining IE-model TLS data.  */
- #define TLS_STATIC_SURPLUS    64 + DL_NNS * 100
--/* Value used for dtv entries for which the allocation is delayed.  */
--#define TLS_DTV_UNALLOCATED   ((void *) -1l)
--
- /* Out-of-memory handler.  */
- #ifdef SHARED
-diff -urN glibc-2.12-2-gc4ccff1/nptl/allocatestack.c glibc-2.12-2-gc4ccff1.mod/nptl/allocatestack.c
---- glibc-2.12-2-gc4ccff1/nptl/allocatestack.c 2015-02-18 05:16:56.101095594 -0500
-+++ glibc-2.12-2-gc4ccff1.mod/nptl/allocatestack.c     2015-02-18 05:21:04.019424414 -0500
-@@ -26,6 +26,7 @@
- #include <sys/mman.h>
- #include <sys/param.h>
- #include <dl-sysdep.h>
-+#include <dl-tls.h>
- #include <tls.h>
- #include <list.h>
- #include <lowlevellock.h>
-@@ -242,6 +243,10 @@
-   /* Clear the DTV.  */
-   dtv_t *dtv = GET_DTV (TLS_TPADJ (result));
-+  for (size_t cnt = 0; cnt < dtv[-1].counter; ++cnt)
-+    if (! dtv[1 + cnt].pointer.is_static
-+      && dtv[1 + cnt].pointer.val != TLS_DTV_UNALLOCATED)
-+      free (dtv[1 + cnt].pointer.val);
-   memset (dtv, '\0', (dtv[-1].counter + 1) * sizeof (dtv_t));
-   /* Re-initialize the TLS.  */
-diff -urN glibc-2.12-2-gc4ccff1/sysdeps/i386/dl-tls.h glibc-2.12-2-gc4ccff1.mod/sysdeps/i386/dl-tls.h
---- glibc-2.12-2-gc4ccff1/sysdeps/i386/dl-tls.h        2010-05-04 07:27:23.000000000 -0400
-+++ glibc-2.12-2-gc4ccff1.mod/sysdeps/i386/dl-tls.h    2015-02-18 05:21:04.019424414 -0500
-@@ -58,3 +58,6 @@
- # endif
- #endif
-+
-+/* Value used for dtv entries for which the allocation is delayed.  */
-+#define TLS_DTV_UNALLOCATED   ((void *) -1l)
-diff -urN glibc-2.12-2-gc4ccff1/sysdeps/ia64/dl-tls.h glibc-2.12-2-gc4ccff1.mod/sysdeps/ia64/dl-tls.h
---- glibc-2.12-2-gc4ccff1/sysdeps/ia64/dl-tls.h        2010-05-04 07:27:23.000000000 -0400
-+++ glibc-2.12-2-gc4ccff1.mod/sysdeps/ia64/dl-tls.h    2015-02-18 05:21:04.019424414 -0500
-@@ -28,3 +28,6 @@
- #define DONT_USE_TLS_INDEX    1
- extern void *__tls_get_addr (size_t m, size_t offset);
-+
-+/* Value used for dtv entries for which the allocation is delayed.  */
-+#define TLS_DTV_UNALLOCATED   ((void *) -1l)
-diff -urN glibc-2.12-2-gc4ccff1/sysdeps/powerpc/dl-tls.h glibc-2.12-2-gc4ccff1.mod/sysdeps/powerpc/dl-tls.h
---- glibc-2.12-2-gc4ccff1/sysdeps/powerpc/dl-tls.h     2010-05-04 07:27:23.000000000 -0400
-+++ glibc-2.12-2-gc4ccff1.mod/sysdeps/powerpc/dl-tls.h 2015-02-18 05:21:04.019424414 -0500
-@@ -47,3 +47,6 @@
- # define GET_ADDR_OFFSET      (ti->ti_offset + TLS_DTV_OFFSET)
- # define __TLS_GET_ADDR(__ti) (__tls_get_addr (__ti) - TLS_DTV_OFFSET)
- #endif
-+
-+/* Value used for dtv entries for which the allocation is delayed.  */
-+#define TLS_DTV_UNALLOCATED   ((void *) -1l)
-diff -urN glibc-2.12-2-gc4ccff1/sysdeps/s390/dl-tls.h glibc-2.12-2-gc4ccff1.mod/sysdeps/s390/dl-tls.h
---- glibc-2.12-2-gc4ccff1/sysdeps/s390/dl-tls.h        2010-05-04 07:27:23.000000000 -0400
-+++ glibc-2.12-2-gc4ccff1.mod/sysdeps/s390/dl-tls.h    2015-02-18 05:21:04.019424414 -0500
-@@ -72,6 +72,9 @@
- # define __TLS_GET_ADDR(__ti) \
-   ({ extern char _GLOBAL_OFFSET_TABLE_[] attribute_hidden;              \
-      (void *) __tls_get_offset ((char *) (__ti) - _GLOBAL_OFFSET_TABLE_)  \
--     + (unsigned long) __builtin_thread_pointer (); }) 
-+     + (unsigned long) __builtin_thread_pointer (); })
- #endif
-+
-+/* Value used for dtv entries for which the allocation is delayed.  */
-+#define TLS_DTV_UNALLOCATED   ((void *) -1l)
-diff -urN glibc-2.12-2-gc4ccff1/sysdeps/sh/dl-tls.h glibc-2.12-2-gc4ccff1.mod/sysdeps/sh/dl-tls.h
---- glibc-2.12-2-gc4ccff1/sysdeps/sh/dl-tls.h  2010-05-04 07:27:23.000000000 -0400
-+++ glibc-2.12-2-gc4ccff1.mod/sysdeps/sh/dl-tls.h      2015-02-18 05:21:04.019424414 -0500
-@@ -27,3 +27,6 @@
- extern void *__tls_get_addr (tls_index *ti);
-+
-+/* Value used for dtv entries for which the allocation is delayed.  */
-+#define TLS_DTV_UNALLOCATED   ((void *) -1l)
-diff -urN glibc-2.12-2-gc4ccff1/sysdeps/sparc/dl-tls.h glibc-2.12-2-gc4ccff1.mod/sysdeps/sparc/dl-tls.h
---- glibc-2.12-2-gc4ccff1/sysdeps/sparc/dl-tls.h       2010-05-04 07:27:23.000000000 -0400
-+++ glibc-2.12-2-gc4ccff1.mod/sysdeps/sparc/dl-tls.h   2015-02-18 05:21:04.019424414 -0500
-@@ -27,3 +27,6 @@
- extern void *__tls_get_addr (tls_index *ti);
-+
-+/* Value used for dtv entries for which the allocation is delayed.  */
-+#define TLS_DTV_UNALLOCATED   ((void *) -1l)
-diff -urN glibc-2.12-2-gc4ccff1/sysdeps/x86_64/dl-tls.h glibc-2.12-2-gc4ccff1.mod/sysdeps/x86_64/dl-tls.h
---- glibc-2.12-2-gc4ccff1/sysdeps/x86_64/dl-tls.h      2010-05-04 07:27:23.000000000 -0400
-+++ glibc-2.12-2-gc4ccff1.mod/sysdeps/x86_64/dl-tls.h  2015-02-18 05:21:04.019424414 -0500
-@@ -27,3 +27,6 @@
- extern void *__tls_get_addr (tls_index *ti);
-+
-+/* Value used for dtv entries for which the allocation is delayed.  */
-+#define TLS_DTV_UNALLOCATED   ((void *) -1l)
diff --git a/src/patches/glibc/glibc-rh981942.patch b/src/patches/glibc/glibc-rh981942.patch
deleted file mode 100644 (file)
index cbe1ab8..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-commit 2e96f1c73b06e81da59ef7fffa426dc201875f31
-Author: Andreas Schwab <schwab@redhat.com>
-Date:   Thu Aug 4 15:42:10 2011 -0400
-
-    Fix encoding name for IDN in getaddrinfo
-
-diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
-index 6d574c5..a5aafe9 100644
---- a/sysdeps/posix/getaddrinfo.c
-+++ b/sysdeps/posix/getaddrinfo.c
-@@ -432,7 +432,10 @@ gaih_inet (const char *name, const struct gaih_service *service,
-         /* In case the output string is the same as the input string
-            no new string has been allocated.  */
-         if (p != name)
--          malloc_name = true;
-+          {
-+            name = p;
-+            malloc_name = true;
-+          }
-       }
- #endif
diff --git a/src/patches/glibc/glibc-rh988931.patch b/src/patches/glibc/glibc-rh988931.patch
deleted file mode 100644 (file)
index 38594a4..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-commit e23fe25b33324a9ea992276c1a4f04127bf9ba4b
-Author: Andreas Schwab <schwab@redhat.com>
-Date:   Sun Feb 20 07:24:56 2011 -0500
-
-    Move setting variable in relro data earlier in ld.so.
-
-diff --git a/elf/rtld.c b/elf/rtld.c
-index 8510380..174954b 100644
---- a/elf/rtld.c
-+++ b/elf/rtld.c
-@@ -2179,6 +2179,10 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
-      we need it in the memory handling later.  */
-   GLRO(dl_initial_searchlist) = *GL(dl_ns)[LM_ID_BASE]._ns_main_searchlist;
-+  /* Remember the last search directory added at startup, now that
-+     malloc will no longer be the one from dl-minimal.c.  */
-+  GLRO(dl_init_all_dirs) = GL(dl_all_dirs);
-+
-   if (prelinked)
-     {
-       if (main_map->l_info [ADDRIDX (DT_GNU_CONFLICT)] != NULL)
-@@ -2298,9 +2302,8 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
-                         lossage);
-     }
--  /* Remember the last search directory added at startup, now that
--     malloc will no longer be the one from dl-minimal.c.  */
--  GLRO(dl_init_all_dirs) = GL(dl_all_dirs);
-+  /* Make sure no new search directories have been added.  */
-+  assert (GLRO(dl_init_all_dirs) == GL(dl_all_dirs));
-   if (! prelinked && rtld_multiple_ref)
-     {
diff --git a/src/patches/glibc/glibc-rh995972.patch b/src/patches/glibc/glibc-rh995972.patch
deleted file mode 100644 (file)
index 0178bca..0000000
+++ /dev/null
@@ -1,246 +0,0 @@
-commit d26dfc60edc8c6dd160eefff16a734152a835ca0
-Author: Martin von Gagern <Martin.vGagern@gmx.net>
-Date:   Sat May 14 21:25:43 2011 -0400
-
-    Fix handling of static TLS in dlopen'ed objects
-    
-    When dynamically loading a library along with several dependencies, calls to
-    _dl_add_to_slotinfo and _dl_update_slotinfo can become intermixed. As a
-    consequence, _dl_update_slotinfo will update the generation counter of the dtv
-    although not all of the slots belonging to that generation have been added.
-    Subsequent calls to _dl_add_to_slotinfo will add more slots to the same
-    generation, for which no storage will be allocated, as the dtv generation
-    checks will claim no work is necessary. This will lead to uninitialized dtv
-    entries and will likely cause a SIGSEGV when thread local variables are
-    accessed.
-
-diff --git a/elf/Makefile b/elf/Makefile
-index 8d9657d..6efb86c 100644
---- a/elf/Makefile
-+++ b/elf/Makefile
-@@ -76,6 +76,7 @@ distribute   := rtld-Rules \
-                  tst-tlsmod12.c tst-tls10.h tst-alignmod.c tst-alignmod2.c \
-                  circlemod1.c circlemod1a.c circlemod2.c circlemod2a.c \
-                  circlemod3.c circlemod3a.c nodlopenmod2.c \
-+                 tst-tls19mod1.c tst-tls19mod2.c tst-tls19mod3.c \
-                  tls-macros.h \
-                  reldep8mod1.c reldep8mod2.c reldep8mod3.c \
-                  nodel2mod1.c nodel2mod2.c nodel2mod3.c \
-@@ -194,7 +195,7 @@ tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \
-        restest2 next dblload dblunload reldep5 reldep6 reldep7 reldep8 \
-        circleload1 tst-tls3 tst-tls4 tst-tls5 tst-tls6 tst-tls7 tst-tls8 \
-        tst-tls10 tst-tls11 tst-tls12 tst-tls13 tst-tls14 tst-tls15 \
--       tst-tls16 tst-tls17 tst-tls18 tst-tls-dlinfo \
-+       tst-tls16 tst-tls17 tst-tls18 tst-tls19 tst-tls-dlinfo \
-        tst-align tst-align2 $(tests-execstack-$(have-z-execstack)) \
-        tst-dlmodcount tst-dlopenrpath tst-deep1 \
-        tst-dlmopen1 tst-dlmopen2 tst-dlmopen3 \
-@@ -240,6 +241,7 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \
-               $(patsubst %,tst-tlsmod17a%,$(tlsmod17a-suffixes)) \
-               tst-tlsmod17b \
-               $(patsubst %,tst-tlsmod18a%,$(tlsmod18a-suffixes)) \
-+              tst-tls19mod1 tst-tls19mod2 tst-tls19mod3 \
-               circlemod1 circlemod1a circlemod2 circlemod2a \
-               circlemod3 circlemod3a \
-               reldep8mod1 reldep8mod2 reldep8mod3 \
-@@ -525,6 +527,8 @@ $(objpfx)tst-tlsmod13a.so: $(objpfx)tst-tlsmod13.so
- # For tst-tls9-static, make sure the modules it dlopens have libc.so in DT_NEEDED
- $(objpfx)tst-tlsmod5.so: $(common-objpfx)libc.so
- $(objpfx)tst-tlsmod6.so: $(common-objpfx)libc.so
-+$(objpfx)tst-tls19mod1.so: $(objpfx)tst-tls19mod2.so $(objpfx)tst-tls19mod3.so
-+$(objpfx)tst-tls19mod3.so: $(objpfx)ld.so
- $(objpfx)reldep8mod3.so: $(objpfx)reldep8mod1.so $(objpfx)reldep8mod2.so
- $(objpfx)nodel2mod3.so: $(objpfx)nodel2mod1.so $(objpfx)nodel2mod2.so
- $(objpfx)reldep9mod2.so: $(objpfx)reldep9mod1.so
-@@ -822,6 +826,9 @@ $(patsubst %,$(objpfx)%.os,$(tlsmod18a-modules)): $(objpfx)tst-tlsmod18a%.os : t
-       $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ -DN=$* -DNOT_IN_libc=1 $<
- $(patsubst %,$(objpfx)tst-tlsmod18a%.so,$(tlsmod18a-suffixes)): $(objpfx)tst-tlsmod18a%.so: $(objpfx)ld.so
-+$(objpfx)tst-tls19: $(libdl)
-+$(objpfx)tst-tls19.out: $(objpfx)tst-tls19mod1.so
-+
- CFLAGS-tst-align.c = $(stack-align-test-flags)
- CFLAGS-tst-align2.c = $(stack-align-test-flags)
- CFLAGS-tst-alignmod.c = $(stack-align-test-flags)
-diff --git a/elf/dl-open.c b/elf/dl-open.c
-index cf8e8cc..8d90b56 100644
---- a/elf/dl-open.c
-+++ b/elf/dl-open.c
-@@ -347,6 +347,7 @@ dl_open_worker (void *a)
-   /* If the file is not loaded now as a dependency, add the search
-      list of the newly loaded object to the scope.  */
-   bool any_tls = false;
-+  unsigned int first_static_tls = new->l_searchlist.r_nlist;
-   for (unsigned int i = 0; i < new->l_searchlist.r_nlist; ++i)
-     {
-       struct link_map *imap = new->l_searchlist.r_list[i];
-@@ -425,30 +426,9 @@ dl_open_worker (void *a)
-            might have to increase its size.  */
-         _dl_add_to_slotinfo (imap);
--        if (imap->l_need_tls_init)
--          {
--            /* For static TLS we have to allocate the memory here
--               and now.  This includes allocating memory in the DTV.
--               But we cannot change any DTV other than our own. So,
--               if we cannot guarantee that there is room in the DTV
--               we don't even try it and fail the load.
--
--               XXX We could track the minimum DTV slots allocated in
--               all threads.  */
--            if (! RTLD_SINGLE_THREAD_P && imap->l_tls_modid > DTV_SURPLUS)
--              _dl_signal_error (0, "dlopen", NULL, N_("\
--cannot load any more object with static TLS"));
--
--            imap->l_need_tls_init = 0;
--#ifdef SHARED
--            /* Update the slot information data for at least the
--               generation of the DSO we are allocating data for.  */
--            _dl_update_slotinfo (imap->l_tls_modid);
--#endif
--
--            GL(dl_init_static_tls) (imap);
--            assert (imap->l_need_tls_init == 0);
--          }
-+        if (imap->l_need_tls_init
-+            && first_static_tls == new->l_searchlist.r_nlist)
-+          first_static_tls = i;
-         /* We have to bump the generation counter.  */
-         any_tls = true;
-@@ -460,6 +440,40 @@ cannot load any more object with static TLS"));
-     _dl_fatal_printf (N_("\
- TLS generation counter wrapped!  Please report this."));
-+  /* We need a second pass for static tls data, because _dl_update_slotinfo
-+     must not be run while calls to _dl_add_to_slotinfo are still pending. */
-+  for (unsigned int i = first_static_tls; i < new->l_searchlist.r_nlist; ++i)
-+    {
-+      struct link_map *imap = new->l_searchlist.r_list[i];
-+
-+      if (imap->l_need_tls_init
-+        && ! imap->l_init_called
-+        && imap->l_tls_blocksize > 0)
-+      {
-+        /* For static TLS we have to allocate the memory here and
-+           now.  This includes allocating memory in the DTV.  But we
-+           cannot change any DTV other than our own. So, if we
-+           cannot guarantee that there is room in the DTV we don't
-+           even try it and fail the load.
-+
-+           XXX We could track the minimum DTV slots allocated in
-+           all threads.  */
-+        if (! RTLD_SINGLE_THREAD_P && imap->l_tls_modid > DTV_SURPLUS)
-+          _dl_signal_error (0, "dlopen", NULL, N_("\
-+cannot load any more object with static TLS"));
-+
-+        imap->l_need_tls_init = 0;
-+#ifdef SHARED
-+        /* Update the slot information data for at least the
-+           generation of the DSO we are allocating data for.  */
-+        _dl_update_slotinfo (imap->l_tls_modid);
-+#endif
-+
-+        GL(dl_init_static_tls) (imap);
-+        assert (imap->l_need_tls_init == 0);
-+      }
-+    }
-+
-   /* Notify the debugger all new objects have been relocated.  */
-   if (relocation_in_progress)
-     LIBC_PROBE (rtld_reloc_complete, 3, args->nsid, r, new);
-diff --git a/elf/tst-tls19.c b/elf/tst-tls19.c
-new file mode 100644
-index 0000000..acbc1d6
---- /dev/null
-+++ b/elf/tst-tls19.c
-@@ -0,0 +1,27 @@
-+// BZ 12453
-+#include <stdio.h>
-+#include <dlfcn.h>
-+
-+
-+static int
-+do_test (void)
-+{
-+  void* dl = dlopen ("tst-tls19mod1.so", RTLD_LAZY | RTLD_GLOBAL);
-+  if (dl == NULL)
-+    {
-+      printf ("Error loading tst-tls19mod1.so: %s\n", dlerror ());
-+      return 1;
-+    }
-+
-+  int (*fn) (void) = dlsym (dl, "foo");
-+  if (fn == NULL)
-+    {
-+      printf("Error obtaining symbol foo\n");
-+      return 1;
-+    }
-+
-+  return fn ();
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
-diff --git a/elf/tst-tls19mod1.c b/elf/tst-tls19mod1.c
-new file mode 100644
-index 0000000..2790097
---- /dev/null
-+++ b/elf/tst-tls19mod1.c
-@@ -0,0 +1,15 @@
-+#include <stdio.h>
-+
-+extern int bar (void);
-+extern int baz (void);
-+
-+int
-+foo (void)
-+{
-+  int v1 = bar ();
-+  int v2 = baz ();
-+
-+  printf ("bar=%d, baz=%d\n", v1, v2);
-+
-+  return v1 != 666 || v2 != 42;
-+}
-diff --git a/elf/tst-tls19mod2.c b/elf/tst-tls19mod2.c
-new file mode 100644
-index 0000000..cae702f
---- /dev/null
-+++ b/elf/tst-tls19mod2.c
-@@ -0,0 +1,13 @@
-+static int __thread tbar __attribute__ ((tls_model ("initial-exec"))) = 666;
-+
-+void
-+setter (int a)
-+{
-+  tbar = a;
-+}
-+
-+int
-+bar (void)
-+{
-+  return tbar;
-+}
-diff --git a/elf/tst-tls19mod3.c b/elf/tst-tls19mod3.c
-new file mode 100644
-index 0000000..e7b2801
---- /dev/null
-+++ b/elf/tst-tls19mod3.c
-@@ -0,0 +1,16 @@
-+#include <stdio.h>
-+
-+static int __thread tbaz __attribute__ ((tls_model ("local-dynamic"))) = 42;
-+
-+void
-+setter2 (int a)
-+{
-+  tbaz = a;
-+}
-+
-+int
-+baz (void)
-+{
-+  printf ("&tbaz=%p\n", &tbaz);
-+  return tbaz;
-+}
diff --git a/src/patches/grub2-remove-gets.patch b/src/patches/grub2-remove-gets.patch
new file mode 100644 (file)
index 0000000..0da71b3
--- /dev/null
@@ -0,0 +1,21 @@
+ISO C11 removes the specification of gets() from the C language, eglibc 2.16+ removed it
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Upstream-Status: Pending
+Index: grub-1.99/grub-core/gnulib/stdio.in.h
+===================================================================
+--- grub-1.99.orig/grub-core/gnulib/stdio.in.h 2010-12-01 06:45:43.000000000 -0800
++++ grub-1.99/grub-core/gnulib/stdio.in.h      2012-07-04 12:25:02.057099107 -0700
+@@ -140,8 +140,10 @@
+ /* It is very rare that the developer ever has full control of stdin,
+    so any use of gets warrants an unconditional warning.  Assume it is
+    always declared, since it is required by C89.  */
++#if defined gets
+ #undef gets
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++#endif
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
diff --git a/src/patches/imspector-20101008-ssl.patch b/src/patches/imspector-20101008-ssl.patch
deleted file mode 100644 (file)
index 32ac766..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- imspector/sslstate.h       2010-02-23 18:21:56.000000000 +0100
-+++ imspector/sslstate.h       2013-12-14 15:40:04.796370688 +0100
-@@ -52,7 +52,7 @@
-               int sslverify;            //!< Our VERIFY_ choice.
-               
-               bool localdebugmode;      //!< Saves us from passing this around.
--              SSL_METHOD *method;       //!< openssl method handle.
-+              const SSL_METHOD *method;       //!< openssl method handle.
-               SSL_CTX *connectctx;      //!< Our IM server-sde CTX.
-               SSL_CTX *ctx;             //!< Our IM client-side CTX.
-
index 2f71f1d4850763af52e9810483490a912208719d..db1460cb7ddb0f118b745723485a144a5cd68fba 100644 (file)
@@ -1,34 +1,78 @@
-diff -Nur openssl-1.0.2d/Configure openssl-1.0.2d.patched/Configure
---- openssl-1.0.2d/Configure   2015-07-09 11:57:15.000000000 +0000
-+++ openssl-1.0.2d.patched/Configure   2015-08-22 20:44:19.487000000 +0000
-@@ -365,7 +365,7 @@
+diff -up openssl-1.0.2e/Configure.rpmbuild openssl-1.0.2e/Configure
+--- openssl-1.0.2e/Configure.rpmbuild  2015-12-03 15:04:23.000000000 +0100
++++ openssl-1.0.2e/Configure   2015-12-04 13:20:22.996835604 +0100
+@@ -365,8 +365,8 @@ my %table=(
  ####
  # *-generic* is endian-neutral target, but ./config is free to
  # throw in -D[BL]_ENDIAN, whichever appropriate...
 -"linux-generic32","gcc:-O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-generic32","gcc:\$(CFLAGS) -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC:\$(CFLAGS):.so.\$(SHLIB_SONAMEVER)",
- "linux-ppc",  "gcc:-DB_ENDIAN -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc32_asm}:linux32:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"linux-ppc",  "gcc:-DB_ENDIAN -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc32_asm}:linux32:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-generic32","gcc:-Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-Wl,-z,relro -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)",
++"linux-ppc",  "gcc:-DB_ENDIAN -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-Wl,-z,relro -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc32_asm}:linux32:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)",
  
  #######################################################################
-@@ -406,7 +406,7 @@
- "linux64-mips64",   "gcc:-mabi=64 -O3 -Wall -DBN_DIV3W::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${mips64_asm}:64:dlfcn:linux-shared:-fPIC:-mabi=64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
+ # Note that -march is not among compiler options in below linux-armv4
+@@ -395,31 +395,31 @@ my %table=(
+ #
+ #       ./Configure linux-armv4 -march=armv6 -D__ARM_MAX_ARCH__=8
+ #
+-"linux-armv4",        "gcc: -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${armv4_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"linux-aarch64","gcc: -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${aarch64_asm}:linux64:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-armv4",        "gcc:-Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-Wl,-z,relro -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${armv4_asm}:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)",
++"linux-aarch64","gcc:-DL_ENDIAN -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-Wl,-z,relro -ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${aarch64_asm}:linux64:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::64",
+ # Configure script adds minimally required -march for assembly support,
+ # if no -march was specified at command line. mips32 and mips64 below
+ # refer to contemporary MIPS Architecture specifications, MIPS32 and
+ # MIPS64, rather than to kernel bitness.
+-"linux-mips32",       "gcc:-mabi=32 -O3 -Wall -DBN_DIV3W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${mips32_asm}:o32:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"linux-mips64",   "gcc:-mabi=n32 -O3 -Wall -DBN_DIV3W::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${mips64_asm}:n32:dlfcn:linux-shared:-fPIC:-mabi=n32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::32",
+-"linux64-mips64",   "gcc:-mabi=64 -O3 -Wall -DBN_DIV3W::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${mips64_asm}:64:dlfcn:linux-shared:-fPIC:-mabi=64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
++"linux-mips32",       "gcc:-mabi=32 -Wall \$(RPM_OPT_FLAGS) -DBN_DIV3W::-D_REENTRANT::-Wl,-z,relro -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${mips32_asm}:o32:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)",
++"linux-mips64",   "gcc:-mabi=n32 -Wall \$(RPM_OPT_FLAGS) -DBN_DIV3W::-D_REENTRANT::-Wl,-z,relro -ldl:SIXTY_FOUR_BIT RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${mips64_asm}:n32:dlfcn:linux-shared:-fPIC:-mabi=n32 \$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::32",
++"linux64-mips64",   "gcc:-mabi=64 -Wall \$(RPM_OPT_FLAGS) -DBN_DIV3W::-D_REENTRANT::-Wl,-z,relro -ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${mips64_asm}:64:dlfcn:linux-shared:-fPIC:-mabi=64 \$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::64",
  #### IA-32 targets...
  "linux-ia32-icc",     "icc:-DL_ENDIAN -O2::-D_REENTRANT::-ldl -no_cpprt:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-KPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 -"linux-elf",  "gcc:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-elf",  "gcc:-DL_ENDIAN \$(CFLAGS) -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_SONAMEVER)",
++"linux-elf",  "gcc:-DL_ENDIAN -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-Wl,-z,relro -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)",
  "linux-aout", "gcc:-DL_ENDIAN -O3 -fomit-frame-pointer -march=i486 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_asm}:a.out",
  ####
- "linux-generic64","gcc:-O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-@@ -414,7 +414,7 @@
- "linux-ppc64le","gcc:-m64 -DL_ENDIAN -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:$ppc64_asm:linux64le:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::",
- "linux-ia64", "gcc:-DL_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"linux-generic64","gcc:-O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"linux-ppc64",        "gcc:-m64 -DB_ENDIAN -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc64_asm}:linux64:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
+-"linux-ppc64le","gcc:-m64 -DL_ENDIAN -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:$ppc64_asm:linux64le:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::",
+-"linux-ia64", "gcc:-DL_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-generic64","gcc:-Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-Wl,-z,relro -ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::64",
++"linux-ppc64",        "gcc:-m64 -DB_ENDIAN -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-Wl,-z,relro -ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc64_asm}:linux64:dlfcn:linux-shared:-fPIC:-m64 \$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::64",
++"linux-ppc64le","gcc:-m64 -DL_ENDIAN -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-Wl,-z,relro -ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:$ppc64_asm:linux64le:dlfcn:linux-shared:-fPIC:-m64 \$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::64",
++"linux-ia64", "gcc:-DL_ENDIAN -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-Wl,-z,relro -ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)",
  "linux-ia64-icc","icc:-DL_ENDIAN -O2 -Wall::-D_REENTRANT::-ldl -no_cpprt:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 -"linux-x86_64",       "gcc:-m64 -DL_ENDIAN -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
-+"linux-x86_64",       "gcc:-m64 -DL_ENDIAN \$(CFLAGS) -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_SONAMEVER):::64",
++"linux-x86_64",       "gcc:-m64 -DL_ENDIAN -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-Wl,-z,relro -ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64 \$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::64",
  "linux-x86_64-clang", "clang: -m64 -DL_ENDIAN -O3 -Wall -Wextra $clang_disabled_warnings -Qunused-arguments::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
+ "debug-linux-x86_64-clang",   "clang: -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -m64 -DL_ENDIAN -g -Wall -Wextra $clang_disabled_warnings -Qunused-arguments::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
  "linux-x86_64-icc", "icc:-DL_ENDIAN -O2::-D_REENTRANT::-ldl -no_cpprt:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
  "linux-x32",  "gcc:-mx32 -DL_ENDIAN -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-mx32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::x32",
-@@ -1764,7 +1764,7 @@
+-"linux64-s390x",      "gcc:-m64 -DB_ENDIAN -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${s390x_asm}:64:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
++"linux64-s390x",      "gcc:-m64 -DB_ENDIAN -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-Wl,-z,relro -ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${s390x_asm}:64:dlfcn:linux-shared:-fPIC:-m64 \$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::64",
+ #### So called "highgprs" target for z/Architecture CPUs
+ # "Highgprs" is kernel feature first implemented in Linux 2.6.32, see
+ # /proc/cpuinfo. The idea is to preserve most significant bits of
+@@ -437,12 +437,12 @@ my %table=(
+ #### SPARC Linux setups
+ # Ray Miller <ray.miller@computing-services.oxford.ac.uk> has patiently
+ # assisted with debugging of following two configs.
+-"linux-sparcv8","gcc:-mcpu=v8 -DB_ENDIAN -O3 -fomit-frame-pointer -Wall -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-sparcv8","gcc:-mcpu=v8 -DB_ENDIAN -Wall \$(RPM_OPT_FLAGS) -DBN_DIV2W::-D_REENTRANT::-Wl,-z,relro -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)",
+ # it's a real mess with -mcpu=ultrasparc option under Linux, but
+ # -Wa,-Av8plus should do the trick no matter what.
+-"linux-sparcv9","gcc:-m32 -mcpu=ultrasparc -DB_ENDIAN -O3 -fomit-frame-pointer -Wall -Wa,-Av8plus -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC:-m32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-sparcv9","gcc:-m32 -mcpu=ultrasparc -DB_ENDIAN -Wall \$(RPM_OPT_FLAGS) -Wa,-Av8plus -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-Wl,-z,relro -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC:-m32 \$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)",
+ # GCC 3.1 is a requirement
+-"linux64-sparcv9","gcc:-m64 -mcpu=ultrasparc -DB_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT:ULTRASPARC:-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
++"linux64-sparcv9","gcc:-m64 -mcpu=ultrasparc -DB_ENDIAN -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT:ULTRASPARC:-Wl,-z,relro -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC:-m64 \$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::64",
+ #### Alpha Linux with GNU C and Compaq C setups
+ # Special notes:
+ # - linux-alpha+bwx-gcc is ment to be used from ./config only. If you
+@@ -1767,7 +1767,7 @@ while (<IN>)
        elsif ($shared_extension ne "" && $shared_extension =~ /^\.s([ol])\.[^\.]*\.[^\.]*$/)
                {
                my $sotmp = $1;
@@ -37,11 +81,10 @@ diff -Nur openssl-1.0.2d/Configure openssl-1.0.2d.patched/Configure
                }
        elsif ($shared_extension ne "" && $shared_extension =~ /^\.[^\.]*\.[^\.]*\.dylib$/)
                {
-
-diff -Nur openssl-1.0.2d/Makefile.org openssl-1.0.2d.patched/Makefile.org
---- openssl-1.0.2d/Makefile.org        2015-07-09 11:57:15.000000000 +0000
-+++ openssl-1.0.2d.patched/Makefile.org        2015-08-22 20:41:49.921000000 +0000
-@@ -10,6 +10,7 @@
+diff -up openssl-1.0.2e/Makefile.org.rpmbuild openssl-1.0.2e/Makefile.org
+--- openssl-1.0.2e/Makefile.org.rpmbuild       2015-12-03 15:04:23.000000000 +0100
++++ openssl-1.0.2e/Makefile.org        2015-12-04 13:18:44.913538616 +0100
+@@ -10,6 +10,7 @@ SHLIB_VERSION_HISTORY=
  SHLIB_MAJOR=
  SHLIB_MINOR=
  SHLIB_EXT=
@@ -49,7 +92,7 @@ diff -Nur openssl-1.0.2d/Makefile.org openssl-1.0.2d.patched/Makefile.org
  PLATFORM=dist
  OPTIONS=
  CONFIGURE_ARGS=
-@@ -339,10 +340,9 @@
+@@ -341,10 +342,9 @@ clean-shared:
  link-shared:
        @ set -e; for i in $(SHLIBDIRS); do \
                $(MAKE) -f $(HERE)/Makefile.shared -e $(BUILDENV) \
@@ -61,7 +104,7 @@ diff -Nur openssl-1.0.2d/Makefile.org openssl-1.0.2d.patched/Makefile.org
        done
  
  build-shared: do_$(SHLIB_TARGET) link-shared
-@@ -353,7 +353,7 @@
+@@ -355,7 +355,7 @@ do_$(SHLIB_TARGET):
                        libs="$(LIBKRB5) $$libs"; \
                fi; \
                $(CLEARENV) && $(MAKE) -f Makefile.shared -e $(BUILDENV) \
@@ -69,3 +112,4 @@ diff -Nur openssl-1.0.2d/Makefile.org openssl-1.0.2d.patched/Makefile.org
 +                      LIBNAME=$$i LIBVERSION=$(SHLIB_SONAMEVER) \
                        LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \
                        LIBDEPS="$$libs $(EX_LIBS)" \
+                       link_a.$(SHLIB_TARGET); \
diff --git a/src/patches/p7zip_change_install_folder.patch b/src/patches/p7zip_change_install_folder.patch
new file mode 100644 (file)
index 0000000..4a83343
--- /dev/null
@@ -0,0 +1,10 @@
+--- p7zip_15.14.1/makefile.common
++++ p7zip_15.14.1/makefile.common
+@@ -1,6 +1,6 @@
+ MKDIR = mkdir -p
+-DEST_HOME=/usr/local
++DEST_HOME=/usr
+ DEST_BIN=$(DEST_HOME)/bin
+ DEST_SHARE=$(DEST_HOME)/lib/p7zip
+ DEST_SHARE_DOC=$(DEST_HOME)/share/doc/p7zip
diff --git a/src/patches/pam-0.99.10.0-rlimit-build-fix.patch b/src/patches/pam-0.99.10.0-rlimit-build-fix.patch
new file mode 100644 (file)
index 0000000..5fdee07
--- /dev/null
@@ -0,0 +1,28 @@
+From 8e508f23bf5ed727649c99bbd540f7b1c2c2bd35 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Stevan=20Baji=C4=87?= <stevan@bajic.ch>
+Date: Mon, 9 Jul 2012 09:43:11 +0200
+Subject: [PATCH] RLIMIT_* variables are no longer defined unless you
+ explicitly include sys/resource.h.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
+
+modules/pam_unix/pam_unix_acct.c: Include sys/resource.h.
+---
+ modules/pam_unix/pam_unix_acct.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/modules/pam_unix/pam_unix_acct.c b/modules/pam_unix/pam_unix_acct.c
+index 8e90cc9..4a362f8 100644
+--- a/modules/pam_unix/pam_unix_acct.c
++++ b/modules/pam_unix/pam_unix_acct.c
+@@ -41,6 +41,7 @@
+ #include <string.h>
+ #include <unistd.h>
+ #include <sys/types.h>
++#include <sys/resource.h>
+ #include <syslog.h>
+ #include <pwd.h>
+ #include <shadow.h>
diff --git a/src/patches/perl-Fix-Errno.pm-generation-for-gcc-5.0.patch b/src/patches/perl-Fix-Errno.pm-generation-for-gcc-5.0.patch
new file mode 100644 (file)
index 0000000..1f6e80a
--- /dev/null
@@ -0,0 +1,66 @@
+From 96bcd6ed97ff05f5b421005f23973279dbfcafbf Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
+Date: Wed, 11 Feb 2015 15:46:37 +0100
+Subject: [PATCH 1/2] Fix Errno.pm generation for gcc-5.0
+
+gcc-5.0 -E interleaves now line numbers with expended macros, so that
+the generated errno.c will be preprocessed to
+
+EBFONT => [[
+           59
+                ]]
+
+which is hard to parse in in line-based reader.
+
+So use -P option with gcc >= 5.0. Global -P usage would break makedepend,
+global -ftrack-macro-expansion=0 would break lib/h2ph.t.
+
+RT#123784
+---
+ ext/Errno/Errno_pm.PL | 23 +++++++++++++++++------
+ 1 file changed, 17 insertions(+), 6 deletions(-)
+
+diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL
+index 3dadfce..c6bfa06 100644
+--- a/ext/Errno/Errno_pm.PL
++++ b/ext/Errno/Errno_pm.PL
+@@ -215,20 +215,31 @@ sub write_errno_pm {
+     { # BeOS (support now removed) did not enter this block
+     # invoke CPP and read the output
++      my $inhibit_linemarkers = '';
++      if ($Config{gccversion} =~ /\A(\d+)\./ and $1 >= 5) {
++          # GCC 5.0 interleaves expanded macros with line numbers breaking
++          # each line into multiple lines. RT#123784
++          $inhibit_linemarkers = ' -P';
++      }
++
+       if ($^O eq 'VMS') {
+-          my $cpp = "$Config{cppstdin} $Config{cppflags} $Config{cppminus}";
++          my $cpp = "$Config{cppstdin} $Config{cppflags}" .
++              $inhibit_linemarkers . " $Config{cppminus}";
+           $cpp =~ s/sys\$input//i;
+           open(CPPO,"$cpp  errno.c |") or
+               die "Cannot exec $Config{cppstdin}";
+       } elsif ($IsMSWin32 || $^O eq 'NetWare') {
+-          open(CPPO,"$Config{cpprun} $Config{cppflags} errno.c |") or
+-              die "Cannot run '$Config{cpprun} $Config{cppflags} errno.c'";
++          my $cpp = "$Config{cpprun} $Config{cppflags}" .
++              $inhibit_linemarkers;
++          open(CPPO,"$cpp errno.c |") or
++              die "Cannot run '$cpp errno.c'";
+       } elsif ($IsSymbian) {
+-            my $cpp = "gcc -E -I$ENV{SDK}\\epoc32\\include\\libc -";
++            my $cpp = "gcc -E -I$ENV{SDK}\\epoc32\\include\\libc" .
++              $inhibit_linemarkers ." -";
+           open(CPPO,"$cpp < errno.c |")
+               or die "Cannot exec $cpp";
+         } else {
+-          my $cpp = default_cpp();
++          my $cpp = default_cpp() . $inhibit_linemarkers;
+           open(CPPO,"$cpp < errno.c |")
+               or die "Cannot exec $cpp";
+       }
+-- 
+2.3.0
+
diff --git a/src/patches/python-2.7.13-getentropy.patch b/src/patches/python-2.7.13-getentropy.patch
new file mode 100644 (file)
index 0000000..7e00061
--- /dev/null
@@ -0,0 +1,22 @@
+diff --git a/Python/random.c b/Python/random.c
+index 2f83b5d..4cae217 100644
+--- a/Python/random.c
++++ b/Python/random.c
+@@ -97,8 +97,15 @@ win32_urandom(unsigned char *buffer, Py_ssize_t size, int raise)
+ }
+ /* Issue #25003: Don't use getentropy() on Solaris (available since
+- * Solaris 11.3), it is blocking whereas os.urandom() should not block. */
+-#elif defined(HAVE_GETENTROPY) && !defined(sun)
++   Solaris 11.3), it is blocking whereas os.urandom() should not block.
++
++   Issue #29188: Don't use getentropy() on Linux since the glibc 2.24
++   implements it with the getrandom() syscall which can fail with ENOSYS,
++   and this error is not supported in py_getentropy() and getrandom() is called
++   with flags=0 which blocks until system urandom is initialized, which is not
++   the desired behaviour to seed the Python hash secret nor for os.urandom():
++   see the PEP 524 which was only implemented in Python 3.6. */
++#elif defined(HAVE_GETENTROPY) && !defined(sun) && !defined(linux)
+ #define PY_GETENTROPY 1
+ /* Fill buffer with size pseudo-random bytes generated by getentropy().
diff --git a/src/patches/u-boot-c99-inline-fix.patch b/src/patches/u-boot-c99-inline-fix.patch
new file mode 100644 (file)
index 0000000..5956e55
--- /dev/null
@@ -0,0 +1,20 @@
+diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
+index 9896e54..99c6dcc 100644
+--- a/include/linux/compiler-gcc.h
++++ b/include/linux/compiler-gcc.h
+@@ -44,9 +44,10 @@
+  */
+ #if !defined(CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING) || \
+     !defined(CONFIG_OPTIMIZE_INLINING) || (__GNUC__ < 4)
+-# define inline               inline          __attribute__((always_inline))
+-# define __inline__   __inline__      __attribute__((always_inline))
+-# define __inline     __inline        __attribute__((always_inline))
++/* XXX: check __GNUC_STDC_INLINE__, fix line length */
++# define inline               inline          __attribute__((always_inline)) __attribute__((__gnu_inline__))
++# define __inline__   __inline__      __attribute__((always_inline)) __attribute__((__gnu_inline__))
++# define __inline     __inline        __attribute__((always_inline)) __attribute__((__gnu_inline__))
+ #endif
+ #define __deprecated                  __attribute__((deprecated))
+-- 
+1.8.3.2
diff --git a/src/patches/u-boot-support-gcc-6.patch b/src/patches/u-boot-support-gcc-6.patch
new file mode 100644 (file)
index 0000000..f6b4c30
--- /dev/null
@@ -0,0 +1,71 @@
+diff --git a/include/linux/compiler-gcc6.h b/include/linux/compiler-gcc6.h
+new file mode 100644
+index 0000000..622117b
+--- /dev/null
++++ b/include/linux/compiler-gcc6.h
+@@ -0,0 +1,65 @@
++#ifndef __LINUX_COMPILER_H
++#error "Please don't include <linux/compiler-gcc6.h> directly, include <linux/compiler.h> instead."
++#endif
++
++#define __used                                __attribute__((__used__))
++#define __must_check                  __attribute__((warn_unused_result))
++#define __compiler_offsetof(a, b)     __builtin_offsetof(a, b)
++
++/* Mark functions as cold. gcc will assume any path leading to a call
++   to them will be unlikely.  This means a lot of manual unlikely()s
++   are unnecessary now for any paths leading to the usual suspects
++   like BUG(), printk(), panic() etc. [but let's keep them for now for
++   older compilers]
++
++   Early snapshots of gcc 4.3 don't support this and we can't detect this
++   in the preprocessor, but we can live with this because they're unreleased.
++   Maketime probing would be overkill here.
++
++   gcc also has a __attribute__((__hot__)) to move hot functions into
++   a special section, but I don't see any sense in this right now in
++   the kernel context */
++#define __cold                        __attribute__((__cold__))
++
++#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
++
++#ifndef __CHECKER__
++# define __compiletime_warning(message) __attribute__((warning(message)))
++# define __compiletime_error(message) __attribute__((error(message)))
++#endif /* __CHECKER__ */
++
++/*
++ * Mark a position in code as unreachable.  This can be used to
++ * suppress control flow warnings after asm blocks that transfer
++ * control elsewhere.
++ *
++ * Early snapshots of gcc 4.5 don't support this and we can't detect
++ * this in the preprocessor, but we can live with this because they're
++ * unreleased.  Really, we need to have autoconf for the kernel.
++ */
++#define unreachable() __builtin_unreachable()
++
++/* Mark a function definition as prohibited from being cloned. */
++#define __noclone     __attribute__((__noclone__))
++
++/*
++ * Tell the optimizer that something else uses this function or variable.
++ */
++#define __visible __attribute__((externally_visible))
++
++/*
++ * GCC 'asm goto' miscompiles certain code sequences:
++ *
++ *   http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
++ *
++ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
++ *
++ * (asm goto is automatically volatile - the naming reflects this.)
++ */
++#define asm_volatile_goto(x...)       do { asm goto(x); asm (""); } while (0)
++
++#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
++#define __HAVE_BUILTIN_BSWAP32__
++#define __HAVE_BUILTIN_BSWAP64__
++#define __HAVE_BUILTIN_BSWAP16__
++#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
index ca0ee51b6823c664e9c0a31571ac84177ce0ca80..45de8c78de61aceffad284893ed23532dfb2e582 100755 (executable)
 #                                                                             #
 ###############################################################################
 
+for i in BUILD_ARCH BUILDTARGET KVER; do
+       if [ -z "${!i}" ]; then
+               echo "${i} not set" >&2
+               exit 1
+       fi
+done
+
 FILELIST=
 
 for dir in $@; do
@@ -31,7 +38,7 @@ for dir in $@; do
                continue
        fi
 
-       for exclude in ${dir}/${MACHINE}/*; do
+       for exclude in ${dir}/${BUILD_ARCH}/*; do
                [ -f "${exclude}" ] || continue
                EXCLUDE="$EXCLUDE $exclude"
        done
@@ -52,4 +59,4 @@ for dir in $@; do
 done
 
 cat ${FILELIST} 2>/dev/null | grep -v ^# | sort | uniq | \
-       sed -e "s/KVER/${KVER}/g" -e "s/MACHINE/${MACHINE}/g" -e "s/BUILDTARGET/${BUILDTARGET}/g"
+       sed -e "s/KVER/${KVER}/g" -e "s/MACHINE/${BUILD_ARCH}/g" -e "s/BUILDTARGET/${BUILDTARGET}/g"
index 2b4feafe9063c50bf0c01795bd8ea887fcf21e19..d73848fc6e7491e4b2d11a6889d3994e50f9853e 100755 (executable)
@@ -43,15 +43,15 @@ function _strip() {
 for dir in ${dirs}; do
        # Strip shared objects.
        find ${dir} -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) \
-               | file -N -f - | sed -n -e 's/^\(.*\):[   ]*.*ELF.*, not stripped/\1/p' |
+               | file -N -f - | sed -n -e 's/^\(.*\):[   ]*.*ELF.*, not stripped.*/\1/p' |
                while read file; do
-                       _strip ${file}
-               done
+                       _strip ${file} || exit $?
+               done || exit $?
 
        # Strip static archives.
        find ${dir} -name \*.a -a -exec file {} \; \
                | grep 'current ar archive' | sed -n -e 's/^\(.*\):[    ]*current ar archive/\1/p' |
                while read file; do
-                       _strip ${file}
-               done
+                       _strip ${file} || exit $?
+               done || exit $?
 done
index 0180ded179540b5ae782032554979c93884432f8..508f5f21eed358d1dad239165270eb9668a49fc8 100644 (file)
@@ -60,69 +60,94 @@ WARN="\\033[1;35m"
 FAIL="\\033[1;31m"
 NORMAL="\\033[0;39m"
 
-configure_target() {
-       local target_arch="${1}"
+configure_build() {
+       local build_arch="${1}"
 
-       if [ "${target_arch}" = "default" ]; then
-               target_arch="$(configure_target_guess)"
+       if [ "${build_arch}" = "default" ]; then
+               build_arch="$(configure_build_guess)"
        fi
 
-       case "${target_arch}" in
+       case "${build_arch}" in
                x86_64)
-                       BUILDTARGET="${target_arch}-unknown-linux-gnu"
-                       CROSSTARGET="${target_arch}-cross-linux-gnu"
+                       BUILDTARGET="${build_arch}-unknown-linux-gnu"
+                       CROSSTARGET="${build_arch}-cross-linux-gnu"
+                       BUILD_PLATFORM="x86"
                        CFLAGS_ARCH="-m64 -mtune=generic"
                        ;;
 
                i586)
-                       BUILDTARGET="${target_arch}-pc-linux-gnu"
-                       CROSSTARGET="${target_arch}-cross-linux-gnu"
+                       BUILDTARGET="${build_arch}-pc-linux-gnu"
+                       CROSSTARGET="${build_arch}-cross-linux-gnu"
+                       BUILD_PLATFORM="x86"
                        CFLAGS_ARCH="-march=i586 -mtune=generic -fomit-frame-pointer"
                        ;;
 
+               aarch64)
+                       BUILDTARGET="${build_arch}-unknown-linux-gnu"
+                       CROSSTARGET="${build_arch}-cross-linux-gnu"
+                       BUILD_PLATFORM="arm"
+                       CFLAGS_ARCH=""
+                       ;;
+
+               armv7hl)
+                       BUILDTARGET="${build_arch}-unknown-linux-gnueabi"
+                       CROSSTARGET="${build_arch}-cross-linux-gnueabi"
+                       BUILD_PLATFORM="arm"
+                       CFLAGS_ARCH="-march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard"
+                       ;;
+
                armv5tel)
-                       BUILDTARGET="${target_arch}-unknown-linux-gnueabi"
-                       CROSSTARGET="${target_arch}-cross-linux-gnueabi"
+                       BUILDTARGET="${build_arch}-unknown-linux-gnueabi"
+                       CROSSTARGET="${build_arch}-cross-linux-gnueabi"
+                       BUILD_PLATFORM="arm"
                        CFLAGS_ARCH="-march=armv5te -mfloat-abi=soft -fomit-frame-pointer"
-                       MACHINE_TYPE="arm"
                        ;;
 
                *)
-                       exiterror "Cannot build for architure ${target_arch}"
+                       exiterror "Cannot build for architure ${build_arch}"
                        ;;
        esac
 
        # Check if the QEMU helper is available if needed.
-       if qemu_is_required "${target_arch}"; then
-               local qemu_target_helper="$(qemu_find_target_helper_name "${target_arch}")"
+       if qemu_is_required "${build_arch}"; then
+               local qemu_build_helper="$(qemu_find_build_helper_name "${build_arch}")"
 
-               if [ -n "${qemu_target_helper}" ]; then
-                       QEMU_TARGET_HELPER="${qemu_target_helper}"
+               if [ -n "${qemu_build_helper}" ]; then
+                       QEMU_TARGET_HELPER="${qemu_build_helper}"
                else
-                       exiterror "Could not find a binfmt_misc helper entry for ${target_arch}"
+                       exiterror "Could not find a binfmt_misc helper entry for ${build_arch}"
                fi
        fi
 
-       TARGET_ARCH="${target_arch}"
+       BUILD_ARCH="${build_arch}"
 
-       # Old variable names
-       MACHINE="${TARGET_ARCH}"
+       # Enables hardening
+       HARDENING_CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4"
 
-       CFLAGS="-O2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fPIC"
-       CFLAGS="${CFLAGS} -fstack-protector-strong --param=ssp-buffer-size=4 ${CFLAGS_ARCH}"
+       CFLAGS="-O2 -pipe -Wall -fexceptions -fPIC ${CFLAGS_ARCH}"
        CXXFLAGS="${CFLAGS}"
 }
 
-configure_target_guess() {
-       case "${BUILD_ARCH}" in
+configure_build_guess() {
+       case "${HOST_ARCH}" in
                x86_64|i686|i586)
                        echo "i586"
                        ;;
-               aarch64|armv7*|armv6*|armv5*)
+
+               aarch64)
+                       echo "aarch64"
+                       ;;
+
+               armv7*)
+                       echo "armv7hl"
+                       ;;
+
+               armv6*|armv5*)
                        echo "armv5tel"
                        ;;
+
                *)
-                       exiterror "Cannot guess target architecture"
+                       exiterror "Cannot guess build architecture"
                        ;;
        esac
 }
@@ -198,9 +223,9 @@ beautify()
                                LAST_STAGE_TIME=$[ `date +%s` - $STAGE_TIME_START ]
                        fi
                        STAGE_TIME_START=`date +%s`
-                       echo -ne "${BOLD}*** ${MESSAGE}${NORMAL}"
+                       echo -ne "${BOLD}*** (${BUILD_ARCH}) ${MESSAGE}${NORMAL}"
                        if [ "$LAST_STAGE_TIME" ]; then
-                               echo -ne "${DONE} (Last stage took $LAST_STAGE_TIME secs)${NORMAL}"
+                               echo -ne "${DONE} (Last stage took $LAST_STAGE_TIME secs)${NORMAL}\n"
                        fi
                        echo -ne "${BOLD}${SET_VER_COL}      version${SET_OPT_COL} options${SET_TIME_COL} time (sec)${SET_RESULT_COL} status${NORMAL}\n"
                        ;;
@@ -335,7 +360,7 @@ fake_environ() {
        env="${env} UTS_RELEASE=${KVER}"
 
        # Fake machine version.
-       env="${env} UTS_MACHINE=${TARGET_ARCH}"
+       env="${env} UTS_MACHINE=${BUILD_ARCH}"
 
        echo "${env}"
 }
@@ -349,7 +374,7 @@ qemu_environ() {
        fi
 
        # Set default qemu options
-       case "${TARGET_ARCH}" in
+       case "${BUILD_ARCH}" in
                arm*)
                        QEMU_CPU="${QEMU_CPU:-cortex-a9}"
 
@@ -364,13 +389,13 @@ qemu_environ() {
 }
 
 qemu_is_required() {
-       local target_arch="${1}"
+       local build_arch="${1}"
 
-       if [ -z "${target_arch}" ]; then
-               target_arch="${TARGET_ARCH}"
+       if [ -z "${build_arch}" ]; then
+               build_arch="${BUILD_ARCH}"
        fi
 
-       case "${BUILD_ARCH},${target_arch}" in
+       case "${HOST_ARCH},${build_arch}" in
                x86_64,arm*|i?86,arm*|i?86,x86_64)
                        return 0
                        ;;
@@ -424,11 +449,11 @@ qemu_install_helper() {
        exiterror "Could not find a statically-linked QEMU emulator: ${QEMU_TARGET_HELPER}"
 }
 
-qemu_find_target_helper_name() {
-       local target_arch="${1}"
+qemu_find_build_helper_name() {
+       local build_arch="${1}"
 
        local magic
-       case "${target_arch}" in
+       case "${build_arch}" in
                arm*)
                        magic="7f454c4601010100000000000000000002002800"
                        ;;
@@ -465,36 +490,53 @@ file_is_static() {
        file ${file} 2>/dev/null | grep -q "statically linked"
 }
 
-entershell() {
-       if [ ! -e $BASEDIR/build/usr/src/lfs/ ]; then
-               exiterror "No such file or directory: $BASEDIR/build/usr/src/lfs/"
-       fi
-
+enterchroot() {
        # Install QEMU helper, if needed
        qemu_install_helper
 
-       echo "Entering to a shell inside LFS chroot, go out with exit"
-       chroot $LFS /tools/bin/env -i HOME=/root TERM=$TERM PS1='ipfire build chroot ($(uname -m)) \u:\w\$ ' \
-               PATH=/tools/ccache/bin:/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
-               VERSION=$VERSION CONFIG_ROOT=$CONFIG_ROOT \
-               NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
-               CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
+       local PATH="/tools/ccache/bin:/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin"
+
+       PATH="${PATH}" chroot ${LFS} env -i \
+               HOME="/root" \
+               TERM="${TERM}" \
+               PS1="${PS1}" \
+               PATH="${PATH}" \
+               SYSTEM_RELEASE="${SYSTEM_RELEASE}" \
+               PAKFIRE_CORE="${PAKFIRE_CORE}" \
+               NAME="${NAME}" \
+               SNAME="${SNAME}" \
+               VERSION="${VERSION}" \
+               CORE="${CORE}" \
+               SLOGAN="${SLOGAN}" \
+               CONFIG_ROOT="${CONFIG_ROOT}" \
+               CFLAGS="${CFLAGS} ${HARDENING_CFLAGS}" \
+               CXXFLAGS="${CXXFLAGS} ${HARDENING_CFLAGS}" \
+               BUILDTARGET="${BUILDTARGET}" \
+               CROSSTARGET="${CROSSTARGET}" \
+               BUILD_ARCH="${BUILD_ARCH}" \
+               BUILD_PLATFORM="${BUILD_PLATFORM}" \
                CCACHE_DIR=/usr/src/ccache \
                CCACHE_COMPRESS="${CCACHE_COMPRESS}" \
                CCACHE_COMPILERCHECK="${CCACHE_COMPILERCHECK}" \
-               KVER=$KVER \
-               BUILDTARGET="$BUILDTARGET" \
-               CROSSTARGET="${CROSSTARGET}" \
-               MACHINE="$MACHINE" \
-               MACHINE_TYPE="$MACHINE_TYPE" \
+               KVER="${KVER}" \
                $(fake_environ) \
                $(qemu_environ) \
-               /tools/bin/bash -i
-       if [ $? -ne 0 ]; then
-                       beautify message FAIL
-                       exiterror "chroot error"
-       else
+               "$@"
+}
+
+entershell() {
+       if [ ! -e $BASEDIR/build/usr/src/lfs/ ]; then
+               exiterror "No such file or directory: $BASEDIR/build/usr/src/lfs/"
+       fi
+
+       echo "Entering to a shell inside LFS chroot, go out with exit"
+       local PS1="ipfire build chroot ($(uname -m)) \u:\w\$ "
+
+       if enterchroot bash -i; then
                stdumount
+       else
+               beautify message FAIL
+               exiterror "chroot error"
        fi
 }
 
@@ -523,8 +565,8 @@ lfsmakecommoncheck()
        # Check if this package is supported by our architecture.
        # If no SUP_ARCH is found, we assume the package can be built for all.
        if grep "^SUP_ARCH" ${BASEDIR}/lfs/${1} >/dev/null; then
-               # Check if package supports ${MACHINE} or all architectures.
-               if ! grep -E "^SUP_ARCH.*${MACHINE}|^SUP_ARCH.*all" ${BASEDIR}/lfs/${1} >/dev/null; then
+               # Check if package supports ${BUILD_ARCH} or all architectures.
+               if ! grep -E "^SUP_ARCH.*${BUILD_ARCH}|^SUP_ARCH.*all" ${BASEDIR}/lfs/${1} >/dev/null; then
                        beautify result SKIP
                        return 1
                fi
@@ -542,15 +584,13 @@ lfsmakecommoncheck()
 
        echo -ne "`date -u '+%b %e %T'`: Building $* " >> $LOGFILE
 
-       cd $BASEDIR/lfs && make -s -f $* LFS_BASEDIR=$BASEDIR MACHINE=$MACHINE \
-               MACHINE_TYPE="$MACHINE_TYPE" \
+       cd $BASEDIR/lfs && make -s -f $* LFS_BASEDIR=$BASEDIR BUILD_ARCH="${BUILD_ARCH}" \
                MESSAGE="$1\t " download  >> $LOGFILE 2>&1
        if [ $? -ne 0 ]; then
                exiterror "Download error in $1"
        fi
 
-       cd $BASEDIR/lfs && make -s -f $* LFS_BASEDIR=$BASEDIR MACHINE=$MACHINE \
-               MACHINE_TYPE="$MACHINE_TYPE" \
+       cd $BASEDIR/lfs && make -s -f $* LFS_BASEDIR=$BASEDIR BUILD_ARCH="${BUILD_ARCH}" \
                MESSAGE="$1\t md5sum" md5  >> $LOGFILE 2>&1
        if [ $? -ne 0 ]; then
                exiterror "md5sum error in $1, check file in cache or signature"
@@ -565,17 +605,25 @@ lfsmake1() {
 
        local PKG_TIME_START=`date +%s`
 
-       cd $BASEDIR/lfs && \
+       cd $BASEDIR/lfs && env -i \
                PATH="/tools/ccache/bin:/tools/bin:$PATH" \
-               make -f $* TOOLCHAIN=1 BUILDTARGET=$BUILDTARGET \
-                                               CROSSTARGET="${CROSSTARGET}" \
-                                               MACHINE=$MACHINE \
-                                               MACHINE_TYPE=$MACHINE_TYPE \
-                                               LFS_BASEDIR=$BASEDIR \
-                                               ROOT=$LFS \
-                                               KVER=$KVER \
-                                               MAKETUNING=$MAKETUNING \
-                                               install >> $LOGFILE 2>&1
+               CCACHE_DIR="${CCACHE_DIR}" \
+               CCACHE_COMPRESS="${CCACHE_COMPRESS}" \
+               CCACHE_COMPILERCHECK="${CCACHE_COMPILERCHECK}" \
+               CFLAGS="${CFLAGS}" \
+               CXXFLAGS="${CXXFLAGS}" \
+               make -f $* \
+                       TOOLCHAIN=1 \
+                       CROSSTARGET="${CROSSTARGET}" \
+                       BUILDTARGET="${BUILDTARGET}" \
+                       BUILD_ARCH="${BUILD_ARCH}" \
+                       BUILD_PLATFORM="${BUILD_PLATFORM}" \
+                       LFS_BASEDIR="${BASEDIR}" \
+                       ROOT="${LFS}" \
+                       KVER="${KVER}" \
+                       MAKETUNING="${MAKETUNING}" \
+                       install >> $LOGFILE 2>&1
+
        local COMPILE_SUCCESS=$?
        local PKG_TIME_END=`date +%s`
 
@@ -593,72 +641,14 @@ lfsmake2() {
        lfsmakecommoncheck $*
        [ $? == 1 ] && return 0
 
-       # Install QEMU helper, if needed
-       qemu_install_helper
-
        local PKG_TIME_START=`date +%s`
-       chroot $LFS /tools/bin/env -i   HOME=/root \
-                                               TERM=$TERM PS1='\u:\w\$ ' \
-                                               PATH=/tools/ccache/bin:/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
-                                               VERSION=$VERSION PAKFIRE_CORE="${PAKFIRE_CORE}" \
-                                               SYSTEM_RELEASE="${SYSTEM_RELEASE}" \
-                                               CONFIG_ROOT=$CONFIG_ROOT \
-                                               NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
-                                               CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
-                                               CCACHE_DIR=/usr/src/ccache \
-                                               CCACHE_COMPRESS="${CCACHE_COMPRESS}" \
-                                               CCACHE_COMPILERCHECK="${CCACHE_COMPILERCHECK}" \
-                                               KVER=$KVER MAKETUNING=$MAKETUNING \
-                                               BUILDTARGET="$BUILDTARGET" \
-                                               CROSSTARGET="${CROSSTARGET}" \
-                                               MACHINE="$MACHINE" \
-                                               MACHINE_TYPE="$MACHINE_TYPE" \
-                                               $(qemu_environ) \
-                                               $(fake_environ) \
-                                               /tools/bin/bash -x -c "cd /usr/src/lfs && \
-                                               make -f $* LFS_BASEDIR=/usr/src install" >>$LOGFILE 2>&1
-       local COMPILE_SUCCESS=$?
-       local PKG_TIME_END=`date +%s`
+       local PS1='\u:\w$ '
 
-       if [ $COMPILE_SUCCESS -ne 0 ]; then
-               beautify result FAIL $[ $PKG_TIME_END - $PKG_TIME_START ]
-               exiterror "Building $*";
-       else
-               beautify result DONE $[ $PKG_TIME_END - $PKG_TIME_START ]
-       fi
-
-       return 0
-}
-
-ipfiremake() {
-       lfsmakecommoncheck $*
-       [ $? == 1 ] && return 0
-
-       # Install QEMU helper, if needed
-       qemu_install_helper
-
-       local PKG_TIME_START=`date +%s`
-       chroot $LFS /tools/bin/env -i   HOME=/root \
-                                               TERM=$TERM PS1='\u:\w\$ ' \
-                                               PATH=/tools/ccache/bin:/bin:/usr/bin:/sbin:/usr/sbin \
-                                               VERSION=$VERSION \
-                                               CORE=$CORE \
-                                               CONFIG_ROOT=$CONFIG_ROOT \
-                                               NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
-                                               SYSTEM_RELEASE="$SYSTEM_RELEASE" \
-                                               CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
-                                               CCACHE_DIR=/usr/src/ccache \
-                                               CCACHE_COMPRESS="${CCACHE_COMPRESS}" \
-                                               CCACHE_COMPILERCHECK="${CCACHE_COMPILERCHECK}" \
-                                               KVER=$KVER MAKETUNING=$MAKETUNING \
-                                               BUILDTARGET="$BUILDTARGET" \
-                                               CROSSTARGET="${CROSSTARGET}" \
-                                               MACHINE="$MACHINE" \
-                                               MACHINE_TYPE="$MACHINE_TYPE" \
-                                               $(qemu_environ) \
-                                               $(fake_environ) \
-                                               /bin/bash -x -c "cd /usr/src/lfs && \
-                                               make -f $* LFS_BASEDIR=/usr/src install" >>$LOGFILE 2>&1
+       enterchroot \
+               bash -x -c "cd /usr/src/lfs && make -f $* \
+                       MAKETUNING=${MAKETUNING} \
+                       LFS_BASEDIR=/usr/src install" \
+               >> ${LOGFILE} 2>&1
 
        local COMPILE_SUCCESS=$?
        local PKG_TIME_END=`date +%s`
@@ -669,81 +659,27 @@ ipfiremake() {
        else
                beautify result DONE $[ $PKG_TIME_END - $PKG_TIME_START ]
        fi
+
        return 0
 }
 
 ipfiredist() {
        lfsmakecommoncheck $*
        [ $? == 1 ] && return 0
-       
-       # Install QEMU helper, if needed
-       qemu_install_helper
 
        local PKG_TIME_START=`date +%s`
-       chroot $LFS /tools/bin/env -i   HOME=/root \
-                                       TERM=$TERM PS1='\u:\w\$ ' \
-                                       PATH=/tools/ccache/bin:/bin:/usr/bin:/sbin:/usr/sbin \
-                                       VERSION=$VERSION \
-                                       CONFIG_ROOT=$CONFIG_ROOT \
-                                       NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
-                                       CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
-                                       CCACHE_DIR=/usr/src/ccache \
-                                       CCACHE_COMPRESS="${CCACHE_COMPRESS}" \
-                                       CCACHE_COMPILERCHECK="${CCACHE_COMPILERCHECK}" \
-                                       KVER=$KVER \
-                                       BUILDTARGET="$BUILDTARGET" \
-                                       CROSSTARGET="${CROSSTARGET}" \
-                                       MACHINE="$MACHINE" \
-                                       MACHINE_TYPE="$MACHINE_TYPE" \
-                                       $(qemu_environ) \
-                                       $(fake_environ) \
-                                       /bin/bash -x -c "cd /usr/src/lfs && \
-                                       make -f $1 LFS_BASEDIR=/usr/src dist" >>$LOGFILE 2>&1
+       local PS1='\u:\w$ '
 
-       local COMPILE_SUCCESS=$?
-       local PKG_TIME_END=`date +%s`
-
-       if [ $COMPILE_SUCCESS -ne 0 ]; then
-               beautify result FAIL $[ $PKG_TIME_END - $PKG_TIME_START ]
-               exiterror "Packaging $*";
-       else
-               beautify result DONE $[ $PKG_TIME_END - $PKG_TIME_START ]
-       fi
-       return 0
-}
-
-installmake() {
-       lfsmakecommoncheck $*
-       [ $? == 1 ] && return 0
-
-       # Install QEMU helper, if needed
-       qemu_install_helper
-
-       local PKG_TIME_START=`date +%s`
-       chroot $LFS /tools/bin/env -i   HOME=/root \
-                                               TERM=$TERM PS1='\u:\w\$ ' \
-                                               PATH=/tools/ccache/bin:/bin:/usr/bin:/sbin:/usr/sbin \
-                                               VERSION=$VERSION \
-                                               SYSTEM_RELEASE="${SYSTEM_RELEASE}" \
-                                               CONFIG_ROOT=$CONFIG_ROOT \
-                                               NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
-                                               CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
-                                               CCACHE_DIR=/usr/src/ccache CCACHE_COMPRESS=1 CCACHE_HASHDIR=1 \
-                                               KVER=$KVER \
-                                               BUILDTARGET="$BUILDTARGET" \
-                                               CROSSTARGET="${CROSSTARGET}" \
-                                               MACHINE="$MACHINE" \
-                                               MACHINE_TYPE="$MACHINE_TYPE" \
-                                               LD_LIBRARY_PATH=/tools/lib \
-                   /tools/bin/bash -x -c "cd /usr/src/lfs && \
-                   /tools/bin/make -f $* LFS_BASEDIR=/usr/src install" >>$LOGFILE 2>&1
+       enterchroot \
+               bash -x -c "cd /usr/src/lfs && make -f $* LFS_BASEDIR=/usr/src dist" \
+               >> ${LOGFILE} 2>&1
 
        local COMPILE_SUCCESS=$?
        local PKG_TIME_END=`date +%s`
 
        if [ $COMPILE_SUCCESS -ne 0 ]; then
                beautify result FAIL $[ $PKG_TIME_END - $PKG_TIME_START ]
-               exiterror "Building $*";
+               exiterror "Packaging $*";
        else
                beautify result DONE $[ $PKG_TIME_END - $PKG_TIME_START ]
        fi