Diff of the two buildlogs: -- --- b1/build.log 2024-11-06 10:47:12.213060445 +0000 +++ b2/build.log 2024-11-06 11:03:39.425851569 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Tue Nov 5 22:24:26 -12 2024 -I: pbuilder-time-stamp: 1730888666 +I: Current time: Wed Dec 10 07:10:29 +14 2025 +I: pbuilder-time-stamp: 1765300229 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -36,52 +36,84 @@ dpkg-source: info: applying Version_2_6_15pre10 I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/3130894/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/1378125/tmp/hooks/D01_modify_environment starting +debug: Running on codethink01-arm64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Dec 9 17:10 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/1378125/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/1378125/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='arm64' - DEBIAN_FRONTEND='noninteractive' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="32" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.2.32(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='58ca738cc7c44242bac3e213bd429a4d' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='3130894' - PS1='# ' - PS2='> ' + INVOCATION_ID=4b57a92e57e24262a41e6ddc3cae01b0 + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=1378125 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.RF38sHTF/pbuilderrc_TLZC --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.RF38sHTF/b1 --logfile b1/build.log gcl_2.6.14-11.dsc' - SUDO_GID='109' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.4:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.RF38sHTF/pbuilderrc_jH7W --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.RF38sHTF/b2 --logfile b2/build.log gcl_2.6.14-11.dsc' + SUDO_GID=109 + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://192.168.101.4:3128 I: uname -a - Linux codethink02-arm64 6.1.0-26-cloud-arm64 #1 SMP Debian 6.1.112-1 (2024-09-30) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-26-cloud-arm64 #1 SMP Debian 6.1.112-1 (2024-09-30) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 4 21:30 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/3130894/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 4 2024 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/1378125/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -250,7 +282,7 @@ Get: 109 http://deb.debian.org/debian trixie/main arm64 tcl8.6-dev arm64 8.6.15+dfsg-2 [1009 kB] Get: 110 http://deb.debian.org/debian trixie/main arm64 tk8.6 arm64 8.6.15-1 [69.7 kB] Get: 111 http://deb.debian.org/debian trixie/main arm64 tk8.6-dev arm64 8.6.15-1 [761 kB] -Fetched 49.3 MB in 1s (89.9 MB/s) +Fetched 49.3 MB in 0s (201 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package tzdata. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20089 files and directories currently installed.) @@ -616,8 +648,8 @@ Setting up tzdata (2024a-4) ... Current default time zone: 'Etc/UTC' -Local time is now: Wed Nov 6 10:25:16 UTC 2024. -Universal Time is now: Wed Nov 6 10:25:16 UTC 2024. +Local time is now: Tue Dec 9 17:10:51 UTC 2025. +Universal Time is now: Tue Dec 9 17:10:51 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up xtrans-dev (1.4.0-1) ... @@ -724,7 +756,11 @@ fakeroot is already the newest version (1.36-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/reproducible-path/gcl-2.6.14/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../gcl_2.6.14-11_source.changes +I: user script /srv/workspace/pbuilder/1378125/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/1378125/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/gcl-2.6.14/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../gcl_2.6.14-11_source.changes dpkg-buildpackage: info: source package gcl dpkg-buildpackage: info: source version 2.6.14-11 dpkg-buildpackage: info: source distribution unstable @@ -3199,13 +3235,13 @@ cd info && /usr/bin/make make[2]: Entering directory '/build/reproducible-path/gcl-2.6.14/info' TEXINPUTS=.:$TEXINPUTS tex --interaction nonstopmode gcl-si.texi || true -/bin/sh: 1: tex: not found +/bin/sh: line 1: tex: command not found rm -f *.cp *.ky *.vr *.tp *.pg *.toc *.aux *.log *.fn dvipdfm gcl-si.dvi make[2]: dvipdfm: No such file or directory make[2]: [makefile:36: gcl-si.pdf] Error 127 (ignored) TEXINPUTS=.:$TEXINPUTS tex --interaction nonstopmode gcl.texi || true -/bin/sh: 1: tex: not found +/bin/sh: line 1: tex: command not found rm -f *.cp *.ky *.vr *.tp *.pg *.toc *.aux *.log *.fn dvipdfm gcl.dvi make[2]: dvipdfm: No such file or directory @@ -6073,20 +6109,20 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fixup.o. Loading binary of GCL_PCL_FIXUP... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fixup.o" -Compiling gazonk_3299469_0.lsp. +Compiling gazonk_1459477_0.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_3299469_0.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3299469_0.o" -start address -T 0xee9b50 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3299469_0.o" -Compiling gazonk_3299469_1.lsp. +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_1459477_0.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1459477_0.o" +start address -T 0xee9b50 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1459477_0.o" +Compiling gazonk_1459477_1.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_3299469_1.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3299469_1.o" -start address -T 0xeea160 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3299469_1.o" +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_1459477_1.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1459477_1.o" +start address -T 0xeea160 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1459477_1.o" start address -T 0xee9990 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fixup.o" Compiling GCL_PCL_DEFCOMBIN... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_defcombin.lisp. @@ -6096,34 +6132,34 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_defcombin.o. Loading binary of GCL_PCL_DEFCOMBIN... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_defcombin.o" -Compiling gazonk_3299469_2.lsp. +Compiling gazonk_1459477_2.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_3299469_2.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3299469_2.o" -start address -T 0xeee780 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3299469_2.o" -Compiling gazonk_3299469_3.lsp. +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_1459477_2.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1459477_2.o" +start address -T 0xeee780 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1459477_2.o" +Compiling gazonk_1459477_3.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_3299469_3.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3299469_3.o" -start address -T 0xeef8b0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3299469_3.o" -Compiling gazonk_3299469_4.lsp. +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_1459477_3.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1459477_3.o" +start address -T 0xeef8b0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1459477_3.o" +Compiling gazonk_1459477_4.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_3299469_4.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3299469_4.o" -start address -T 0xef0630 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3299469_4.o" -Compiling gazonk_3299469_5.lsp. +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_1459477_4.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1459477_4.o" +start address -T 0xef0630 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1459477_4.o" +Compiling gazonk_1459477_5.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_3299469_5.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3299469_5.o" -start address -T 0xef0ed0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3299469_5.o" +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_1459477_5.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1459477_5.o" +start address -T 0xef0ed0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1459477_5.o" start address -T 0xeea770 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_defcombin.o" Compiling GCL_PCL_CTYPES... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_ctypes.lisp. @@ -6133,13 +6169,13 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_ctypes.o. Loading binary of GCL_PCL_CTYPES... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_ctypes.o" -Compiling gazonk_3299469_6.lsp. +Compiling gazonk_1459477_6.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_3299469_6.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3299469_6.o" -start address -T 0xef20c0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3299469_6.o" +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_1459477_6.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1459477_6.o" +start address -T 0xef20c0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1459477_6.o" start address -T 0xef1910 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_ctypes.o" Compiling GCL_PCL_ENV... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_env.lisp. @@ -6152,13 +6188,13 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_env.o. Loading binary of GCL_PCL_ENV... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_env.o" -Compiling gazonk_3299469_7.lsp. +Compiling gazonk_1459477_7.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_3299469_7.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3299469_7.o" -start address -T 0xef89f0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3299469_7.o" +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_1459477_7.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1459477_7.o" +start address -T 0xef89f0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1459477_7.o" Warning: DESCRIBE is being redefined. start address -T 0xef2960 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_env.o" Compiling GCL_PCL_COMPAT... @@ -7034,7 +7070,7 @@ /tmp/ >;; Loading "../tkl.o" -start address -T 0x109ab90 ;; Finished loading "../tkl.o" +start address -T 0x109a8f0 ;; Finished loading "../tkl.o" 82958 > @@ -7044,13 +7080,13 @@ cd info && /usr/bin/make make[2]: Entering directory '/build/reproducible-path/gcl-2.6.14/info' TEXINPUTS=.:$TEXINPUTS tex --interaction nonstopmode gcl-si.texi || true -/bin/sh: 1: tex: not found +/bin/sh: line 1: tex: command not found rm -f *.cp *.ky *.vr *.tp *.pg *.toc *.aux *.log *.fn dvipdfm gcl-si.dvi make[2]: dvipdfm: No such file or directory make[2]: [makefile:36: gcl-si.pdf] Error 127 (ignored) TEXINPUTS=.:$TEXINPUTS tex --interaction nonstopmode gcl.texi || true -/bin/sh: 1: tex: not found +/bin/sh: line 1: tex: command not found rm -f *.cp *.ky *.vr *.tp *.pg *.toc *.aux *.log *.fn dvipdfm gcl.dvi make[2]: dvipdfm: No such file or directory @@ -9638,13 +9674,13 @@ cd info && /usr/bin/make make[2]: Entering directory '/build/reproducible-path/gcl-2.6.14/info' TEXINPUTS=.:$TEXINPUTS tex --interaction nonstopmode gcl-si.texi || true -/bin/sh: 1: tex: not found +/bin/sh: line 1: tex: command not found rm -f *.cp *.ky *.vr *.tp *.pg *.toc *.aux *.log *.fn dvipdfm gcl-si.dvi make[2]: dvipdfm: No such file or directory make[2]: [makefile:36: gcl-si.pdf] Error 127 (ignored) TEXINPUTS=.:$TEXINPUTS tex --interaction nonstopmode gcl.texi || true -/bin/sh: 1: tex: not found +/bin/sh: line 1: tex: command not found rm -f *.cp *.ky *.vr *.tp *.pg *.toc *.aux *.log *.fn dvipdfm gcl.dvi make[2]: dvipdfm: No such file or directory @@ -12498,20 +12534,20 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fixup.o. Loading binary of GCL_PCL_FIXUP... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fixup.o" -Compiling gazonk_3465439_0.lsp. +Compiling gazonk_1559506_0.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_3465439_0.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3465439_0.o" -start address -T 0xee9b50 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3465439_0.o" -Compiling gazonk_3465439_1.lsp. +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_1559506_0.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1559506_0.o" +start address -T 0xee9b50 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1559506_0.o" +Compiling gazonk_1559506_1.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_3465439_1.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3465439_1.o" -start address -T 0xeea160 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3465439_1.o" +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_1559506_1.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1559506_1.o" +start address -T 0xeea160 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1559506_1.o" start address -T 0xee9990 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_fixup.o" Compiling GCL_PCL_DEFCOMBIN... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_defcombin.lisp. @@ -12521,34 +12557,34 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_defcombin.o. Loading binary of GCL_PCL_DEFCOMBIN... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_defcombin.o" -Compiling gazonk_3465439_2.lsp. +Compiling gazonk_1559506_2.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_3465439_2.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3465439_2.o" -start address -T 0xeee780 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3465439_2.o" -Compiling gazonk_3465439_3.lsp. +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_1559506_2.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1559506_2.o" +start address -T 0xeee780 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1559506_2.o" +Compiling gazonk_1559506_3.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_3465439_3.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3465439_3.o" -start address -T 0xeef8b0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3465439_3.o" -Compiling gazonk_3465439_4.lsp. +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_1559506_3.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1559506_3.o" +start address -T 0xeef8b0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1559506_3.o" +Compiling gazonk_1559506_4.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_3465439_4.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3465439_4.o" -start address -T 0xef0630 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3465439_4.o" -Compiling gazonk_3465439_5.lsp. +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_1559506_4.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1559506_4.o" +start address -T 0xef0630 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1559506_4.o" +Compiling gazonk_1559506_5.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_3465439_5.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3465439_5.o" -start address -T 0xef0ed0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3465439_5.o" +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_1559506_5.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1559506_5.o" +start address -T 0xef0ed0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1559506_5.o" start address -T 0xeea770 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_defcombin.o" Compiling GCL_PCL_CTYPES... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_ctypes.lisp. @@ -12558,13 +12594,13 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_ctypes.o. Loading binary of GCL_PCL_CTYPES... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_ctypes.o" -Compiling gazonk_3465439_6.lsp. +Compiling gazonk_1559506_6.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_3465439_6.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3465439_6.o" -start address -T 0xef20c0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3465439_6.o" +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_1559506_6.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1559506_6.o" +start address -T 0xef20c0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1559506_6.o" start address -T 0xef1910 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_ctypes.o" Compiling GCL_PCL_ENV... Compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_env.lisp. @@ -12577,13 +12613,13 @@ Finished compiling /build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_env.o. Loading binary of GCL_PCL_ENV... ;; Loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_env.o" -Compiling gazonk_3465439_7.lsp. +Compiling gazonk_1559506_7.lsp. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=1 (No runtime error checking), Space=0, Speed=3 -Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_3465439_7.o. -;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3465439_7.o" -start address -T 0xef89f0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_3465439_7.o" +Finished compiling /build/reproducible-path/gcl-2.6.14/pcl/gazonk_1559506_7.o. +;; Loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1559506_7.o" +start address -T 0xef89f0 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/pcl/gazonk_1559506_7.o" Warning: DESCRIBE is being redefined. start address -T 0xef2960 ;; Finished loading #p"/build/reproducible-path/gcl-2.6.14/unixport/../pcl/gcl_pcl_env.o" Compiling GCL_PCL_COMPAT... @@ -13459,7 +13495,7 @@ /tmp/ >;; Loading "../tkl.o" -start address -T 0x109a5d0 ;; Finished loading "../tkl.o" +start address -T 0x109ba20 ;; Finished loading "../tkl.o" 82958 > @@ -13469,13 +13505,13 @@ cd info && /usr/bin/make make[2]: Entering directory '/build/reproducible-path/gcl-2.6.14/info' TEXINPUTS=.:$TEXINPUTS tex --interaction nonstopmode gcl-si.texi || true -/bin/sh: 1: tex: not found +/bin/sh: line 1: tex: command not found rm -f *.cp *.ky *.vr *.tp *.pg *.toc *.aux *.log *.fn dvipdfm gcl-si.dvi make[2]: dvipdfm: No such file or directory make[2]: [makefile:36: gcl-si.pdf] Error 127 (ignored) TEXINPUTS=.:$TEXINPUTS tex --interaction nonstopmode gcl.texi || true -/bin/sh: 1: tex: not found +/bin/sh: line 1: tex: command not found rm -f *.cp *.ky *.vr *.tp *.pg *.toc *.aux *.log *.fn dvipdfm gcl.dvi make[2]: dvipdfm: No such file or directory @@ -13634,7 +13670,7 @@ OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /build/reproducible-path/gcl-2.6.14/ansi-tests/rt.o. ;; Loading #p"rt.o" -start address -T 0x1014620 ;; Finished loading #p"rt.o" +start address -T 0x1062990 ;; Finished loading #p"rt.o" ;; Loading "cl-test-package.lsp" ;; Finished loading "cl-test-package.lsp" ;; Loading "universe.lsp" @@ -13646,7 +13682,7 @@ OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /build/reproducible-path/gcl-2.6.14/ansi-tests/random-aux.o. ;; Loading #p"random-aux.o" -start address -T 0xfdbb90 ;; Finished loading #p"random-aux.o" +start address -T 0x105d880 ;; Finished loading #p"random-aux.o" Compiling ansi-aux.lsp. ; (DEFUN CHECK-VALUES-LENGTH ...) is being compiled. ;; Warning: The ignored variable E is used. @@ -13679,7 +13715,7 @@ OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /build/reproducible-path/gcl-2.6.14/ansi-tests/rt.o. ;; Loading #p"rt.o" -start address -T 0x1014620 ;; Finished loading #p"rt.o" +start address -T 0x1062990 ;; Finished loading #p"rt.o" ;; Loading "cl-test-package.lsp" ;; Finished loading "cl-test-package.lsp" ;; Loading "universe.lsp" @@ -13690,7 +13726,7 @@ OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /build/reproducible-path/gcl-2.6.14/ansi-tests/random-aux.o. ;; Loading #p"random-aux.o" -start address -T 0xfdbb90 ;; Finished loading #p"random-aux.o" +start address -T 0x105d880 ;; Finished loading #p"random-aux.o" Compiling ansi-aux.lsp. ; (DEFUN CHECK-VALUES-LENGTH ...) is being compiled. ;; Warning: The ignored variable E is used. @@ -13701,14 +13737,14 @@ OPTIMIZE levels: Safety=3, Space=0, Speed=3 Finished compiling /build/reproducible-path/gcl-2.6.14/ansi-tests/ansi-aux.o. ;; Loading #p"ansi-aux.o" -start address -T 0x18fe010 ;; Finished loading #p"ansi-aux.o" +start address -T 0x18fc010 ;; Finished loading #p"ansi-aux.o" ;; Loading "cl-symbol-names.lsp" ;; Finished loading "cl-symbol-names.lsp" ;; Finished loading "gclload1.lsp" OPTIMIZE levels: Safety=3, Space=0, Speed=3 Finished compiling /build/reproducible-path/gcl-2.6.14/ansi-tests/ansi-aux.o. ;; Loading #p"ansi-aux.o" -start address -T 0x18fe010 ;; Finished loading #p"ansi-aux.o" +start address -T 0x18fc010 ;; Finished loading #p"ansi-aux.o" ;; Loading "cl-symbol-names.lsp" ;; Finished loading "cl-symbol-names.lsp" ;; Finished loading "gclload1.lsp" @@ -14425,166 +14461,7 @@ FLET.18 FLET.19 FLET.20 FLET.21 FLET.22 FLET.23 FLET.24 FLET.25 FLET.26 FLET.27 FLET.28 FLET.29 FLET.30 FLET.31 FLET.32 FLET.33 FLET.34 FLET.35 FLET.36 FLET.37 FLET.38 FLET.39 FLET.40 FLET.45 - FLET.46 FLET.47 FLET.48 FLET.49 FLET.50 -Test FLET.51 failed -Form: (LOOP - FOR - S - IN - *CL-NON-FUNCTION-MACRO-SPECIAL-OPERATOR-SYMBOLS* - FOR - FORM - = - (LIST 'CLASSIFY-ERROR - (LIST 'FLET - (LIST (LIST* (LIST 'SETF S) - '((&REST ARGS) (DECLARE (IGNORE ARGS)) - 'A))) - (LIST 'SETF (LIST S) 10))) - UNLESS - (EQ (EVAL FORM) 'A) - COLLECT - S) -Expected value: NIL -Actual value: (&ALLOW-OTHER-KEYS &AUX &BODY &ENVIRONMENT &KEY &OPTIONAL - &REST &WHOLE ** *** *BREAK-ON-SIGNALS* - *COMPILE-FILE-PATHNAME* *COMPILE-FILE-TRUENAME* - *COMPILE-PRINT* *COMPILE-VERBOSE* *DEBUG-IO* - *DEBUGGER-HOOK* *DEFAULT-PATHNAME-DEFAULTS* - *ERROR-OUTPUT* *FEATURES* *GENSYM-COUNTER* - *LOAD-PATHNAME* *LOAD-PRINT* *LOAD-TRUENAME* - *LOAD-VERBOSE* *MACROEXPAND-HOOK* *MODULES* *PACKAGE* - *PRINT-ARRAY* *PRINT-BASE* *PRINT-CASE* - *PRINT-CIRCLE* *PRINT-ESCAPE* *PRINT-GENSYM* - *PRINT-LENGTH* *PRINT-LEVEL* *PRINT-LINES* - *PRINT-MISER-WIDTH* *PRINT-PPRINT-DISPATCH* - *PRINT-PRETTY* *PRINT-RADIX* *PRINT-READABLY* - *PRINT-RIGHT-MARGIN* *QUERY-IO* *RANDOM-STATE* - *READ-BASE* *READ-DEFAULT-FLOAT-FORMAT* *READ-EVAL* - *READ-SUPPRESS* *READTABLE* *STANDARD-INPUT* - *STANDARD-OUTPUT* *TERMINAL-IO* *TRACE-OUTPUT* ++ +++ - // /// ARITHMETIC-ERROR ARRAY ARRAY-DIMENSION-LIMIT - ARRAY-RANK-LIMIT ARRAY-TOTAL-SIZE-LIMIT BASE-CHAR - BASE-STRING BIGNUM BIT-VECTOR BOOLE-1 BOOLE-2 - BOOLE-AND BOOLE-ANDC1 BOOLE-ANDC2 BOOLE-C1 BOOLE-C2 - BOOLE-CLR BOOLE-EQV BOOLE-IOR BOOLE-NAND BOOLE-NOR - BOOLE-ORC1 BOOLE-ORC2 BOOLE-SET BOOLE-XOR BOOLEAN - BROADCAST-STREAM BUILT-IN-CLASS CALL-ARGUMENTS-LIMIT - CELL-ERROR CHAR-CODE-LIMIT CLASS COMPILATION-SPEED - COMPILED-FUNCTION COMPILER-MACRO CONCATENATED-STREAM - CONDITION CONTROL-ERROR DEBUG DECLARATION - DIVISION-BY-ZERO DOUBLE-FLOAT DOUBLE-FLOAT-EPSILON - DOUBLE-FLOAT-NEGATIVE-EPSILON DYNAMIC-EXTENT - ECHO-STREAM ED END-OF-FILE EXTENDED-CHAR FILE-ERROR - FILE-STREAM FILE-STRING-LENGTH FILL FIXNUM - FLOATING-POINT-INEXACT - FLOATING-POINT-INVALID-OPERATION - FLOATING-POINT-OVERFLOW FLOATING-POINT-UNDERFLOW - FTYPE GENERIC-FUNCTION HASH-TABLE IGNORABLE IGNORE - INLINE INTEGER INTERNAL-TIME-UNITS-PER-SECOND KEYWORD - LAMBDA-LIST-KEYWORDS LAMBDA-PARAMETERS-LIMIT - LEAST-NEGATIVE-DOUBLE-FLOAT LEAST-NEGATIVE-LONG-FLOAT - LEAST-NEGATIVE-NORMALIZED-DOUBLE-FLOAT - LEAST-NEGATIVE-NORMALIZED-LONG-FLOAT - LEAST-NEGATIVE-NORMALIZED-SHORT-FLOAT - LEAST-NEGATIVE-NORMALIZED-SINGLE-FLOAT - LEAST-NEGATIVE-SHORT-FLOAT - LEAST-NEGATIVE-SINGLE-FLOAT - LEAST-POSITIVE-DOUBLE-FLOAT LEAST-POSITIVE-LONG-FLOAT - LEAST-POSITIVE-NORMALIZED-DOUBLE-FLOAT - LEAST-POSITIVE-NORMALIZED-LONG-FLOAT - LEAST-POSITIVE-NORMALIZED-SHORT-FLOAT - LEAST-POSITIVE-NORMALIZED-SINGLE-FLOAT - LEAST-POSITIVE-SHORT-FLOAT - LEAST-POSITIVE-SINGLE-FLOAT LONG-FLOAT - LONG-FLOAT-EPSILON LONG-FLOAT-NEGATIVE-EPSILON METHOD - METHOD-COMBINATION MOST-NEGATIVE-DOUBLE-FLOAT - MOST-NEGATIVE-FIXNUM MOST-NEGATIVE-LONG-FLOAT - MOST-NEGATIVE-SHORT-FLOAT MOST-NEGATIVE-SINGLE-FLOAT - MOST-POSITIVE-DOUBLE-FLOAT MOST-POSITIVE-FIXNUM - MOST-POSITIVE-LONG-FLOAT MOST-POSITIVE-SHORT-FLOAT - MOST-POSITIVE-SINGLE-FLOAT MULTIPLE-VALUES-LIMIT NIL - NOTINLINE NUMBER OPTIMIZE OTHERWISE PACKAGE - PACKAGE-ERROR PARSE-ERROR PI PRINT-NOT-READABLE - PROGRAM-ERROR RANDOM RANDOM-STATE RATIO READER-ERROR - READTABLE REAL RESTART SAFETY SATISFIES SEQUENCE - SERIOUS-CONDITION SHORT-FLOAT SHORT-FLOAT-EPSILON - SHORT-FLOAT-NEGATIVE-EPSILON SIGNED-BYTE SIMPLE-ARRAY - SIMPLE-BASE-STRING SIMPLE-BIT-VECTOR SIMPLE-CONDITION - SIMPLE-ERROR SIMPLE-STRING SIMPLE-TYPE-ERROR - SIMPLE-VECTOR SIMPLE-WARNING SINGLE-FLOAT - SINGLE-FLOAT-EPSILON SINGLE-FLOAT-NEGATIVE-EPSILON - SPACE SPECIAL SPEED STANDARD STANDARD-CHAR - STANDARD-CLASS STANDARD-GENERIC-FUNCTION - STANDARD-METHOD STANDARD-OBJECT STORAGE-CONDITION - STREAM STREAM-ERROR STRING-STREAM STRUCTURE - STRUCTURE-CLASS STRUCTURE-OBJECT STYLE-WARNING SYMBOL - SYNONYM-STREAM T TWO-WAY-STREAM TYPE TYPE-ERROR - UNBOUND-SLOT UNBOUND-VARIABLE UNDEFINED-FUNCTION - UNSIGNED-BYTE VARIABLE WARNING). - FMAKUNBOUND.1 FMAKUNBOUND.2 FMAKUNBOUND.3 -Test FMAKUNBOUND.4 failed -Form: (LET* ((G (GENSYM)) (N (LIST 'SETF G))) - (AND (NOT (FBOUNDP N)) (EVAL (LIST* 'DEFUN N '(NIL NIL))) - (FBOUNDP N) - (VALUES (EQUAL (CHECK-VALUES (FMAKUNBOUND N)) N) - (FBOUNDP N)))) -Expected values: T - NIL -Actual value: #. - FMAKUNBOUND.ERROR.1 FMAKUNBOUND.ERROR.2 FMAKUNBOUND.ERROR.3 - FMAKUNBOUND.ERROR.4 FMAKUNBOUND.ERROR.5 FMAKUNBOUND.ERROR.6 FUNCALL.1 - FUNCALL.2 FUNCALL.3 FUNCALL.4 FUNCALL.5 FUNCALL.6 FUNCALL.7 FUNCALL.8 - FUNCALL.9 FUNCALL.ORDER.1 FUNCALL.ORDER.2 FUNCALL.ERROR.1 - FUNCALL.ERROR.2 -Test FUNCALL.ERROR.3 failed -Form: (CLASSIFY-ERROR (FUNCALL 'DEFCONSTANT '(DEFCONSTANT X 10))) -Expected value: UNDEFINED-FUNCTION -Actual value: PROGRAM-ERROR. - FUNCALL.ERROR.4 FUNCALL.ERROR.5 FUNCALL.ERROR.6 FUNCALL.ERROR.7 -Test FUNCTION-LAMBDA-EXPRESSION.1 failed -Form: (LENGTH (MULTIPLE-VALUE-LIST (FUNCTION-LAMBDA-EXPRESSION #'CONS))) -Expected value: 3 -Actual value: #. -Test FUNCTION-LAMBDA-EXPRESSION.2 failed -Form: (LET ((X NIL)) - (FLET ((%F NIL X)) - (LET ((RET-VALS - (MULTIPLE-VALUE-LIST - (FUNCTION-LAMBDA-EXPRESSION #'%F)))) - (VALUES (LENGTH RET-VALS) (NOTNOT (SECOND RET-VALS)))))) -Expected values: 3 - T -Actual value: #. -Test FUNCTION-LAMBDA-EXPRESSION.ORDER.1 failed -Form: (LET ((I 0)) - (FUNCTION-LAMBDA-EXPRESSION (PROGN (INCF I) #'CONS)) - I) -Expected value: 1 -Actual value: #. -Test FUNCTION-LAMBDA-EXPRESSION.ERROR.1 failed -Form: (CLASSIFY-ERROR (FUNCTION-LAMBDA-EXPRESSION)) -Expected value: PROGRAM-ERROR -Actual value: UNDEFINED-FUNCTION. -Test FUNCTION-LAMBDA-EXPRESSION.ERROR.2 failed -Form: (CLASSIFY-ERROR (FUNCTION-LAMBDA-EXPRESSION #'CONS NIL)) -Expected value: PROGRAM-ERROR -Actual value: UNDEFINED-FUNCTION. - FUNCTION.1 -Test FUNCTION.2 failed -Form: (TYPEP 'IDENTITY 'FUNCTION) -Expected value: NIL -Actual value: T. - FUNCTION.3 FUNCTION.4 FUNCTION.5 -Test FUNCTION.6 failed -Form: (TYPEP '(LAMBDA (X) X) 'FUNCTION) -Expected value: NIL -Actual value: T. -Test FUNCTION.7 failed -Form: (NOT-MV (TYPEP #'(SETF FUNCTION-7-ACCESSOR) 'FUNCTION)) -Expected value: NIL -Actual value: #. - FUNCTION.8Doing 11799 pending tests of 11799 tests total. + FLET.46 FLET.47 FLET.48 FLET.49 FLET.50Doing 11799 pending tests of 11799 tests total. SYMBOL-&ALLOW-OTHER-KEYS SYMBOL-&AUX SYMBOL-&BODY SYMBOL-&ENVIRONMENT SYMBOL-&KEY SYMBOL-&OPTIONAL SYMBOL-&REST SYMBOL-&WHOLE SYMBOL-* SYMBOL-** SYMBOL-*** SYMBOL-*BREAK-ON-SIGNALS* @@ -16790,7 +16667,166 @@ NSET-DIFFERENCE.1 NSET-DIFFERENCE.2 NSET-DIFFERENCE.3 NSET-DIFFERENCE.4 NSET-DIFFERENCE.5 NSET-DIFFERENCE.6 NSET-DIFFERENCE.7 NSET-DIFFERENCE.8 NSET-DIFFERENCE.9 - NSET-DIFFERENCE.10 NSET-DIFFERENCE.11 NSET-DIFFERENCE.12 FUNCTION.9 + NSET-DIFFERENCE.10 NSET-DIFFERENCE.11 NSET-DIFFERENCE.12 +Test FLET.51 failed +Form: (LOOP + FOR + S + IN + *CL-NON-FUNCTION-MACRO-SPECIAL-OPERATOR-SYMBOLS* + FOR + FORM + = + (LIST 'CLASSIFY-ERROR + (LIST 'FLET + (LIST (LIST* (LIST 'SETF S) + '((&REST ARGS) (DECLARE (IGNORE ARGS)) + 'A))) + (LIST 'SETF (LIST S) 10))) + UNLESS + (EQ (EVAL FORM) 'A) + COLLECT + S) +Expected value: NIL +Actual value: (&ALLOW-OTHER-KEYS &AUX &BODY &ENVIRONMENT &KEY &OPTIONAL + &REST &WHOLE ** *** *BREAK-ON-SIGNALS* + *COMPILE-FILE-PATHNAME* *COMPILE-FILE-TRUENAME* + *COMPILE-PRINT* *COMPILE-VERBOSE* *DEBUG-IO* + *DEBUGGER-HOOK* *DEFAULT-PATHNAME-DEFAULTS* + *ERROR-OUTPUT* *FEATURES* *GENSYM-COUNTER* + *LOAD-PATHNAME* *LOAD-PRINT* *LOAD-TRUENAME* + *LOAD-VERBOSE* *MACROEXPAND-HOOK* *MODULES* *PACKAGE* + *PRINT-ARRAY* *PRINT-BASE* *PRINT-CASE* + *PRINT-CIRCLE* *PRINT-ESCAPE* *PRINT-GENSYM* + *PRINT-LENGTH* *PRINT-LEVEL* *PRINT-LINES* + *PRINT-MISER-WIDTH* *PRINT-PPRINT-DISPATCH* + *PRINT-PRETTY* *PRINT-RADIX* *PRINT-READABLY* + *PRINT-RIGHT-MARGIN* *QUERY-IO* *RANDOM-STATE* + *READ-BASE* *READ-DEFAULT-FLOAT-FORMAT* *READ-EVAL* + *READ-SUPPRESS* *READTABLE* *STANDARD-INPUT* + *STANDARD-OUTPUT* *TERMINAL-IO* *TRACE-OUTPUT* ++ +++ + // /// ARITHMETIC-ERROR ARRAY ARRAY-DIMENSION-LIMIT + ARRAY-RANK-LIMIT ARRAY-TOTAL-SIZE-LIMIT BASE-CHAR + BASE-STRING BIGNUM BIT-VECTOR BOOLE-1 BOOLE-2 + BOOLE-AND BOOLE-ANDC1 BOOLE-ANDC2 BOOLE-C1 BOOLE-C2 + BOOLE-CLR BOOLE-EQV BOOLE-IOR BOOLE-NAND BOOLE-NOR + BOOLE-ORC1 BOOLE-ORC2 BOOLE-SET BOOLE-XOR BOOLEAN + BROADCAST-STREAM BUILT-IN-CLASS CALL-ARGUMENTS-LIMIT + CELL-ERROR CHAR-CODE-LIMIT CLASS COMPILATION-SPEED + COMPILED-FUNCTION COMPILER-MACRO CONCATENATED-STREAM + CONDITION CONTROL-ERROR DEBUG DECLARATION + DIVISION-BY-ZERO DOUBLE-FLOAT DOUBLE-FLOAT-EPSILON + DOUBLE-FLOAT-NEGATIVE-EPSILON DYNAMIC-EXTENT + ECHO-STREAM ED END-OF-FILE EXTENDED-CHAR FILE-ERROR + FILE-STREAM FILE-STRING-LENGTH FILL FIXNUM + FLOATING-POINT-INEXACT + FLOATING-POINT-INVALID-OPERATION + FLOATING-POINT-OVERFLOW FLOATING-POINT-UNDERFLOW + FTYPE GENERIC-FUNCTION HASH-TABLE IGNORABLE IGNORE + INLINE INTEGER INTERNAL-TIME-UNITS-PER-SECOND KEYWORD + LAMBDA-LIST-KEYWORDS LAMBDA-PARAMETERS-LIMIT + LEAST-NEGATIVE-DOUBLE-FLOAT LEAST-NEGATIVE-LONG-FLOAT + LEAST-NEGATIVE-NORMALIZED-DOUBLE-FLOAT + LEAST-NEGATIVE-NORMALIZED-LONG-FLOAT + LEAST-NEGATIVE-NORMALIZED-SHORT-FLOAT + LEAST-NEGATIVE-NORMALIZED-SINGLE-FLOAT + LEAST-NEGATIVE-SHORT-FLOAT + LEAST-NEGATIVE-SINGLE-FLOAT + LEAST-POSITIVE-DOUBLE-FLOAT LEAST-POSITIVE-LONG-FLOAT + LEAST-POSITIVE-NORMALIZED-DOUBLE-FLOAT + LEAST-POSITIVE-NORMALIZED-LONG-FLOAT + LEAST-POSITIVE-NORMALIZED-SHORT-FLOAT + LEAST-POSITIVE-NORMALIZED-SINGLE-FLOAT + LEAST-POSITIVE-SHORT-FLOAT + LEAST-POSITIVE-SINGLE-FLOAT LONG-FLOAT + LONG-FLOAT-EPSILON LONG-FLOAT-NEGATIVE-EPSILON METHOD + METHOD-COMBINATION MOST-NEGATIVE-DOUBLE-FLOAT + MOST-NEGATIVE-FIXNUM MOST-NEGATIVE-LONG-FLOAT + MOST-NEGATIVE-SHORT-FLOAT MOST-NEGATIVE-SINGLE-FLOAT + MOST-POSITIVE-DOUBLE-FLOAT MOST-POSITIVE-FIXNUM + MOST-POSITIVE-LONG-FLOAT MOST-POSITIVE-SHORT-FLOAT + MOST-POSITIVE-SINGLE-FLOAT MULTIPLE-VALUES-LIMIT NIL + NOTINLINE NUMBER OPTIMIZE OTHERWISE PACKAGE + PACKAGE-ERROR PARSE-ERROR PI PRINT-NOT-READABLE + PROGRAM-ERROR RANDOM RANDOM-STATE RATIO READER-ERROR + READTABLE REAL RESTART SAFETY SATISFIES SEQUENCE + SERIOUS-CONDITION SHORT-FLOAT SHORT-FLOAT-EPSILON + SHORT-FLOAT-NEGATIVE-EPSILON SIGNED-BYTE SIMPLE-ARRAY + SIMPLE-BASE-STRING SIMPLE-BIT-VECTOR SIMPLE-CONDITION + SIMPLE-ERROR SIMPLE-STRING SIMPLE-TYPE-ERROR + SIMPLE-VECTOR SIMPLE-WARNING SINGLE-FLOAT + SINGLE-FLOAT-EPSILON SINGLE-FLOAT-NEGATIVE-EPSILON + SPACE SPECIAL SPEED STANDARD STANDARD-CHAR + STANDARD-CLASS STANDARD-GENERIC-FUNCTION + STANDARD-METHOD STANDARD-OBJECT STORAGE-CONDITION + STREAM STREAM-ERROR STRING-STREAM STRUCTURE + STRUCTURE-CLASS STRUCTURE-OBJECT STYLE-WARNING SYMBOL + SYNONYM-STREAM T TWO-WAY-STREAM TYPE TYPE-ERROR + UNBOUND-SLOT UNBOUND-VARIABLE UNDEFINED-FUNCTION + UNSIGNED-BYTE VARIABLE WARNING). + FMAKUNBOUND.1 FMAKUNBOUND.2 FMAKUNBOUND.3 +Test FMAKUNBOUND.4 failed +Form: (LET* ((G (GENSYM)) (N (LIST 'SETF G))) + (AND (NOT (FBOUNDP N)) (EVAL (LIST* 'DEFUN N '(NIL NIL))) + (FBOUNDP N) + (VALUES (EQUAL (CHECK-VALUES (FMAKUNBOUND N)) N) + (FBOUNDP N)))) +Expected values: T + NIL +Actual value: #. + FMAKUNBOUND.ERROR.1 FMAKUNBOUND.ERROR.2 FMAKUNBOUND.ERROR.3 + FMAKUNBOUND.ERROR.4 FMAKUNBOUND.ERROR.5 FMAKUNBOUND.ERROR.6 FUNCALL.1 + FUNCALL.2 FUNCALL.3 FUNCALL.4 FUNCALL.5 FUNCALL.6 FUNCALL.7 FUNCALL.8 + FUNCALL.9 FUNCALL.ORDER.1 FUNCALL.ORDER.2 FUNCALL.ERROR.1 + FUNCALL.ERROR.2 +Test FUNCALL.ERROR.3 failed +Form: (CLASSIFY-ERROR (FUNCALL 'DEFCONSTANT '(DEFCONSTANT X 10))) +Expected value: UNDEFINED-FUNCTION +Actual value: PROGRAM-ERROR. + FUNCALL.ERROR.4 FUNCALL.ERROR.5 FUNCALL.ERROR.6 FUNCALL.ERROR.7 +Test FUNCTION-LAMBDA-EXPRESSION.1 failed +Form: (LENGTH (MULTIPLE-VALUE-LIST (FUNCTION-LAMBDA-EXPRESSION #'CONS))) +Expected value: 3 +Actual value: #. +Test FUNCTION-LAMBDA-EXPRESSION.2 failed +Form: (LET ((X NIL)) + (FLET ((%F NIL X)) + (LET ((RET-VALS + (MULTIPLE-VALUE-LIST + (FUNCTION-LAMBDA-EXPRESSION #'%F)))) + (VALUES (LENGTH RET-VALS) (NOTNOT (SECOND RET-VALS)))))) +Expected values: 3 + T +Actual value: #. +Test FUNCTION-LAMBDA-EXPRESSION.ORDER.1 failed +Form: (LET ((I 0)) + (FUNCTION-LAMBDA-EXPRESSION (PROGN (INCF I) #'CONS)) + I) +Expected value: 1 +Actual value: #. +Test FUNCTION-LAMBDA-EXPRESSION.ERROR.1 failed +Form: (CLASSIFY-ERROR (FUNCTION-LAMBDA-EXPRESSION)) +Expected value: PROGRAM-ERROR +Actual value: UNDEFINED-FUNCTION. +Test FUNCTION-LAMBDA-EXPRESSION.ERROR.2 failed +Form: (CLASSIFY-ERROR (FUNCTION-LAMBDA-EXPRESSION #'CONS NIL)) +Expected value: PROGRAM-ERROR +Actual value: UNDEFINED-FUNCTION. + FUNCTION.1 +Test FUNCTION.2 failed +Form: (TYPEP 'IDENTITY 'FUNCTION) +Expected value: NIL +Actual value: T. + FUNCTION.3 FUNCTION.4 FUNCTION.5 +Test FUNCTION.6 failed +Form: (TYPEP '(LAMBDA (X) X) 'FUNCTION) +Expected value: NIL +Actual value: T. +Test FUNCTION.7 failed +Form: (NOT-MV (TYPEP #'(SETF FUNCTION-7-ACCESSOR) 'FUNCTION)) +Expected value: NIL +Actual value: #. + FUNCTION.8 FUNCTION.9 Test FUNCTION.10 failed Form: (LOOP FOR @@ -19484,10 +19520,10 @@ #(1.0S0 2.0S0 3.0S0 4.0S0 5.0S0) #(1.0 2.0 3.0 4.0 5.0) #(1.0 2.0 3.0 4.0 5.0) #(1.0 2.0 3.0 4.0 5.0) - # - # - # - # #p"foo" #p"foo" + # + # + # + # #p"foo" #p"foo" #p"bar" #p"foo.txt" #p"bar.txt" #p"xyz.txt" #p"" #p"*" #p".txt" #p"*.txt" #p"*.txt" #p"*.ABC" #p"/**/" #p".*" #p"" #p"" # @@ -19495,7 +19531,7 @@ # # # - # + # #S(FOO-STRUCTURE X 1 Y A Z NIL) #S(FOO-STRUCTURE X 1 Y A Z NIL) #S(BAR-STRUCTURE X 1 Y A Z NIL) @@ -19504,7 +19540,7 @@ # # (SYSTEM:LAMBDA-CLOSURE () () () (X) X) - #$35657020745509411232616196885466364369271841561179019506288937944694884562525084419478658334573905509670706035190902286747554490358961083882760499185317799282497539571462083796830080082979561046890030421386135438618762715490032837044073666615014072210025130677375160832940848520953742706751388278864447210143119356320944909001004379276833137343050089516469314145025685373756963046993817381812642121643675254725430482096825688447182234311443644548200879171647334995547280852442447253938306615393378327965482511945994011813934769794422094519143808329408446398574541800286344771887315226413864066874893325512952869322578363891074503590107449034155233238305765658429615000070571110389042276164770380995733313997673908086416507900706153450278830687476258126225465367409919063312531261723019282243634383519193190506679168644211260342844630160518938994367544240494696508497314217882301636426716143871800871416314883776820760573694938269855594946919548953343452491033224988923395379527933121505609392426193305122889377905492463767721290128773287560393084423776522702811365059821175276070062548970939136308074351469297397168124370048139743169367149073497509063120454388721695196984421284463462883649735391345378204427480945382992181013724510719479537104260762903431548106482731927322165710682975326561475096257685657121616165811556066385070971470051816793645972749642209728395398580138301524975585099249622058128873671152388566544510115583843774599116101500020702286673972501237127409305269013768483343613024907464919414245855855530672116344180368912460682998992401673045541231367431002369456451024645083991943220621550073458556215766120147338978176262225513939120595078888704696667705093179626702311626828902964110750623182170079519124713646681950631167105996629441871653943221636600345457613616835572215522800852723589645320136293271373377541830143624401889836069408040672740097152388000247566005291817518581907037466676699241759450026031429858004162478020044144160267582283308754132357294516748667741705490634467910511214398614593647295383939957932933481664545785404625992431889721929765601109060178896228712638881311090530718462964838006510567405254646452177587754244899011189991848843423049945444094952921475656759385678865416087041701219314338367948372148609382710227973338152905929426621906812533677324543709146895856032199848951559730180065879418178907506160948138784444570302819586116916642418612850430624579104989084253653283034123096874751706670278567443090484973100758100656893324163648021026276716190895178101238495367205676746538329808968822496650753511103647885648295132972967406230546707297143753227125793287946676773887688954865728124716353893443616501380274139503316755434859535738929063567086795954378266941922451392956901752366062849007484654775355354432863033730450040856574750989733737983697111699986303742792258808902256283349241747027220255209626875224714700090132683875180419598467662398637285851412626709004003648354270803620200937366746124376743605155554528535121325993935479540011132045554599917683311358647791801614676987554041749101634909758948575369483846451646465669657059644336085671515367322284568126111723289364177048906369215150214636564282787040372059573409339893859329357775761070366321995612997943896506200766374991889928531870991699832601679845952132746937073062744701952991348788153496542186745006758557886079225043125460854098714164439440266328600679173803837165749187670443159264233238870450662298628083448647101548323865468598336182172185086630825191786239606839589844100270502489876616031961318643025841730637894011987746850631286261310935021323272170664941895406295746301990933782263221972804953203728979421607327397847183014161041209351202212288259460194259480684816763155410916051177222574586727540980767593560628844320716178498820846688442472299974024902299874532560112620995921035168530638888548055659784507461938668559356102039381746992291227498060864504701747774073196481829155578102367062457300062586501397832506256560686737625754885995882994385733022523158577507007354648866603683022038819449983192934217215941955078762619898906812348214179457717524966412404850556286350509618373588405236896070841117907063185920041564004196334832823675751171348147899803261915730714776957467821570032602913824331292605711494482127801788714146441378533909298834329549563119934115041687950272305830282286627756678129093214197255866127872880443096094642047278621073567233360172423697336486207379510105919832281199738875015955611450391631616888525231309933487801350518562138917119492318090257571925847500165594756768246489242364446897029598772582918088796897455134349189333503976963626401497220936532887755229970146539923856431922911342955771223610369852154350128102044012490860118661999833366694288933719482855633127915665534993889721843547793598036041450531058402592207593301992098762166440161382857450815470122018011281307010298403295948747256798761000267117053723396193233474255428143302639190787862266851526645923510626749101012373045267456201745186015753959802094279297123902857853034782712573314779506240153648578201180709428636628736933687659477400701766814199410715891581618622912861772139350969956621172412486196061898214354114269998545116047433958112025575524076169071982555237746805956365233282725080503745238450342981854558351970258643954429402118142962685128637403530035143852553881400235830070471157093387255894132756446292498516005459889797270906623351665867347504689560537115418936449991078796704155344808506717794647694562348511902143108695332325129628161191754492677684656796439284489732431348393971152316770044989321645309461570933053096721712951028285624038692382454916774495826758399820045571014028999340784343428316403646765231220987597220891888423500945187200024607886366685314293837178872960223733973913280169053296548040815746727278413492703965772039715217946170998182086523823688871755625982943150612841242128286348394968431681370480953030255257609109963890855867901913974674771782727258323671557005553887772624266456756805533269466505034327986716686650419074915). + #$6912773482197396898375666393539522829444992859082723500095610747186845914202943295816848318093149941377319049726194096935733751620293974182047716831396561743172542834443872378443996303550494672619509744393131294274865605425829073952881663674100069006430723704207064876394662792736674993967077452871655852084410027561768758534680557340585851909045158710914713532343702703970774356142308600190598076044206423725568682615524631358141817100681042665945654511469640925870255422684833321067572506093535277301483474674151534810703678188993545888760291219384855934163394352619209238274466289199280186081262157890085794407296766092390053198713304980580203951936771150986062079184945427201699217153138739103997325150432457590880859034798296894320779941804059432910792759541608625992695320333240596550207591845351947820894474652054431465246121369430805421915953021983575703292737169944606231497677373052562874247381759727220034433562231645712756462059034976327791443861004849920215456724471068845359790156726766868466357833939578226258781581582995326928236292254246620042639469311051756430558259134151391420063109057821589476772286401257199757458146903159285236393877296641155436016333407277665125593341793844666849349910733344251162975914996680539993984702991050039964400686145037135528877710857338947142050596991530376841697646952613879599767282752999750605924915288117421149192073935893869332283856535734446204970502228457917673480562212523778420346791925105735776335692652413502132997564455283499314498667637945436583570601004976506473649409075493237214161098142611088902157997311604125300480684363780970711354555416752624905557768850065107557516534896138504558941130105595235280676570616084703401217127391000914729109624319969718353744164266798835792677654379066679368286187397702696476153346403274588472037533642479940540494988707711038718699544090257295836681062753798720107042063650143467891780197518938642937066688058189133197191433196230057040131581827393751132556415330044470353337554888699434508856855306923969813517909267621352059080648019515360613132045952428152730699134105422876778473279949466912750944087463974680964195302482144944909608050332240877240334311559790851026411758628668141420714018398040068567420620358486537647746169758631138602899113017778394317326764081245867315204491333693224148938849147053415831690307148449108100413947463688660976746211883684819503019062696623650143262742253486981357302226602757160393515679094156524346631593489484581272904505091974379745680516987469320036221792837288556605071700151541180129438401027455531109888139472171816220794673984056501108217232150112437308025404886792556362008347197980474961961722918224339055607670932388804652185429235124090005496186583379735603775895503071364712862744813904791842600335791803716152391669585344007452335057520488853647147394762241140385313310836075351980575867057318078531379886917299751491989379450481090915778110296933743588111210052145129130508535006960526826556209587425361873800370069422091213179136270701925276280599482517524299056271934760552271202385943804799717992638496219885119074239012945710711107623530758562011323798157087182544715340871375586462277098481206480294110334651500439311981826547545786383448676369484276993272872215228844264173209480150600031308112368753747826895936405491123335227334204207377133906412569282285951617051246294651097988905413541021534408623848240224295206484752435050817693138056910688418062522815479022773797813682399223157998059536140037014161257543598493510058845507904396111449864420998380867352257060600585119447605965501810303245549282518288957696294559984428319283552151786729737661734643634580294494737104299122622988382129456886164783349336264459486778308738534618261446232293843620932313943234873993517917460197689857157457074370395100446398803732566293763543855714127546908738961171366209739570518819313395800667096397788250789713096733139792150093113589236603533972349497261056360061574238767752586245589474770733366173735661313140789943714040320629477238762068991513215242922516181007286099901223273561394690614884472490678687876489914572040564266898415327159969170004045110125331113778996466507037642779239966408931241576991395623723192733643930565479553188223189026552876489462546156749152582989135012524775492705692491489168189162470911479656221053607370357203651744963544209704832985045703422717154168335523789548063654106278274672186580460133979544241566477931897626099457664476896541648448690833684852047127150758821022738882424072844113853378516372075749812483928592168901922998382547380517844829372087901715730595793601092463789579285825113692219507541522315777178828356640976308892364228465890655456601900613152319145479374759404066082293810385625405377926256286056512789697160471526962508641615992107318438245075575872635173277992159269690162771730368398284801241597644555520259458066019783377838498237867484777790839889756069512045380940142786399258789166555236568464531568000379178111046195653150213882266501139945786050361229641146568005457903507833640530859504091824576368755237602947679260520406319409551988025887182348995834034129166611175517735052823842430501631975179640375478335155051902200100483158637350565582311385697493220513198550303075316825793614471259675612671632642796876104751163385109993406489891192123335864174299997947923650857556004364362018079674723893951067087647880728989692780791084895351413672296254695454953568516445477200500343667955804186667280877647158955337784655277425483333563542758769243719316678864258386457441458140658729686548144840350487700135372982734384546646866480547000467353344138180041596291830338264313823016210436038360709514793052318590998077997562811252819990028399315191616604399459120206922204242878809898744753415266325721112754025981438929817838767749035697942475404445332433953916638054801603125044676593335525482102557609842262324344412805853059635956126251879462911255370603236303510268144520327407714792355958987173464349351779857138060615641222877543404566975246955157885108135041018925819804520318167). UPGRADED-ARRAY-ELEMENT-TYPE.ERROR.1 UPGRADED-ARRAY-ELEMENT-TYPE.ERROR.2 VECTOR.TYPE.1 VECTOR.TYPE.2 VECTOR.TYPE.3 VECTOR.TYPE.4 VECTOR.TYPE.5 VECTOR.TYPE.6 VECTOR.TYPE.7 @@ -19871,6 +19907,11 @@ Package #<"ITERATE" package> Package #<"WALKER" package> Package #<"XLIB" package> +Package #<"CLTL1-COMPAT" package> +Package #<"FPE" package> +Package #<"TK" package> +Package #<"DEFPACKAGE" package> +Package #<"ANSI-LOOP" package> NSET-DIFFERENCE.13 NSET-DIFFERENCE.14 NSET-DIFFERENCE.15 NSET-DIFFERENCE.16 NSET-DIFFERENCE.17 NSET-DIFFERENCE.18 @@ -20290,8 +20331,7 @@ #\a #\A #\0 #\9 #\. #\( #\) #\[ #\] "" "" "" "A" "a" "0" "abcdef" "~!@#$%^&*()_+`1234567890-=<,>.?/:;\"'{[}]|\\ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWYXZ" - "gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggPackage #<"CLTL1-COMPAT" package> -ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg" + "gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg" "  !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ" (A B) (NIL) (1 2 3 4 5 6) @@ -21232,10 +21272,10 @@ #(1.0S0 2.0S0 3.0S0 4.0S0 5.0S0) #(1.0 2.0 3.0 4.0 5.0) #(1.0 2.0 3.0 4.0 5.0) #(1.0 2.0 3.0 4.0 5.0) - # - # - # - # #p"foo" #p"foo" + # + # + # + # #p"foo" #p"foo" #p"bar" #p"foo.txt" #p"bar.txt" #p"xyz.txt" #p"" #p"*" #p".txt" #p"*.txt" #p"*.txt" #p"*.ABC" #p"/**/" #p".*" #p"" #p"" # @@ -21243,7 +21283,7 @@ # # # - # + # #S(FOO-STRUCTURE X 1 Y A Z NIL) #S(FOO-STRUCTURE X 1 Y A Z NIL) #S(BAR-STRUCTURE X 1 Y A Z NIL) @@ -21252,7 +21292,7 @@ # # (SYSTEM:LAMBDA-CLOSURE () () () (X) X) - #$35657020745509411232616196885466364369271841561179019506288937944694884562525084419478658334573905509670706035190902286747554490358961083882760499185317799282497539571462083796830080082979561046890030421386135438618762715490032837044073666615014072210025130677375160832940848520953742706751388278864447210143119356320944909001004379276833137343050089516469314145025685373756963046993817381812642121643675254725430482096825688447182234311443644548200879171647334995547280852442447253938306615393378327965482511945994011813934769794422094519143808329408446398574541800286344771887315226413864066874893325512952869322578363891074503590107449034155233238305765658429615000070571110389042276164770380995733313997673908086416507900706153450278830687476258126225465367409919063312531261723019282243634383519193190506679168644211260342844630160518938994367544240494696508497314217882301636426716143871800871416314883776820760573694938269855594946919548953343452491033224988923395379527933121505609392426193305122889377905492463767721290128773287560393084423776522702811365059821175276070062548970939136308074351469297397168124370048139743169367149073497509063120454388721695196984421284463462883649735391345378204427480945382992181013724510719479537104260762903431548106482731927322165710682975326561475096257685657121616165811556066385070971470051816793645972749642209728395398580138301524975585099249622058128873671152388566544510115583843774599116101500020702286673972501237127409305269013768483343613024907464919414245855855530672116344180368912460682998992401673045541231367431002369456451024645083991943220621550073458556215766120147338978176262225513939120595078888704696667705093179626702311626828902964110750623182170079519124713646681950631167105996629441871653943221636600345457613616835572215522800852723589645320136293271373377541830143624401889836069408040672740097152388000247566005291817518581907037466676699241759450026031429858004162478020044144160267582283308754132357294516748667741705490634467910511214398614593647295383939957932933481664545785404625992431889721929765601109060178896228712638881311090530718462964838006510567405254646452177587754244899011189991848843423049945444094952921475656759385678865416087041701219314338367948372148609382710227973338152905929426621906812533677324543709146895856032199848951559730180065879418178907506160948138784444570302819586116916642418612850430624579104989084253653283034123096874751706670278567443090484973100758100656893324163648021026276716190895178101238495367205676746538329808968822496650753511103647885648295132972967406230546707297143753227125793287946676773887688954865728124716353893443616501380274139503316755434859535738929063567086795954378266941922451392956901752366062849007484654775355354432863033730450040856574750989733737983697111699986303742792258808902256283349241747027220255209626875224714700090132683875180419598467662398637285851412626709004003648354270803620200937366746124376743605155554528535121325993935479540011132045554599917683311358647791801614676987554041749101634909758948575369483846451646465669657059644336085671515367322284568126111723289364177048906369215150214636564282787040372059573409339893859329357775761070366321995612997943896506200766374991889928531870991699832601679845952132746937073062744701952991348788153496542186745006758557886079225043125460854098714164439440266328600679173803837165749187670443159264233238870450662298628083448647101548323865468598336182172185086630825191786239606839589844100270502489876616031961318643025841730637894011987746850631286261310935021323272170664941895406295746301990933782263221972804953203728979421607327397847183014161041209351202212288259460194259480684816763155410916051177222574586727540980767593560628844320716178498820846688442472299974024902299874532560112620995921035168530638888548055659784507461938668559356102039381746992291227498060864504701747774073196481829155578102367062457300062586501397832506256560686737625754885995882994385733022523158577507007354648866603683022038819449983192934217215941955078762619898906812348214179457717524966412404850556286350509618373588405236896070841117907063185920041564004196334832823675751171348147899803261915730714776957467821570032602913824331292605711494482127801788714146441378533909298834329549563119934115041687950272305830282286627756678129093214197255866127872880443096094642047278621073567233360172423697336486207379510105919832281199738875015955611450391631616888525231309933487801350518562138917119492318090257571925847500165594756768246489242364446897029598772582918088796897455134349189333503976963626401497220936532887755229970146539923856431922911342955771223610369852154350128102044012490860118661999833366694288933719482855633127915665534993889721843547793598036041450531058402592207593301992098762166440161382857450815470122018011281307010298403295948747256798761000267117053723396193233474255428143302639190787862266851526645923510626749101012373045267456201745186015753959802094279297123902857853034782712573314779506240153648578201180709428636628736933687659477400701766814199410715891581618622912861772139350969956621172412486196061898214354114269998545116047433958112025575524076169071982555237746805956365233282725080503745238450342981854558351970258643954429402118142962685128637403530035143852553881400235830070471157093387255894132756446292498516005459889797270906623351665867347504689560537115418936449991078796704155344808506717794647694562348511902143108695332325129628161191754492677684656796439284489732431348393971152316770044989321645309461570933053096721712951028285624038692382454916774495826758399820045571014028999340784343428316403646765231220987597220891888423500945187200024607886366685314293837178872960223733973913280169053296548040815746727278413492703965772039715217946170998182086523823688871755625982943150612841242128286348394968431681370480953030255257609109963890855867901913974674771782727258323671557005553887772624266456756805533269466505034327986716686650419074915). + #$6912773482197396898375666393539522829444992859082723500095610747186845914202943295816848318093149941377319049726194096935733751620293974182047716831396561743172542834443872378443996303550494672619509744393131294274865605425829073952881663674100069006430723704207064876394662792736674993967077452871655852084410027561768758534680557340585851909045158710914713532343702703970774356142308600190598076044206423725568682615524631358141817100681042665945654511469640925870255422684833321067572506093535277301483474674151534810703678188993545888760291219384855934163394352619209238274466289199280186081262157890085794407296766092390053198713304980580203951936771150986062079184945427201699217153138739103997325150432457590880859034798296894320779941804059432910792759541608625992695320333240596550207591845351947820894474652054431465246121369430805421915953021983575703292737169944606231497677373052562874247381759727220034433562231645712756462059034976327791443861004849920215456724471068845359790156726766868466357833939578226258781581582995326928236292254246620042639469311051756430558259134151391420063109057821589476772286401257199757458146903159285236393877296641155436016333407277665125593341793844666849349910733344251162975914996680539993984702991050039964400686145037135528877710857338947142050596991530376841697646952613879599767282752999750605924915288117421149192073935893869332283856535734446204970502228457917673480562212523778420346791925105735776335692652413502132997564455283499314498667637945436583570601004976506473649409075493237214161098142611088902157997311604125300480684363780970711354555416752624905557768850065107557516534896138504558941130105595235280676570616084703401217127391000914729109624319969718353744164266798835792677654379066679368286187397702696476153346403274588472037533642479940540494988707711038718699544090257295836681062753798720107042063650143467891780197518938642937066688058189133197191433196230057040131581827393751132556415330044470353337554888699434508856855306923969813517909267621352059080648019515360613132045952428152730699134105422876778473279949466912750944087463974680964195302482144944909608050332240877240334311559790851026411758628668141420714018398040068567420620358486537647746169758631138602899113017778394317326764081245867315204491333693224148938849147053415831690307148449108100413947463688660976746211883684819503019062696623650143262742253486981357302226602757160393515679094156524346631593489484581272904505091974379745680516987469320036221792837288556605071700151541180129438401027455531109888139472171816220794673984056501108217232150112437308025404886792556362008347197980474961961722918224339055607670932388804652185429235124090005496186583379735603775895503071364712862744813904791842600335791803716152391669585344007452335057520488853647147394762241140385313310836075351980575867057318078531379886917299751491989379450481090915778110296933743588111210052145129130508535006960526826556209587425361873800370069422091213179136270701925276280599482517524299056271934760552271202385943804799717992638496219885119074239012945710711107623530758562011323798157087182544715340871375586462277098481206480294110334651500439311981826547545786383448676369484276993272872215228844264173209480150600031308112368753747826895936405491123335227334204207377133906412569282285951617051246294651097988905413541021534408623848240224295206484752435050817693138056910688418062522815479022773797813682399223157998059536140037014161257543598493510058845507904396111449864420998380867352257060600585119447605965501810303245549282518288957696294559984428319283552151786729737661734643634580294494737104299122622988382129456886164783349336264459486778308738534618261446232293843620932313943234873993517917460197689857157457074370395100446398803732566293763543855714127546908738961171366209739570518819313395800667096397788250789713096733139792150093113589236603533972349497261056360061574238767752586245589474770733366173735661313140789943714040320629477238762068991513215242922516181007286099901223273561394690614884472490678687876489914572040564266898415327159969170004045110125331113778996466507037642779239966408931241576991395623723192733643930565479553188223189026552876489462546156749152582989135012524775492705692491489168189162470911479656221053607370357203651744963544209704832985045703422717154168335523789548063654106278274672186580460133979544241566477931897626099457664476896541648448690833684852047127150758821022738882424072844113853378516372075749812483928592168901922998382547380517844829372087901715730595793601092463789579285825113692219507541522315777178828356640976308892364228465890655456601900613152319145479374759404066082293810385625405377926256286056512789697160471526962508641615992107318438245075575872635173277992159269690162771730368398284801241597644555520259458066019783377838498237867484777790839889756069512045380940142786399258789166555236568464531568000379178111046195653150213882266501139945786050361229641146568005457903507833640530859504091824576368755237602947679260520406319409551988025887182348995834034129166611175517735052823842430501631975179640375478335155051902200100483158637350565582311385697493220513198550303075316825793614471259675612671632642796876104751163385109993406489891192123335864174299997947923650857556004364362018079674723893951067087647880728989692780791084895351413672296254695454953568516445477200500343667955804186667280877647158955337784655277425483333563542758769243719316678864258386457441458140658729686548144840350487700135372982734384546646866480547000467353344138180041596291830338264313823016210436038360709514793052318590998077997562811252819990028399315191616604399459120206922204242878809898744753415266325721112754025981438929817838767749035697942475404445332433953916638054801603125044676593335525482102557609842262324344412805853059635956126251879462911255370603236303510268144520327407714792355958987173464349351779857138060615641222877543404566975246955157885108135041018925819804520318167). UPGRADED-ARRAY-ELEMENT-TYPE.ERROR.1 UPGRADED-ARRAY-ELEMENT-TYPE.ERROR.2 VECTOR.TYPE.1 VECTOR.TYPE.2 VECTOR.TYPE.3 VECTOR.TYPE.4 VECTOR.TYPE.5 VECTOR.TYPE.6 VECTOR.TYPE.7 @@ -22084,13 +22124,7 @@ SEARCH-BITVECTOR.2 SEARCH-BITVECTOR.3 SEARCH-BITVECTOR.4 SEARCH-BITVECTOR.5 SEARCH-BITVECTOR.6 SEARCH-BITVECTOR.7 SEARCH-BITVECTOR.8 SEARCH-BITVECTOR.9 SEARCH-BITVECTOR.10 - SEARCH-BITVECTOR.11 SEARCH-BITVECTOR.12 SEARCH-BITVECTOR.13 - SEARCH-BITVECTOR.14 SEARCH-BITVECTOR.15 SEARCH-BITVECTOR.16 - SEARCH-STRING.2Package #<"FPE" package> -Package #<"TK" package> -Package #<"DEFPACKAGE" package> -Package #<"ANSI-LOOP" package> -Package #<"SLOOP" package> + SEARCH-BITVECTOR.11 SEARCH-BITVECTOR.12 SEARCH-BITVECTOR.13Package #<"SLOOP" package> Package #<"COMPILER" package> Package #<"SYSTEM" package> Package #<"KEYWORD" package> @@ -23076,7 +23110,9 @@ DELETE.ORDER.1 DELETE.ORDER.2 REMOVE-IF.ORDER.1 REMOVE-IF.ORDER.2 DELETE-IF.ORDER.1 DELETE-IF.ORDER.2 REMOVE-IF-NOT.ORDER.1 REMOVE-IF-NOT.ORDER.2 DELETE-IF-NOT.ORDER.1 DELETE-IF-NOT.ORDER.2 - REMOVE-RANDOM REMOVE-IF-RANDOM REMOVE-IF-NOT-RANDOM SEARCH-STRING.3 SEARCH-STRING.4 SEARCH-STRING.5 + REMOVE-RANDOM REMOVE-IF-RANDOM REMOVE-IF-NOT-RANDOM DELETE-RANDOM + SEARCH-BITVECTOR.14 SEARCH-BITVECTOR.15 SEARCH-BITVECTOR.16 + SEARCH-STRING.2 SEARCH-STRING.3 SEARCH-STRING.4 SEARCH-STRING.5 SEARCH-STRING.6 SEARCH-STRING.7 SEARCH-STRING.8 SEARCH-STRING.9 SEARCH-STRING.10 SEARCH-STRING.11 SEARCH-STRING.13 SEARCH-STRING.14 SEARCH-STRING.15 SEARCH-STRING.16 MISMATCH-LIST.1 MISMATCH-LIST.2 @@ -23616,22 +23652,6 @@ REMOVE.ERROR.9 REMOVE.ERROR.10 DELETE.ERROR.1 DELETE.ERROR.2 DELETE.ERROR.3 DELETE.ERROR.4 DELETE.ERROR.5 DELETE.ERROR.6 DELETE.ERROR.7 DELETE.ERROR.8 DELETE.ERROR.9 DELETE.ERROR.10 - RANDOM-REMOVE-DUPLICATES DELETE-RANDOM - DELETE-IF-RANDOM DELETE-IF-NOT-RANDOM REMOVE-IF-LIST.1 - REMOVE-IF-LIST.2 REMOVE-IF-NOT-LIST.1 REMOVE-IF-NOT-LIST.2 - DELETE-IF-LIST.1 DELETE-IF-LIST.2 DELETE-IF-NOT-LIST.1 - DELETE-IF-NOT-LIST.2 DELETE-LIST.1 DELETE-LIST.2 - REMOVE.ALLOW-OTHER-KEYS.1 REMOVE.ALLOW-OTHER-KEYS.2 - REMOVE.ALLOW-OTHER-KEYS.3 REMOVE.ALLOW-OTHER-KEYS.4 - REMOVE.ALLOW-OTHER-KEYS.5 REMOVE.ALLOW-OTHER-KEYS.6 REMOVE.KEYWORDS.7 - DELETE.ALLOW-OTHER-KEYS.1 DELETE.ALLOW-OTHER-KEYS.2 - DELETE.ALLOW-OTHER-KEYS.3 DELETE.ALLOW-OTHER-KEYS.4 - DELETE.ALLOW-OTHER-KEYS.5 DELETE.ALLOW-OTHER-KEYS.6 DELETE.KEYWORDS.7 - REMOVE.ERROR.1 REMOVE.ERROR.2 REMOVE.ERROR.3 REMOVE.ERROR.4 - REMOVE.ERROR.5 REMOVE.ERROR.6 REMOVE.ERROR.7 REMOVE.ERROR.8 - REMOVE.ERROR.9 REMOVE.ERROR.10 DELETE.ERROR.1 DELETE.ERROR.2 - DELETE.ERROR.3 DELETE.ERROR.4 DELETE.ERROR.5 DELETE.ERROR.6 - DELETE.ERROR.7 DELETE.ERROR.8 DELETE.ERROR.9 DELETE.ERROR.10 RANDOM-REMOVE-DUPLICATES RANDOM-DELETE-DUPLICATES REMOVE-DUPLICATES.1 DELETE-DUPLICATES.1 REMOVE-DUPLICATES.ORDER.1 REMOVE-DUPLICATES.ORDER.2 REMOVE-DUPLICATES.ALLOW-OTHER-KEYS.1 @@ -25254,1663 +25274,23 @@ (((SUBTYPEP 'PRINT-NOT-READABLE 'ATOM) ==> NIL NIL)) (((SUBTYPEP 'READER-ERROR 'ATOM) ==> NIL NIL)) (((SUBTYPEP 'READER-ERROR 'ATOM) ==> NIL NIL))). - TYPES.7B TYPES.7C -Should be atomic, but isn't: CONDITION -Test TYPES.8 failed -Form: (LOOP - FOR - TP - IN - *DISJOINT-TYPES-LIST* - COUNT - (COND - ((AND (NOT (EQT TP 'CONS)) (NOT (SUBTYPEP* TP 'ATOM))) - (FORMAT T "~%Should be atomic, but isn't: ~S" TP) T))) -Expected value: 0 -Actual value: 1. - TYPES.9Found element of FUNCTION not in ATOM: (SYSTEM:LAMBDA-CLOSURE - () () () (X) - X) -Found element of ARRAY not in SIMPLE-ARRAY: #0ANIL -Found element of ARRAY not in SIMPLE-ARRAY: #(NIL NIL) -Found element of ARRAY not in SIMPLE-ARRAY: #2A((NIL NIL) (NIL NIL)) -Found element of ARRAY not in SIMPLE-ARRAY: #3A(((NIL NIL) (NIL NIL)) - ((NIL NIL) (NIL NIL))) -Found element of ARRAY not in SIMPLE-ARRAY: #4A((((NIL NIL) (NIL NIL)) - ((NIL NIL) (NIL NIL))) - (((NIL NIL) (NIL NIL)) - ((NIL NIL) (NIL NIL)))) -Found element of ARRAY not in SIMPLE-ARRAY: #5A(((((NIL NIL) (NIL NIL)) - ((NIL NIL) (NIL NIL))) - (((NIL NIL) (NIL NIL)) - ((NIL NIL) (NIL NIL)))) - ((((NIL NIL) (NIL NIL)) - ((NIL NIL) (NIL NIL))) - (((NIL NIL) (NIL NIL)) - ((NIL NIL) (NIL NIL))))) -Found element of ARRAY not in SIMPLE-ARRAY: #6A((((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))) - ((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))))) - (((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))) - ((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))))) -Found element of ARRAY not in SIMPLE-ARRAY: #7A(((((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))) - ((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))))) - (((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))) - ((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))))) - ((((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))) - ((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))))) - (((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))) - ((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))))))) -Found element of ARRAY not in SIMPLE-ARRAY: #8A((((((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))) - ((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))))) - (((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))) - ((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))))) - ((((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))) - ((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))))) - (((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))) - ((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))))))) - (((((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))) - ((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))))) - (((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))) - ((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))))) - ((((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))) - ((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))))) - (((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))) - ((((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL))) - (((NIL NIL) - (NIL NIL)) - ((NIL NIL) - (NIL NIL)))))))) -Found element of VECTOR not in SIMPLE-ARRAY: #(NIL NIL) -Test TYPES.9A failed -Form: (TYPES.9A-BODY) -Expected value: 0 -Actual value: 11. -Test ALL-CLASSES-ARE-TYPE-EQUIVALENT-TO-THEIR-NAMES failed -Form: (LOOP - FOR - SYM - BEING - THE - EXTERNAL-SYMBOLS - OF - "COMMON-LISP" - FOR - CLASS - = - (FIND-CLASS SYM NIL) - WHEN - CLASS - APPEND - (CHECK-EQUIVALENCE SYM CLASS)) -Expected value: NIL -Actual value: (((SUBTYPEP 'STRUCTURE-OBJECT - #) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT STRUCTURE-OBJECT)) - ==> NIL T) - ((SUBTYPEP 'ARITHMETIC-ERROR - #) - ==> NIL T) - ((SUBTYPEP - # - 'ARITHMETIC-ERROR) - ==> NIL T) - ((SUBTYPEP '(NOT ARITHMETIC-ERROR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT ARITHMETIC-ERROR)) - ==> NIL T) - ((SUBTYPEP 'SYMBOL - #) - ==> NIL T) - ((SUBTYPEP - # 'SYMBOL) - ==> NIL T) - ((SUBTYPEP '(NOT SYMBOL) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT SYMBOL)) - ==> NIL T) - ((SUBTYPEP 'CONTROL-ERROR - #) - ==> NIL T) - ((SUBTYPEP - # - 'CONTROL-ERROR) - ==> NIL T) - ((SUBTYPEP '(NOT CONTROL-ERROR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT CONTROL-ERROR)) - ==> NIL T) - ((SUBTYPEP 'CLASS - #) - ==> NIL T) - ((SUBTYPEP - # 'CLASS) - ==> NIL T) - ((SUBTYPEP '(NOT CLASS) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT CLASS)) - ==> NIL T) - ((SUBTYPEP 'SIMPLE-ERROR - #) - ==> NIL T) - ((SUBTYPEP - # - 'SIMPLE-ERROR) - ==> NIL T) - ((SUBTYPEP '(NOT SIMPLE-ERROR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT SIMPLE-ERROR)) - ==> NIL T) - ((SUBTYPEP T - #) - ==> NIL T) - ((SUBTYPEP - # T) - ==> NIL T) - ((SUBTYPEP '(NOT T) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) '(NOT T)) - ==> NIL T) - ((SUBTYPEP 'COMPLEX - #) - ==> NIL T) - ((SUBTYPEP - # 'COMPLEX) - ==> NIL T) - ((SUBTYPEP '(NOT COMPLEX) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT COMPLEX)) - ==> NIL T) - ((SUBTYPEP 'ARRAY - #) - ==> NIL T) - ((SUBTYPEP - # 'ARRAY) - ==> NIL T) - ((SUBTYPEP '(NOT ARRAY) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT ARRAY)) - ==> NIL T) - ((SUBTYPEP 'FLOATING-POINT-INEXACT - #) - ==> NIL T) - ((SUBTYPEP - # - 'FLOATING-POINT-INEXACT) - ==> NIL T) - ((SUBTYPEP '(NOT FLOATING-POINT-INEXACT) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT FLOATING-POINT-INEXACT)) - ==> NIL T) - ((SUBTYPEP 'NUMBER - #) - ==> NIL T) - ((SUBTYPEP - # 'NUMBER) - ==> NIL T) - ((SUBTYPEP '(NOT NUMBER) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT NUMBER)) - ==> NIL T) - ((SUBTYPEP 'NULL - #) - ==> NIL T) - ((SUBTYPEP - # 'NULL) - ==> NIL T) - ((SUBTYPEP '(NOT NULL) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) '(NOT NULL)) - ==> NIL T) - ((SUBTYPEP 'FLOATING-POINT-UNDERFLOW - #) - ==> NIL T) - ((SUBTYPEP - # - 'FLOATING-POINT-UNDERFLOW) - ==> NIL T) - ((SUBTYPEP '(NOT FLOATING-POINT-UNDERFLOW) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT FLOATING-POINT-UNDERFLOW)) - ==> NIL T) - ((SUBTYPEP 'FLOATING-POINT-OVERFLOW - #) - ==> NIL T) - ((SUBTYPEP - # - 'FLOATING-POINT-OVERFLOW) - ==> NIL T) - ((SUBTYPEP '(NOT FLOATING-POINT-OVERFLOW) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT FLOATING-POINT-OVERFLOW)) - ==> NIL T) - ((SUBTYPEP 'RATIONAL - #) - ==> NIL T) - ((SUBTYPEP - # 'RATIONAL) - ==> NIL T) - ((SUBTYPEP '(NOT RATIONAL) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT RATIONAL)) - ==> NIL T) - ((SUBTYPEP 'RATIO - #) - ==> NIL T) - ((SUBTYPEP - # 'RATIO) - ==> NIL T) - ((SUBTYPEP '(NOT RATIO) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT RATIO)) - ==> NIL T) - ((SUBTYPEP 'STANDARD-METHOD - #) - ==> NIL T) - ((SUBTYPEP - # - 'STANDARD-METHOD) - ==> NIL T) - ((SUBTYPEP '(NOT STANDARD-METHOD) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT STANDARD-METHOD)) - ==> NIL T) - ((SUBTYPEP 'STRUCTURE-CLASS - #) - ==> NIL T) - ((SUBTYPEP - # - 'STRUCTURE-CLASS) - ==> NIL T) - ((SUBTYPEP '(NOT STRUCTURE-CLASS) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT STRUCTURE-CLASS)) - ==> NIL T) - ((SUBTYPEP 'BUILT-IN-CLASS - #) - ==> NIL T) - ((SUBTYPEP - # - 'BUILT-IN-CLASS) - ==> NIL T) - ((SUBTYPEP '(NOT BUILT-IN-CLASS) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT BUILT-IN-CLASS)) - ==> NIL T) - ((SUBTYPEP 'UNBOUND-SLOT - #) - ==> NIL T) - ((SUBTYPEP - # - 'UNBOUND-SLOT) - ==> NIL T) - ((SUBTYPEP '(NOT UNBOUND-SLOT) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT UNBOUND-SLOT)) - ==> NIL T) - ((SUBTYPEP 'ERROR - #) - ==> NIL T) - ((SUBTYPEP - # 'ERROR) - ==> NIL T) - ((SUBTYPEP '(NOT ERROR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT ERROR)) - ==> NIL T) - ((SUBTYPEP 'STANDARD-GENERIC-FUNCTION - #) - ==> NIL T) - ((SUBTYPEP - # - 'STANDARD-GENERIC-FUNCTION) - ==> NIL T) - ((SUBTYPEP '(NOT STANDARD-GENERIC-FUNCTION) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT STANDARD-GENERIC-FUNCTION)) - ==> NIL T) - ((SUBTYPEP 'CHARACTER - #) - ==> NIL T) - ((SUBTYPEP - # 'CHARACTER) - ==> NIL T) - ((SUBTYPEP '(NOT CHARACTER) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT CHARACTER)) - ==> NIL T) - ((SUBTYPEP 'DIVISION-BY-ZERO - #) - ==> NIL T) - ((SUBTYPEP - # - 'DIVISION-BY-ZERO) - ==> NIL T) - ((SUBTYPEP '(NOT DIVISION-BY-ZERO) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT DIVISION-BY-ZERO)) - ==> NIL T) - ((SUBTYPEP 'SEQUENCE - #) - ==> NIL T) - ((SUBTYPEP - # 'SEQUENCE) - ==> NIL T) - ((SUBTYPEP '(NOT SEQUENCE) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT SEQUENCE)) - ==> NIL T) - ((SUBTYPEP 'PRINT-NOT-READABLE - #) - ==> NIL T) - ((SUBTYPEP - # - 'PRINT-NOT-READABLE) - ==> NIL T) - ((SUBTYPEP '(NOT PRINT-NOT-READABLE) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT PRINT-NOT-READABLE)) - ==> NIL T) - ((SUBTYPEP 'UNDEFINED-FUNCTION - #) - ==> NIL T) - ((SUBTYPEP - # - 'UNDEFINED-FUNCTION) - ==> NIL T) - ((SUBTYPEP '(NOT UNDEFINED-FUNCTION) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT UNDEFINED-FUNCTION)) - ==> NIL T) - ((SUBTYPEP 'END-OF-FILE - #) - ==> NIL T) - ((SUBTYPEP - # - 'END-OF-FILE) - ==> NIL T) - ((SUBTYPEP '(NOT END-OF-FILE) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT END-OF-FILE)) - ==> NIL T) - ((SUBTYPEP 'INTEGER - #) - ==> NIL T) - ((SUBTYPEP - # 'INTEGER) - ==> NIL T) - ((SUBTYPEP '(NOT INTEGER) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT INTEGER)) - ==> NIL T) - ((SUBTYPEP 'FLOAT - #) - ==> NIL T) - ((SUBTYPEP - # 'FLOAT) - ==> NIL T) - ((SUBTYPEP '(NOT FLOAT) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT FLOAT)) - ==> NIL T) - ((SUBTYPEP 'BIT-VECTOR - #) - ==> NIL T) - ((SUBTYPEP - # 'BIT-VECTOR) - ==> NIL T) - ((SUBTYPEP '(NOT BIT-VECTOR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT BIT-VECTOR)) - ==> NIL T) - ((SUBTYPEP 'STYLE-WARNING - #) - ==> NIL T) - ((SUBTYPEP - # - 'STYLE-WARNING) - ==> NIL T) - ((SUBTYPEP '(NOT STYLE-WARNING) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT STYLE-WARNING)) - ==> NIL T) - ((SUBTYPEP 'SIMPLE-TYPE-ERROR - #) - ==> NIL T) - ((SUBTYPEP - # - 'SIMPLE-TYPE-ERROR) - ==> NIL T) - ((SUBTYPEP '(NOT SIMPLE-TYPE-ERROR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT SIMPLE-TYPE-ERROR)) - ==> NIL T) - ((SUBTYPEP 'CELL-ERROR - #) - ==> NIL T) - ((SUBTYPEP - # 'CELL-ERROR) - ==> NIL T) - ((SUBTYPEP '(NOT CELL-ERROR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT CELL-ERROR)) - ==> NIL T) - ((SUBTYPEP 'FILE-ERROR - #) - ==> NIL T) - ((SUBTYPEP - # 'FILE-ERROR) - ==> NIL T) - ((SUBTYPEP '(NOT FILE-ERROR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT FILE-ERROR)) - ==> NIL T) - ((SUBTYPEP 'RESTART - #) - ==> NIL T) - ((SUBTYPEP - # 'RESTART) - ==> NIL T) - ((SUBTYPEP '(NOT RESTART) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT RESTART)) - ==> NIL T) - ((SUBTYPEP 'TYPE-ERROR - #) - ==> NIL T) - ((SUBTYPEP - # 'TYPE-ERROR) - ==> NIL T) - ((SUBTYPEP '(NOT TYPE-ERROR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT TYPE-ERROR)) - ==> NIL T) - ((SUBTYPEP 'LIST - #) - ==> NIL T) - ((SUBTYPEP - # 'LIST) - ==> NIL T) - ((SUBTYPEP '(NOT LIST) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) '(NOT LIST)) - ==> NIL T) - ((SUBTYPEP 'STANDARD-OBJECT - #) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT STANDARD-OBJECT)) - ==> NIL T) - ((SUBTYPEP 'STRING - #) - ==> NIL T) - ((SUBTYPEP - # 'STRING) - ==> NIL T) - ((SUBTYPEP '(NOT STRING) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT STRING)) - ==> NIL T) - ((SUBTYPEP 'METHOD-COMBINATION - #) - ==> NIL T) - ((SUBTYPEP - # - 'METHOD-COMBINATION) - ==> NIL T) - ((SUBTYPEP '(NOT METHOD-COMBINATION) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT METHOD-COMBINATION)) - ==> NIL T) - ((SUBTYPEP 'CONS - #) - ==> NIL T) - ((SUBTYPEP - # 'CONS) - ==> NIL T) - ((SUBTYPEP '(NOT CONS) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) '(NOT CONS)) - ==> NIL T) - ((SUBTYPEP 'SIMPLE-CONDITION - #) - ==> NIL T) - ((SUBTYPEP - # - 'SIMPLE-CONDITION) - ==> NIL T) - ((SUBTYPEP '(NOT SIMPLE-CONDITION) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT SIMPLE-CONDITION)) - ==> NIL T) - ((SUBTYPEP 'SIMPLE-WARNING - #) - ==> NIL T) - ((SUBTYPEP - # - 'SIMPLE-WARNING) - ==> NIL T) - ((SUBTYPEP '(NOT SIMPLE-WARNING) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT SIMPLE-WARNING)) - ==> NIL T) - ((SUBTYPEP 'PACKAGE-ERROR - #) - ==> NIL T) - ((SUBTYPEP - # - 'PACKAGE-ERROR) - ==> NIL T) - ((SUBTYPEP '(NOT PACKAGE-ERROR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT PACKAGE-ERROR)) - ==> NIL T) - ((SUBTYPEP 'PARSE-ERROR - #) - ==> NIL T) - ((SUBTYPEP - # - 'PARSE-ERROR) - ==> NIL T) - ((SUBTYPEP '(NOT PARSE-ERROR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT PARSE-ERROR)) - ==> NIL T) - ((SUBTYPEP 'WARNING - #) - ==> NIL T) - ((SUBTYPEP - # 'WARNING) - ==> NIL T) - ((SUBTYPEP '(NOT WARNING) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT WARNING)) - ==> NIL T) - ((SUBTYPEP 'STORAGE-CONDITION - #) - ==> NIL T) - ((SUBTYPEP - # - 'STORAGE-CONDITION) - ==> NIL T) - ((SUBTYPEP '(NOT STORAGE-CONDITION) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT STORAGE-CONDITION)) - ==> NIL T) - ((SUBTYPEP 'FLOATING-POINT-INVALID-OPERATION - #) - ==> NIL T) - ((SUBTYPEP - # - 'FLOATING-POINT-INVALID-OPERATION) - ==> NIL T) - ((SUBTYPEP '(NOT FLOATING-POINT-INVALID-OPERATION) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT FLOATING-POINT-INVALID-OPERATION)) - ==> NIL T) - ((SUBTYPEP 'PROGRAM-ERROR - #) - ==> NIL T) - ((SUBTYPEP - # - 'PROGRAM-ERROR) - ==> NIL T) - ((SUBTYPEP '(NOT PROGRAM-ERROR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT PROGRAM-ERROR)) - ==> NIL T) - ((SUBTYPEP 'METHOD - #) - ==> NIL T) - ((SUBTYPEP - # 'METHOD) - ==> NIL T) - ((SUBTYPEP '(NOT METHOD) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT METHOD)) - ==> NIL T) - ((SUBTYPEP 'STANDARD-CLASS - #) - ==> NIL T) - ((SUBTYPEP - # - 'STANDARD-CLASS) - ==> NIL T) - ((SUBTYPEP '(NOT STANDARD-CLASS) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT STANDARD-CLASS)) - ==> NIL T) - ((SUBTYPEP 'GENERIC-FUNCTION - #) - ==> NIL T) - ((SUBTYPEP - # - 'GENERIC-FUNCTION) - ==> NIL T) - ((SUBTYPEP '(NOT GENERIC-FUNCTION) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT GENERIC-FUNCTION)) - ==> NIL T) - ((SUBTYPEP 'STREAM-ERROR - #) - ==> NIL T) - ((SUBTYPEP - # - 'STREAM-ERROR) - ==> NIL T) - ((SUBTYPEP '(NOT STREAM-ERROR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT STREAM-ERROR)) - ==> NIL T) - ((SUBTYPEP 'SERIOUS-CONDITION - #) - ==> NIL T) - ((SUBTYPEP - # - 'SERIOUS-CONDITION) - ==> NIL T) - ((SUBTYPEP '(NOT SERIOUS-CONDITION) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT SERIOUS-CONDITION)) - ==> NIL T) - ((SUBTYPEP 'READER-ERROR - #) - ==> NIL T) - ((SUBTYPEP - # - 'READER-ERROR) - ==> NIL T) - ((SUBTYPEP '(NOT READER-ERROR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT READER-ERROR)) - ==> NIL T) - ((SUBTYPEP 'REAL - #) - ==> NIL T) - ((SUBTYPEP - # 'REAL) - ==> NIL T) - ((SUBTYPEP '(NOT REAL) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) '(NOT REAL)) - ==> NIL T) - ((SUBTYPEP 'VECTOR - #) - ==> NIL T) - ((SUBTYPEP - # 'VECTOR) - ==> NIL T) - ((SUBTYPEP '(NOT VECTOR) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT VECTOR)) - ==> NIL T) - ((SUBTYPEP 'CONDITION - #) - ==> NIL T) - ((SUBTYPEP - # 'CONDITION) - ==> NIL T) - ((SUBTYPEP '(NOT CONDITION) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT CONDITION)) - ==> NIL T) - ((SUBTYPEP 'UNBOUND-VARIABLE - #) - ==> NIL T) - ((SUBTYPEP - # - 'UNBOUND-VARIABLE) - ==> NIL T) - ((SUBTYPEP '(NOT UNBOUND-VARIABLE) - '(NOT #)) - ==> NIL T) - ((SUBTYPEP - '(NOT #) - '(NOT UNBOUND-VARIABLE)) - ==> NIL T)). -Test ALL-STANDARD-CLASSES-ARE-SUBTYPES-OF-STANDARD-OBJECT failed -Form: (LOOP - FOR - SYM - BEING - THE - EXTERNAL-SYMBOLS - OF - "COMMON-LISP" - FOR - CLASS - = - (FIND-CLASS SYM NIL) - WHEN - (AND CLASS (TYPEP CLASS 'STANDARD-CLASS) - (OR (NOT (SUBTYPEP SYM 'STANDARD-OBJECT)) - (NOT (SUBTYPEP CLASS 'STANDARD-OBJECT)))) - COLLECT - SYM) -Expected value: NIL -Actual value: (ARITHMETIC-ERROR CONTROL-ERROR CLASS SIMPLE-ERROR - FLOATING-POINT-INEXACT FLOATING-POINT-UNDERFLOW - FLOATING-POINT-OVERFLOW STANDARD-METHOD - STRUCTURE-CLASS BUILT-IN-CLASS UNBOUND-SLOT ERROR - DIVISION-BY-ZERO PRINT-NOT-READABLE - UNDEFINED-FUNCTION END-OF-FILE STYLE-WARNING - SIMPLE-TYPE-ERROR CELL-ERROR FILE-ERROR TYPE-ERROR - METHOD-COMBINATION SIMPLE-CONDITION SIMPLE-WARNING - PACKAGE-ERROR PARSE-ERROR WARNING STORAGE-CONDITION - FLOATING-POINT-INVALID-OPERATION PROGRAM-ERROR METHOD - STANDARD-CLASS STREAM-ERROR SERIOUS-CONDITION - READER-ERROR CONDITION UNBOUND-VARIABLE). - ALL-STRUCTURE-CLASSES-ARE-SUBTYPES-OF-STRUCTURE-OBJECT - ALL-EXPORTED-CL-CLASS-NAMES-ARE-VALID -Test ALL-STANDARD-GENERIC-FUNCTIONS-ARE-INSTANCES-OF-THAT-CLASS failed -Form: (LOOP - FOR - SYM - IN - *CL-STANDARD-GENERIC-FUNCTION-SYMBOLS* - FOR - FUN - = - (AND (FBOUNDP SYM) (SYMBOL-FUNCTION SYM)) - UNLESS - (AND (TYPEP FUN 'GENERIC-FUNCTION) - (TYPEP FUN 'STANDARD-GENERIC-FUNCTION)) - COLLECT - (LIST SYM FUN)) -Expected value: NIL -Actual value: ((DOCUMENTATION #) - (FIND-METHOD NIL) (NO-NEXT-METHOD NIL)). - STRUCTURE-OBJECT-IS-IN-STRUCTURE-CLASS - STANDARD-OBJECT-IS-IN-STANDARD-CLASS DEFTYPE.1 DEFTYPE.2 DEFTYPE.3 - DEFTYPE.4 DEFTYPE.5 DEFTYPE.6 TYPE-AND-CLASS-FNS TYPE-AND-CLASS-MACROS - TYPEP-NIL-NULL TYPEP-T-NULL TYPE-OF.ERROR.1 TYPE-OF.ERROR.2 - TYPEP.ERROR.1 TYPEP.ERROR.2 TYPEP.ERROR.3 TYPE-ERROR-DATUM.ERROR.1 - TYPE-ERROR-DATUM.ERROR.2 TYPE-ERROR-EXPECTED-TYPE.ERROR.1 - TYPE-ERROR-EXPECTED-TYPE.ERROR.2 TYPEP.ENV.1 TYPEP.ENV.2 TYPEP.ENV.3 - TYPEP.1 TYPEP.2 TYPEP.3 TYPEP.4 TYPEP.5 TYPEP.6 TYPEP.7 TYPEP.8 - TYPEP.9 TYPEP.10 TYPEP.11 TYPEP.12 TYPEP.13 TYPEP.14 TYPEP.15 TYPEP.16 - TYPEP.17 TYPE-OR-NOT-TYPE-IS-EVERYTHING USER-CLASS-DISJOINTNESS - USER-CLASS-DISJOINTNESS-2 USER-STRUCT-DISJOINTNESS - USER-STRUCT-DISJOINTNESS-2 -Test TAC-3.1 failed -Form: (SUBTYPEP* 'TAC-3-AB 'TAC-3-A) -Expected values: T - T -Actual values: NIL - NIL. -Test TAC-3.2 failed -Form: (SUBTYPEP* 'TAC-3-AB 'TAC-3-B) -Expected values: T - T -Actual values: NIL - NIL. -Test TAC-3.3 failed -Form: (SUBTYPEP* 'TAC-3-AB 'TAC-3-C) -Expected values: NIL - T -Actual values: NIL - NIL. -Test TAC-3.4 failed -Form: (SUBTYPEP* 'TAC-3-A 'TAC-3-AB) -Expected values: NIL - T -Actual values: NIL - NIL. -Test TAC-3.5 failed -Form: (SUBTYPEP* 'TAC-3-B 'TAC-3-AB) -Expected values: NIL - T -Actual values: NIL - NIL. -Test TAC-3.6 failed -Form: (SUBTYPEP* 'TAC-3-C 'TAC-3-AB) -Expected values: NIL - T -Actual values: NIL - NIL. -Test TAC-3.7 failed -Form: (SUBTYPEP* 'TAC-3-ABC 'TAC-3-A) -Expected values: T - T -Actual values: NIL - NIL. -Test TAC-3.8 failed -Form: (SUBTYPEP* 'TAC-3-ABC 'TAC-3-B) -Expected values: T - T -Actual values: NIL - NIL. -Test TAC-3.9 failed -Form: (SUBTYPEP* 'TAC-3-ABC 'TAC-3-C) -Expected values: T - T -Actual values: NIL - NIL. -Test TAC-3.10 failed -Form: (SUBTYPEP* 'TAC-3-ABC 'TAC-3-AB) -Expected values: T - T -Actual values: NIL - NIL. -Test TAC-3.11 failed -Form: (SUBTYPEP* 'TAC-3-ABC 'TAC-3-AC) -Expected values: T - T -Actual values: NIL - NIL. -Test TAC-3.12 failed -Form: (SUBTYPEP* 'TAC-3-ABC 'TAC-3-BC) -Expected values: T - T -Actual values: NIL - NIL. -Test TAC-3.13 failed -Form: (SUBTYPEP* 'TAC-3-AB 'TAC-3-ABC) -Expected values: NIL - T -Actual values: NIL - NIL. -Test TAC-3.14 failed -Form: (SUBTYPEP* 'TAC-3-AC 'TAC-3-ABC) -Expected values: NIL - T -Actual values: NIL - NIL. -Test TAC-3.15 failed -Form: (SUBTYPEP* 'TAC-3-BC 'TAC-3-ABC) -Expected values: NIL - T -Actual values: NIL - NIL. - TAC-3.16 TAC-3.17 -Test UNIVERSE-ELEMENTS-IN-AT-MOST-ONE-DISJOINT-TYPE failed -Form: (LOOP - FOR - E - IN - *UNIVERSE* - FOR - TYPES - = - (REMOVE-IF-NOT #'(LAMBDA (X) (TYPEP E X)) - *DISJOINT-TYPES-LIST*) - WHEN - (> (LENGTH TYPES) 1) - COLLECT - (LIST E TYPES)) -Expected value: NIL -Actual value: ((CONS (SYMBOL FUNCTION)) - ((SYSTEM:LAMBDA-CLOSURE () () () (X) X) (CONS FUNCTION))). - INTEGER-AND-RATIO-ARE-DISJOINT BIGNUM-AND-RATIO-ARE-DISJOINT - BIGNUM-AND-FIXNUM-ARE-DISJOINT FIXNUM-AND-RATIO-ARE-DISJOINT - BYTE8-AND-RATIO-ARE-DISJOINT BIT-AND-RATIO-ARE-DISJOINT - INTEGER-AND-FLOAT-ARE-DISJOINT RATIO-AND-FLOAT-ARE-DISJOINT - COMPLEX-AND-FLOAT-ARE-DISJOINT INTEGER-SUBRANGES-ARE-DISJOINT - KEYWORD-AND-NULL-ARE-DISJOINT KEYWORD-AND-BOOLEAN-ARE-DISJOINT - COERCE.1 COERCE.2 COERCE.3 COERCE.4 COERCE.5 COERCE.6 COERCE.7 - COERCE.8 COERCE.9 COERCE.10 COERCE.11 COERCE.12 COERCE.13 COERCE.14 - COERCE.15 COERCE.16 COERCE.17 COERCE.18 COERCE.19 COERCE.20 COERCE.21 - COERCE.22 COERCE.ORDER.1 COERCE.ERROR.2 COERCE.ERROR.3 COERCE.ERROR.4 - COERCE.ERROR.5 COERCE.ERROR.6 COERCE.ERROR.7 COERCE.ERROR.8 - COERCE.ERROR.9 SUBTYPEP.ORDER.1 SIMPLE-BASE-STRING-IS-SEQUENCE - SUBTYPE.ENV.1 SUBTYPE.ENV.2 SUBTYPE.ENV.3 SUBTYPE.ENV.4 SUBTYPE.ENV.5 - SUBTYPEP.ERROR.1 SUBTYPEP.ERROR.2 SUBTYPEP.ERROR.3 - KEYWORD-IS-SUBTYPE-OF-ATOM RATIO-IS-SUBTYPE-OF-ATOM - EXTENDED-CHAR-IS-SUBTYPE-OF-ATOM STRING-IS-NOT-SIMPLE-VECTOR - BASE-STRING-IS-NOT-SIMPLE-VECTOR SIMPLE-STRING-IS-NOT-SIMPLE-VECTOR - SIMPLE-BASE-STRING-IS-NOT-SIMPLE-VECTOR - BIT-VECTOR-IS-NOT-SIMPLE-VECTOR SIMPLE-BIT-VECTOR-IS-NOT-SIMPLE-VECTOR - SUBTYPEP.EXTENDED-CHAR.1 SUBTYPEP.AND/OR.1 SUBTYPEP.AND/OR.2 - SUBTYPEP.AND.1 SUBTYPEP.OR.1 SUBTYPEP.AND.2 SUBTYPEP.OR.2 - SUBTYPEP.AND.3 SUBTYPEP.OR.3 SUBTYPEP.AND.4 SUBTYPEP.OR.4 - SUBTYPEP.NIL.1 SUBTYPEP.NIL.2 SUBTYPEP.FIXNUM-OR-BIGNUM - SUBTYPEP.FIXNUM.INTEGER -Test SUBTYPEP.BIGNUM.INTEGER failed -Form: (CHECK-EQUIVALENCE - (LIST 'OR (LIST 'INTEGER '* (LIST MOST-NEGATIVE-FIXNUM)) - (LIST 'INTEGER (LIST MOST-POSITIVE-FIXNUM) '*)) - 'BIGNUM) -Expected value: NIL -Actual value: (((SUBTYPEP - '(OR (INTEGER * (-9223372036854775808)) - (INTEGER (9223372036854775807) *)) - 'BIGNUM) - ==> NIL T) - ((SUBTYPEP '(NOT BIGNUM) - '(NOT (OR (INTEGER * (-9223372036854775808)) - (INTEGER (9223372036854775807) *)))) - ==> NIL T)). - SUBTYPEP.INTEGER.1 SUBTYPEP.INTEGER.2 SUBTYPEP.INTEGER.3 - SUBTYPEP.INTEGER.3A SUBTYPEP.INTEGER.3B SUBTYPEP.INTEGER.3C - SUBTYPEP.INTEGER.4 SUBTYPEP.INTEGER.4A SUBTYPEP.INTEGER.4B - SUBTYPEP.INTEGER.4C SUBTYPEP.INTEGER.5 SUBTYPEP.INTEGER.5A - SUBTYPEP.INTEGER.5B SUBTYPEP.INTEGER.5C SUBTYPEP.INTEGER.6 - SUBTYPEP.INTEGER.6A SUBTYPEP.INTEGER.6B SUBTYPEP.INTEGER.6C - SUBTYPEP.INTEGER.7 SUBTYPEP.INTEGER.7A SUBTYPEP.INTEGER.7B - SUBTYPEP.INTEGER.7C SUBTYPEP.INTEGER.8 SUBTYPEP.INTEGER.8A - SUBTYPEP.INTEGER.8B SUBTYPEP.INTEGER.8C SUBTYPEP.INTEGER.9 - SUBTYPEP.INTEGER.9A SUBTYPEP.INTEGER.9B SUBTYPEP.INTEGER.9C - SUBTYPEP.INTEGER.10 SUBTYPEP.INTEGER.10A SUBTYPEP.INTEGER.10B - SUBTYPEP.INTEGER.10C SUBTYPEP.INTEGER.11 SUBTYPEP.INTEGER.12 - SUBTYPEP.INTEGER.13 SUBTYPEP.INTEGER.14 SUBTYPEP.INTEGER.15 - SUBTYPEP.INTEGER.16 SUBTYPEP.INTEGER.17 SUBTYPEP.INTEGER.18 - SUBTYPEP.INTEGER.19 SUBTYPEP.INTEGER.20 SUBTYPEP.INTEGER.21 - SUBTYPEP.INTEGER.22 -Test SUBTYPEP.INTEGER.23 failed -Form: (CHECK-EQUIVALENCE '(INTEGER (9)) '(INTEGER 10)) -Expected value: NIL -Actual value: (((SUBTYPEP '(INTEGER (9)) '(INTEGER 10)) ==> NIL T) - ((SUBTYPEP '(NOT (INTEGER 10)) '(NOT (INTEGER (9)))) ==> - NIL T)). -Test SUBTYPEP.INTEGER.24 failed -Form: (CHECK-EQUIVALENCE '(INTEGER * (11)) '(INTEGER * 10)) -Expected value: NIL -Actual value: (((SUBTYPEP '(INTEGER * (11)) '(INTEGER * 10)) ==> NIL T) - ((SUBTYPEP '(NOT (INTEGER * 10)) - '(NOT (INTEGER * (11)))) - ==> NIL T)). - SUBTYPEP.INTEGER.25 SUBTYPEP.INTEGER.26 SUBTYPEP.INTEGER.27 - SUBTYPEP.INTEGER.28 SUBTYPEP.INTEGER.29 SUBTYPEP.INTEGER.30 - SUBTYPEP.INTEGER.REAL.1 SUBTYPEP.INTEGER.REAL.2 - SUBTYPEP.INTEGER.REAL.3 SUBTYPEP.INTEGER.REAL.4 - SUBTYPEP.INTEGER.REAL.5 SUBTYPEP.INTEGER.REAL.6 - SUBTYPEP.INTEGER.REAL.7 SUBTYPEP.INTEGER.REAL.8 - SUBTYPEP.INTEGER.REAL.9 SUBTYPEP.INTEGER.REAL.10 - SUBTYPEP.INTEGER.REAL.11 SUBTYPEP.INTEGER.RATIONAL.1 - SUBTYPEP.INTEGER.RATIONAL.2 SUBTYPEP.INTEGER.RATIONAL.3 - SUBTYPEP.INTEGER.RATIONAL.4 SUBTYPEP.INTEGER.RATIONAL.5 - SUBTYPEP.INTEGER.RATIONAL.6 SUBTYPEP.INTEGER.RATIONAL.7 - SUBTYPEP.INTEGER.RATIONAL.8 SUBTYPEP.INTEGER.RATIONAL.9 - SUBTYPEP.INTEGER.RATIONAL.10 SUBTYPEP.FLOAT.1 SUBTYPEP.FLOAT.2 - SUBTYPEP.FLOAT.3 SUBTYPEP.FLOAT.4 SUBTYPEP.FLOAT.5 SUBTYPEP.FLOAT.6 - SUBTYPEP.FLOAT.7 SUBTYPEP.FLOAT.8 SUBTYPEP.FLOAT.9 SUBTYPEP.FLOAT.10 - SUBTYPEP.FLOAT.11 SUBTYPEP.FLOAT.12 SUBTYPEP.FLOAT.13 - SUBTYPEP.FLOAT.14 SUBTYPEP.FLOAT.15 SUBTYPEP.FLOAT.16 - SUBTYPEP.FLOAT.17 SUBTYPEP.FLOAT.18 SUBTYPEP.FLOAT.19 - SUBTYPEP.FLOAT.20 SUBTYPEP.FLOAT.21 SUBTYPEP.FLOAT.22 - SUBTYPEP.FLOAT.23 SUBTYPEP.FLOAT.24 SUBTYPEP.FLOAT.25 - SUBTYPEP.FLOAT.26 SUBTYPEP.FLOAT.27 SUBTYPEP.RATIONAL.1 - SUBTYPEP.RATIONAL.2 SUBTYPEP.RATIONAL.3 SUBTYPEP.RATIONAL.4 - SUBTYPEP.RATIONAL.5 SUBTYPEP.RATIONAL.6 SUBTYPEP.RATIONAL.7 - SUBTYPEP.RATIONAL.8 SUBTYPEP.RATIONAL.9 SUBTYPEP.RATIONAL.10 - SUBTYPEP.RATIONAL.11 SUBTYPEP.RATIONAL.12 SUBTYPEP.RATIONAL.13 - SUBTYPEP.RATIONAL.14 SUBTYPEP.RATIONAL.15 SUBTYPEP.RATIONAL.16 - SUBTYPEP.RATIONAL.17 SUBTYPEP.RATIONAL.18 SUBTYPEP.REAL.1 - SUBTYPEP.REAL.2 SUBTYPEP.REAL.3 SUBTYPEP.REAL.4 SUBTYPEP.REAL.5 - SUBTYPEP.REAL.6 SUBTYPEP.REAL.7 SUBTYPEP.REAL.8 SUBTYPEP.REAL.9 - SUBTYPEP.REAL.10 SUBTYPEP.REAL.11 SUBTYPEP.REAL.12 SUBTYPEP.REAL.13 - SUBTYPEP.REAL.14 SUBTYPEP.REAL.15 SUBTYPEP.REAL.16 SUBTYPEP.REAL.17 - SUBTYPEP.REAL.18 SUBTYPEP.REAL.19 SUBTYPEP.REAL.20 SUBTYPEP.REAL.21 - SUBTYPEP.REAL.22 SUBTYPEP.REAL.23 SUBTYPEP.REAL.24 SUBTYPEP.CONS.1 -Test SUBTYPEP.CONS.2 failed -Form: (LOOP - FOR - T1 - IN - '((CONS NIL) (CONS NIL *) (CONS NIL T) (CONS * NIL) - (CONS T NIL) (CONS NIL NIL)) - UNLESS - (SUBTYPEP T1 NIL) - COLLECT - T1) -Expected value: NIL -Actual value: ((CONS NIL) (CONS NIL *) (CONS NIL T) (CONS * NIL) - (CONS T NIL) (CONS NIL NIL)). - SUBTYPEP.CONS.3 SUBTYPEP.CONS.4 SUBTYPEP.CONS.5 SUBTYPEP.CONS.6 - SUBTYPEP.CONS.7 SUBTYPEP.CONS.8 SUBTYPEP.CONS.9 SUBTYPEP.CONS.10 - SUBTYPEP.CONS.11 -Test SUBTYPEP.CONS.12 failed -Form: (CHECK-ALL-NOT-SUBTYPEP - '(CONS (OR INTEGER SYMBOL) (OR INTEGER SYMBOL)) - '(OR (CONS INTEGER SYMBOL) (CONS SYMBOL INTEGER))) -Expected value: NIL -Actual value: (((SUBTYPEP - '(CONS (OR INTEGER SYMBOL) (OR INTEGER SYMBOL)) - '(OR (CONS INTEGER SYMBOL) (CONS SYMBOL INTEGER))) - ==> T T) - ((SUBTYPEP - '(NOT (OR (CONS INTEGER SYMBOL) - (CONS SYMBOL INTEGER))) - '(NOT (CONS (OR INTEGER SYMBOL) - (OR INTEGER SYMBOL)))) - ==> T T)). - SUBTYPEP.CONS.13 SUBTYPEP.CONS.14 SUBTYPEP.CONS.15 SUBTYPEP.CONS.16 - SUBTYPEP.CONS.17 SUBTYPEP.CONS.18 SUBTYPEP.CONS.19 SUBTYPEP.CONS.20 - SUBTYPEP.MEMBER.1 SUBTYPEP.MEMBER.2 SUBTYPEP.MEMBER.3 - SUBTYPEP.MEMBER.4 SUBTYPEP.MEMBER.5 SUBTYPEP.MEMBER.6 - SUBTYPEP.MEMBER.7 SUBTYPEP.MEMBER.8 SUBTYPEP.MEMBER.9 - SUBTYPEP.MEMBER.10 SUBTYPEP.MEMBER.11 SUBTYPEP.MEMBER.12 - SUBTYPEP.MEMBER.13 SUBTYPEP.MEMBER.14 SUBTYPEP.MEMBER.15 - SUBTYPEP.MEMBER.16 -Test SUBTYPEP.MEMBER.17 failed -Form: (LET ((S1 (COPY-SEQ "abc")) (S2 (COPY-SEQ "abc"))) - (LET ((T1 (LIST 'MEMBER S1)) (T2 (LIST 'MEMBER S2))) - (COND - ((SUBTYPEP T1 T2) "T1 is subtype of T2") - ((SUBTYPEP T2 T1) "T2 is subtype of T1") - (T (CHECK-DISJOINTNESS T1 T2))))) -Expected value: NIL -Actual value: "T1 is subtype of T2". -Test SUBTYPEP.MEMBER.18 failed -Form: (LET ((S1 (COPY-SEQ '(A B C))) (S2 (COPY-SEQ '(A B C)))) - (LET ((T1 (LIST 'MEMBER S1)) (T2 (LIST 'MEMBER S2))) - (COND - ((SUBTYPEP T1 T2) "T1 is subtype of T2") - ((SUBTYPEP T2 T1) "T2 is subtype of T1") - (T (CHECK-DISJOINTNESS T1 T2))))) -Expected value: NIL -Actual value: "T1 is subtype of T2". - SUBTYPEP.MEMBER.19 SUBTYPEP.MEMBER.20 SUBTYPEP.MEMBER.21 - SUBTYPEP.MEMBER.22 SUBTYPEP.MEMBER.23 SUBTYPEP.MEMBER.24 - SUBTYPEP.MEMBER.25 SUBTYPEP.MEMBER.26 SUBTYPEP.MEMBER.27 - SUBTYPEP.MEMBER.28 SUBTYPEP.MEMBER.29 SUBTYPEP.MEMBER.30 - SUBTYPEP.MEMBER.31 SUBTYPEP.MEMBER.32 SUBTYPEP.MEMBER.33 - SUBTYPEP.MEMBER.34 SUBTYPEP.MEMBER.35 SUBTYPEP.MEMBER.36 - SUBTYPEP.MEMBER.37 SUBTYPEP.MEMBER.38 SUBTYPEP.MEMBER.39 - SUBTYPEP.MEMBER.40 SUBTYPEP.MEMBER.41 SUBTYPEP.MEMBER.42 - SUBTYPEP.MEMBER.43 SUBTYPEP.MEMBER.44 -Test SUBTYPEP.EQL.1 failed -Form: (LET ((S1 (COPY-SEQ "abc")) (S2 (COPY-SEQ "abc"))) - (LET ((T1 (LIST 'EQL S1)) (T2 (LIST 'EQL S2))) - (COND - ((SUBTYPEP T1 T2) "T1 is subtype of T2") - ((SUBTYPEP T2 T1) "T2 is subtype of T1") - (T (CHECK-DISJOINTNESS T1 T2))))) -Expected value: NIL -Actual value: "T1 is subtype of T2". -Test SUBTYPEP.EQL.2 failed -Form: (LET ((S1 (COPY-SEQ '(A B C))) (S2 (COPY-SEQ '(A B C)))) - (LET ((T1 (LIST 'EQL S1)) (T2 (LIST 'EQL S2))) - (COND - ((SUBTYPEP T1 T2) "T1 is subtype of T2") - ((SUBTYPEP T2 T1) "T2 is subtype of T1") - (T (CHECK-DISJOINTNESS T1 T2))))) -Expected value: NIL -Actual value: "T1 is subtype of T2". - SUBTYPEP.EQL.3 SUBTYPEP.EQL.4 SUBTYPEP.EQL.5 SUBTYPEP.EQL.6 - SUBTYPEP.EQL.7 SUBTYPEP.EQL.8 -Test SUBTYPEP.ARRAY.1 failed -Form: (LET ((ARRAY-TYPES - (CONS (FIND-CLASS 'ARRAY) - '(ARRAY (ARRAY) (ARRAY *) (ARRAY * *))))) - (LOOP - FOR - TP1 - IN - ARRAY-TYPES - APPEND - (LOOP - FOR - TP2 - IN - ARRAY-TYPES - UNLESS - (SUBTYPEP TP1 TP2) - COLLECT - (LIST TP1 TP2)))) -Expected value: NIL -Actual value: ((# ARRAY) - (# (ARRAY)) - (# (ARRAY *)) - (# (ARRAY * *)) - (ARRAY #) - ((ARRAY) - #) - ((ARRAY *) - #) - ((ARRAY * *) - #)). - SUBTYPEP.ARRAY.2 -Test SUBTYPEP.ARRAY.3 failed -Form: (LOOP - FOR - I - FROM - 0 - BELOW - (MIN 16 ARRAY-RANK-LIMIT) - FOR - TYPE - = - (LIST 'ARRAY '* I) - FOR - TYPE2 - = - (LIST 'ARRAY '* (MAKE-LIST I :INITIAL-ELEMENT '*)) - UNLESS - (AND (SUBTYPEP TYPE 'ARRAY) (SUBTYPEP TYPE '(ARRAY)) - (SUBTYPEP TYPE '(ARRAY *)) (SUBTYPEP TYPE '(ARRAY * *)) - (SUBTYPEP TYPE TYPE2)) - COLLECT - TYPE) -Expected value: NIL -Actual value: #. -Test SUBTYPEP.ARRAY.4 failed -Form: (LOOP - FOR - I - FROM - 0 - BELOW - (MIN 16 ARRAY-RANK-LIMIT) - FOR - TYPE - = - (LIST 'ARRAY T I) - FOR - TYPE2 - = - (LIST 'ARRAY T (MAKE-LIST I :INITIAL-ELEMENT '*)) - UNLESS - (AND (SUBTYPEP TYPE '(ARRAY T)) (SUBTYPEP TYPE '(ARRAY T *)) - (SUBTYPEP TYPE TYPE2)) - COLLECT - TYPE) -Expected value: NIL -Actual value: #. -Test SUBTYPEP.ARRAY.5 failed -Form: (LOOP - FOR - ELEMENT-TYPE - IN - (CONS '* *ARRAY-ELEMENT-TYPES*) - NCONC - (LOOP - FOR - I - FROM - 0 - BELOW - (MIN 16 ARRAY-RANK-LIMIT) - FOR - TYPE - = - (LIST 'ARRAY ELEMENT-TYPE I) - FOR - TYPE2 - = - (LIST 'ARRAY ELEMENT-TYPE (MAKE-LIST I :INITIAL-ELEMENT '0)) - FOR - TYPE3 - = - (LIST 'ARRAY ELEMENT-TYPE (MAKE-LIST I :INITIAL-ELEMENT '1)) - UNLESS - (AND (SUBTYPEP TYPE2 TYPE) (SUBTYPEP TYPE3 TYPE) - (LOOP - FOR - J - FROM - 0 - TO - I - ALWAYS - (AND (SUBTYPEP - (LIST 'ARRAY ELEMENT-TYPE - (APPEND (MAKE-LIST J :INITIAL-ELEMENT - '*) - (MAKE-LIST (- I J) - :INITIAL-ELEMENT 2))) - TYPE) - (SUBTYPEP - (LIST 'ARRAY ELEMENT-TYPE - (APPEND (MAKE-LIST J :INITIAL-ELEMENT - 2) - (MAKE-LIST (- I J) - :INITIAL-ELEMENT '*))) - TYPE)))) - COLLECT - TYPE)) -Expected value: NIL -Actual value: #. - SUBTYPEP.ARAY.6 SUBTYPEP.ARAY.7 READTABLE-VALID READTABLEP.1 - READ-SYMBOL.1 READ-SYMBOL.2 READ-SYMBOL.3 READ-SYMBOL.4 READ-SYMBOL.5 - READ-SYMBOL.6 READ-SYMBOL.7 READ-SYMBOL.9 READ-SYMBOL.10 CHAR.1 CHAR.2 - CHAR.3 CHAR.4 CHAR.5 CHAR.6 CHAR.7 CHAR.8 CHAR.9 CHAR.10 CHAR.ORDER.1 - CHAR.ORDER.2 SCHAR.1 SCHAR.2 SCHAR.3 SCHAR.4 SCHAR.5 SCHAR.6 SCHAR.7 - SCHAR.ORDER.1 SCHAR.ORDER.2 STRING.1 STRING.2 STRING.3 STRING.4 - STRING.5 STRING.6 STRING.7 BASE-STRING.1 BASE-STRING.2 BASE-STRING.3 - BASE-STRING.4 SIMPLE-STRING.1 SIMPLE-STRING.2 SIMPLE-STRING.3 - SIMPLE-STRING.4 SIMPLE-STRING.5 SIMPLE-BASE-STRING.1 - SIMPLE-BASE-STRING.2 SIMPLE-BASE-STRING.3 SIMPLE-BASE-STRING.4 - SIMPLE-BASE-STRING.5 SIMPLE-BASE-STRING.6 SIMPLE-BASE-STRING.7 - SIMPLE-BASE-STRING.8 SIMPLE-STRING-P.1 SIMPLE-STRING-P.2 - SIMPLE-STRING-P.3 SIMPLE-STRING-P.4 SIMPLE-STRING-P.5 - SIMPLE-STRING-P.6 SIMPLE-STRING-P.7 STRINGP.1 STRINGP.2 STRINGP.3 - STRINGP.4 STRINGP.5 STRINGP.6 STRINGP.7 STRINGP.8 STRING-UPCASE.1 - STRING-UPCASE.2 STRING-UPCASE.3 STRING-UPCASE.4 STRING-UPCASE.5 - STRING-UPCASE.6 STRING-UPCASE.7 STRING-UPCASE.8 STRING-UPCASE.9 - STRING-UPCASE.10 STRING-UPCASE.ORDER.1 STRING-UPCASE.ORDER.2 - STRING-UPCASE.ERROR.1 STRING-UPCASE.ERROR.2 STRING-UPCASE.ERROR.3 - STRING-UPCASE.ERROR.4 STRING-UPCASE.ERROR.5 STRING-UPCASE.ERROR.6 - STRING-DOWNCASE.1 STRING-DOWNCASE.2 STRING-DOWNCASE.3 - STRING-DOWNCASE.4 STRING-DOWNCASE.5 STRING-DOWNCASE.6 - STRING-DOWNCASE.7 STRING-DOWNCASE.8 STRING-DOWNCASE.9 - STRING-DOWNCASE.10 STRING-DOWNCASE.ORDER.1 STRING-DOWNCASE.ORDER.2 - STRING-DOWNCASE.ERROR.1 STRING-DOWNCASE.ERROR.2 - STRING-DOWNCASE.ERROR.3 STRING-DOWNCASE.ERROR.4 - STRING-DOWNCASE.ERROR.5 STRING-DOWNCASE.ERROR.6 STRING-CAPITALIZE.1 - STRING-CAPITALIZE.2 STRING-CAPITALIZE.3 STRING-CAPITALIZE.4 - STRING-CAPITALIZE.5 STRING-CAPITALIZE.6 STRING-CAPITALIZE.7 - STRING-CAPITALIZE.8 STRING-CAPITALIZE.9 STRING-CAPITALIZE.10 - STRING-CAPITALIZE.ORDER.1 STRING-CAPITALIZE.ORDER.2 - STRING-CAPITALIZE.ERROR.1 STRING-CAPITALIZE.ERROR.2 - STRING-CAPITALIZE.ERROR.3 STRING-CAPITALIZE.ERROR.4 - STRING-CAPITALIZE.ERROR.5 STRING-CAPITALIZE.ERROR.6 NSTRING-UPCASE.1 - NSTRING-UPCASE.2 NSTRING-UPCASE.3 NSTRING-UPCASE.6 NSTRING-UPCASE.7 - NSTRING-UPCASE.8 NSTRING-UPCASE.9 NSTRING-UPCASE.10 - NSTRING-UPCASE.ORDER.1 NSTRING-UPCASE.ORDER.2 NSTRING-UPCASE.ERROR.1 - NSTRING-UPCASE.ERROR.2 NSTRING-UPCASE.ERROR.3 NSTRING-UPCASE.ERROR.4 - NSTRING-UPCASE.ERROR.5 NSTRING-UPCASE.ERROR.6 NSTRING-DOWNCASE.1 - NSTRING-DOWNCASE.2 NSTRING-DOWNCASE.3 NSTRING-DOWNCASE.6 - NSTRING-DOWNCASE.7 NSTRING-DOWNCASE.8 NSTRING-DOWNCASE.9 - NSTRING-DOWNCASE.10 NSTRING-DOWNCASE.ORDER.1 NSTRING-DOWNCASE.ORDER.2 - NSTRING-DOWNCASE.ERROR.1 NSTRING-DOWNCASE.ERROR.2 - NSTRING-DOWNCASE.ERROR.3 NSTRING-DOWNCASE.ERROR.4 - NSTRING-DOWNCASE.ERROR.5 NSTRING-DOWNCASE.ERROR.6 NSTRING-CAPITALIZE.1 - NSTRING-CAPITALIZE.2 NSTRING-CAPITALIZE.3 NSTRING-CAPITALIZE.4 - NSTRING-CAPITALIZE.7 NSTRING-CAPITALIZE.8 NSTRING-CAPITALIZE.9 - NSTRING-CAPITALIZE.10 NSTRING-CAPITALIZE.ORDER.1 - NSTRING-CAPITALIZE.ORDER.2 NSTRING-CAPITALIZE.ERROR.1 - NSTRING-CAPITALIZE.ERROR.2 NSTRING-CAPITALIZE.ERROR.3 - NSTRING-CAPITALIZE.ERROR.4 NSTRING-CAPITALIZE.ERROR.5 - NSTRING-CAPITALIZE.ERROR.6 STRING-TRIM.1 STRING-TRIM.2 STRING-TRIM.3 - STRING-TRIM.4 STRING-TRIM.5 STRING-TRIM.6 STRING-TRIM.7 STRING-TRIM.8 - STRING-TRIM.9 STRING-TRIM.10 STRING-TRIM.11 STRING-TRIM.12 - STRING-TRIM.13 STRING-TRIM.14 STRING-TRIM.15 STRING-TRIM.16 - STRING-TRIM.17 STRING-TRIM.18 STRING-TRIM.19 STRING-TRIM.ORDER.1 - STRING-TRIM.ERROR.1 STRING-TRIM.ERROR.2 STRING-TRIM.ERROR.3 - STRING-LEFT-TRIM.1 STRING-LEFT-TRIM.2 STRING-LEFT-TRIM.3 - STRING-LEFT-TRIM.4 STRING-LEFT-TRIM.5 STRING-LEFT-TRIM.6 - STRING-LEFT-TRIM.7 STRING-LEFT-TRIM.8 STRING-LEFT-TRIM.9 - STRING-LEFT-TRIM.10 STRING-LEFT-TRIM.11 STRING-LEFT-TRIM.12 - STRING-LEFT-TRIM.13 STRING-LEFT-TRIM.14 STRING-LEFT-TRIM.15 - STRING-LEFT-TRIM.16 STRING-LEFT-TRIM.17 STRING-LEFT-TRIM.18 - STRING-LEFT-TRIM.19 STRING-LEFT-TRIM.ORDER.1 STRING-LEFT-TRIM.ERROR.1 - STRING-LEFT-TRIM.ERROR.2 STRING-LEFT-TRIM.ERROR.3 STRING-RIGHT-TRIM.1 - STRING-RIGHT-TRIM.2 STRING-RIGHT-TRIM.3 STRING-RIGHT-TRIM.4 - STRING-RIGHT-TRIM.5 STRING-RIGHT-TRIM.6 STRING-RIGHT-TRIM.7 - STRING-RIGHT-TRIM.8 STRING-RIGHT-TRIM.9 STRING-RIGHT-TRIM.10 - STRING-RIGHT-TRIM.11 STRING-RIGHT-TRIM.12 STRING-RIGHT-TRIM.13 - STRING-RIGHT-TRIM.14 STRING-RIGHT-TRIM.15 STRING-RIGHT-TRIM.16 - STRING-RIGHT-TRIM.17 STRING-RIGHT-TRIM.18 STRING-RIGHT-TRIM.19 - STRING-RIGHT-TRIM.ORDER.1 STRING-RIGHT-TRIM.ERROR.1 - STRING-RIGHT-TRIM.ERROR.2 STRING-RIGHT-TRIM.ERROR.3 STRING=.1 - STRING=.2 STRING=.3 STRING=.4 STRING=.5 STRING=.6 STRING=.7 STRING=.8 - STRING=.9 STRING=.10 STRING=.11 STRING=.12 STRING=.13 STRING=.14 - STRING=.ORDER.1 STRING=.ORDER.2 STRING=.ORDER.3 STRING<=.ORDER.1 - STRING<=.ORDER.2 STRING<=.ORDER.3 STRING<.ORDER.1 STRING<.ORDER.2 - STRING<.ORDER.3 STRING/=.ORDER.1 STRING/=.ORDER.2 STRING/=.ORDER.3 - STRING>=.ORDER.1 STRING>=.ORDER.2 STRING>=.ORDER.3 STRING>.ORDER.1 - STRING>.ORDER.2 STRING>.ORDER.3 STRING-EQUAL.ORDER.1 - STRING-EQUAL.ORDER.2 STRING-EQUAL.ORDER.3 STRING-NOT-GREATERP.ORDER.1 - STRING-NOT-GREATERP.ORDER.2 STRING-NOT-GREATERP.ORDER.3 - STRING-LESSP.ORDER.1 STRING-LESSP.ORDER.2 STRING-LESSP.ORDER.3 - STRING-NOT-EQUAL.ORDER.1 STRING-NOT-EQUAL.ORDER.2 - STRING-NOT-EQUAL.ORDER.3 STRING-NOT-LESSP.ORDER.1 - STRING-NOT-LESSP.ORDER.2 STRING-NOT-LESSP.ORDER.3 - STRING-GREATERP.ORDER.1 STRING-GREATERP.ORDER.2 - STRING-GREATERP.ORDER.3 RANDOM-DELETE-DUPLICATES REMOVE-DUPLICATES.1 + TYPES.7B + DELETE-IF-RANDOM DELETE-IF-NOT-RANDOM REMOVE-IF-LIST.1 + REMOVE-IF-LIST.2 REMOVE-IF-NOT-LIST.1 REMOVE-IF-NOT-LIST.2 + DELETE-IF-LIST.1 DELETE-IF-LIST.2 DELETE-IF-NOT-LIST.1 + DELETE-IF-NOT-LIST.2 DELETE-LIST.1 DELETE-LIST.2 + REMOVE.ALLOW-OTHER-KEYS.1 REMOVE.ALLOW-OTHER-KEYS.2 + REMOVE.ALLOW-OTHER-KEYS.3 REMOVE.ALLOW-OTHER-KEYS.4 + REMOVE.ALLOW-OTHER-KEYS.5 REMOVE.ALLOW-OTHER-KEYS.6 REMOVE.KEYWORDS.7 + DELETE.ALLOW-OTHER-KEYS.1 DELETE.ALLOW-OTHER-KEYS.2 + DELETE.ALLOW-OTHER-KEYS.3 DELETE.ALLOW-OTHER-KEYS.4 + DELETE.ALLOW-OTHER-KEYS.5 DELETE.ALLOW-OTHER-KEYS.6 DELETE.KEYWORDS.7 + REMOVE.ERROR.1 REMOVE.ERROR.2 REMOVE.ERROR.3 REMOVE.ERROR.4 + REMOVE.ERROR.5 REMOVE.ERROR.6 REMOVE.ERROR.7 REMOVE.ERROR.8 + REMOVE.ERROR.9 REMOVE.ERROR.10 DELETE.ERROR.1 DELETE.ERROR.2 + DELETE.ERROR.3 DELETE.ERROR.4 DELETE.ERROR.5 DELETE.ERROR.6 + DELETE.ERROR.7 DELETE.ERROR.8 DELETE.ERROR.9 DELETE.ERROR.10 + RANDOM-REMOVE-DUPLICATES RANDOM-DELETE-DUPLICATES REMOVE-DUPLICATES.1 DELETE-DUPLICATES.1 REMOVE-DUPLICATES.ORDER.1 REMOVE-DUPLICATES.ORDER.2 REMOVE-DUPLICATES.ALLOW-OTHER-KEYS.1 REMOVE-DUPLICATES.ALLOW-OTHER-KEYS.2 @@ -28848,17 +27228,17 @@ '(NOT SYMBOL)) ==> NIL T) ((SUBTYPEP 'CONTROL-ERROR - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'CONTROL-ERROR) ==> NIL T) ((SUBTYPEP '(NOT CONTROL-ERROR) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT CONTROL-ERROR)) ==> NIL T) ((SUBTYPEP 'CLASS @@ -28980,17 +27360,17 @@ '(NOT FLOATING-POINT-UNDERFLOW)) ==> NIL T) ((SUBTYPEP 'FLOATING-POINT-OVERFLOW - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'FLOATING-POINT-OVERFLOW) ==> NIL T) ((SUBTYPEP '(NOT FLOATING-POINT-OVERFLOW) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT FLOATING-POINT-OVERFLOW)) ==> NIL T) ((SUBTYPEP 'RATIONAL @@ -29076,16 +27456,16 @@ '(NOT UNBOUND-SLOT)) ==> NIL T) ((SUBTYPEP 'ERROR - #) + #) ==> NIL T) ((SUBTYPEP - # 'ERROR) + # 'ERROR) ==> NIL T) ((SUBTYPEP '(NOT ERROR) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT ERROR)) ==> NIL T) ((SUBTYPEP 'STANDARD-GENERIC-FUNCTION @@ -29116,17 +27496,17 @@ '(NOT CHARACTER)) ==> NIL T) ((SUBTYPEP 'DIVISION-BY-ZERO - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'DIVISION-BY-ZERO) ==> NIL T) ((SUBTYPEP '(NOT DIVISION-BY-ZERO) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT DIVISION-BY-ZERO)) ==> NIL T) ((SUBTYPEP 'SEQUENCE @@ -29143,17 +27523,17 @@ '(NOT SEQUENCE)) ==> NIL T) ((SUBTYPEP 'PRINT-NOT-READABLE - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'PRINT-NOT-READABLE) ==> NIL T) ((SUBTYPEP '(NOT PRINT-NOT-READABLE) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT PRINT-NOT-READABLE)) ==> NIL T) ((SUBTYPEP 'UNDEFINED-FUNCTION @@ -29224,17 +27604,17 @@ '(NOT BIT-VECTOR)) ==> NIL T) ((SUBTYPEP 'STYLE-WARNING - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'STYLE-WARNING) ==> NIL T) ((SUBTYPEP '(NOT STYLE-WARNING) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT STYLE-WARNING)) ==> NIL T) ((SUBTYPEP 'SIMPLE-TYPE-ERROR @@ -29278,29 +27658,29 @@ '(NOT FILE-ERROR)) ==> NIL T) ((SUBTYPEP 'RESTART - #) + #) ==> NIL T) ((SUBTYPEP - # 'RESTART) + # 'RESTART) ==> NIL T) ((SUBTYPEP '(NOT RESTART) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT RESTART)) ==> NIL T) ((SUBTYPEP 'TYPE-ERROR - #) + #) ==> NIL T) ((SUBTYPEP - # 'TYPE-ERROR) + # 'TYPE-ERROR) ==> NIL T) ((SUBTYPEP '(NOT TYPE-ERROR) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT TYPE-ERROR)) ==> NIL T) ((SUBTYPEP 'LIST @@ -29362,17 +27742,17 @@ '(NOT #) '(NOT CONS)) ==> NIL T) ((SUBTYPEP 'SIMPLE-CONDITION - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'SIMPLE-CONDITION) ==> NIL T) ((SUBTYPEP '(NOT SIMPLE-CONDITION) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT SIMPLE-CONDITION)) ==> NIL T) ((SUBTYPEP 'SIMPLE-WARNING @@ -29404,58 +27784,58 @@ '(NOT PACKAGE-ERROR)) ==> NIL T) ((SUBTYPEP 'PARSE-ERROR - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'PARSE-ERROR) ==> NIL T) ((SUBTYPEP '(NOT PARSE-ERROR) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT PARSE-ERROR)) ==> NIL T) ((SUBTYPEP 'WARNING - #) + #) ==> NIL T) ((SUBTYPEP - # 'WARNING) + # 'WARNING) ==> NIL T) ((SUBTYPEP '(NOT WARNING) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT WARNING)) ==> NIL T) ((SUBTYPEP 'STORAGE-CONDITION - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'STORAGE-CONDITION) ==> NIL T) ((SUBTYPEP '(NOT STORAGE-CONDITION) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT STORAGE-CONDITION)) ==> NIL T) ((SUBTYPEP 'FLOATING-POINT-INVALID-OPERATION - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'FLOATING-POINT-INVALID-OPERATION) ==> NIL T) ((SUBTYPEP '(NOT FLOATING-POINT-INVALID-OPERATION) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT FLOATING-POINT-INVALID-OPERATION)) ==> NIL T) ((SUBTYPEP 'PROGRAM-ERROR @@ -29528,17 +27908,17 @@ '(NOT STREAM-ERROR)) ==> NIL T) ((SUBTYPEP 'SERIOUS-CONDITION - #) + #) ==> NIL T) ((SUBTYPEP - # + # 'SERIOUS-CONDITION) ==> NIL T) ((SUBTYPEP '(NOT SERIOUS-CONDITION) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT SERIOUS-CONDITION)) ==> NIL T) ((SUBTYPEP 'READER-ERROR @@ -29581,16 +27961,16 @@ '(NOT VECTOR)) ==> NIL T) ((SUBTYPEP 'CONDITION - #) + #) ==> NIL T) ((SUBTYPEP - # 'CONDITION) + # 'CONDITION) ==> NIL T) ((SUBTYPEP '(NOT CONDITION) - '(NOT #)) + '(NOT #)) ==> NIL T) ((SUBTYPEP - '(NOT #) + '(NOT #) '(NOT CONDITION)) ==> NIL T) ((SUBTYPEP 'UNBOUND-VARIABLE @@ -30311,22 +28691,1663 @@ FILE-WRITE-DATE.3 FILE-WRITE-DATE.4 FILE-WRITE-DATE.5 FILE-WRITE-DATE.6 FILE-WRITE-DATE.ERROR.1 FILE-WRITE-DATE.ERROR.2 FILE-WRITE-DATE.ERROR.3 FILE-WRITE-DATE.ERROR.4 RENAME-FILE.1 - RENAME-FILE.2 RENAME-FILE.3 RENAME-FILE.4 RENAME-FILE.5 RENAME-FILE.6 - RENAME-FILE.7 RENAME-FILE.ERROR.1 DELETE-FILE.1 DELETE-FILE.2 - DELETE-FILE.3 DELETE-FILE.4 DELETE-FILE.5 DELETE-FILE.ERROR.1 - DELETE-FILE.ERROR.2 FILE-ERROR.1 FILE-ERROR-PATHNAME.1 - FILE-ERROR-PATHNAME.2 FILE-ERROR-PATHNAME.3 FILE-ERROR-PATHNAME.4 - FILE-ERROR-PATHNAME.5 FILE-ERROR-PATHNAME.6 - FILE-ERROR-PATHNAME.ERROR.1 FILE-ERROR-PATHNAME.ERROR.2 - INPUT-STREAM-P.1 INPUT-STREAM-P.2 INPUT-STREAM-P.3 INPUT-STREAM-P.4 - INPUT-STREAM-P.ERROR.1 INPUT-STREAM-P.ERROR.2 INPUT-STREAM-P.ERROR.3 - OUTPUT-STREAM-P.1 OUTPUT-STREAM-P.2 OUTPUT-STREAM-P.3 - OUTPUT-STREAM-P.4 OUTPUT-STREAM-P.ERROR.1 OUTPUT-STREAM-P.ERROR.2 - OUTPUT-STREAM-P.ERROR.3 INTERACTIVE-STREAM-P.1 - INTERACTIVE-STREAM-P.ERROR.1 INTERACTIVE-STREAM-P.ERROR.2 - INTERACTIVE-STREAM-P.ERROR.3 OPEN-STREAM-P.1 OPEN-STREAM-P.2 - OPEN-STREAM-P.3 OPEN-STREAM-P.4 OPEN-STREAM-P.5 OPEN-STREAM-P.ERROR.1 - OPEN-STREAM-P.ERROR.2 OPEN-STREAM-P.ERROR.3 STREAM-ELEMENT-TYPE.1 RANDOM-STRING-COMPARISON-TESTS MAKE-STRING.1 + RENAME-FILE.2 RENAME-FILE.3 RENAME-FILE.4 TYPES.7C +Should be atomic, but isn't: CONDITION +Test TYPES.8 failed +Form: (LOOP + FOR + TP + IN + *DISJOINT-TYPES-LIST* + COUNT + (COND + ((AND (NOT (EQT TP 'CONS)) (NOT (SUBTYPEP* TP 'ATOM))) + (FORMAT T "~%Should be atomic, but isn't: ~S" TP) T))) +Expected value: 0 +Actual value: 1. + TYPES.9Found element of FUNCTION not in ATOM: (SYSTEM:LAMBDA-CLOSURE + () () () (X) + X) +Found element of ARRAY not in SIMPLE-ARRAY: #0ANIL +Found element of ARRAY not in SIMPLE-ARRAY: #(NIL NIL) +Found element of ARRAY not in SIMPLE-ARRAY: #2A((NIL NIL) (NIL NIL)) +Found element of ARRAY not in SIMPLE-ARRAY: #3A(((NIL NIL) (NIL NIL)) + ((NIL NIL) (NIL NIL))) +Found element of ARRAY not in SIMPLE-ARRAY: #4A((((NIL NIL) (NIL NIL)) + ((NIL NIL) (NIL NIL))) + (((NIL NIL) (NIL NIL)) + ((NIL NIL) (NIL NIL)))) +Found element of ARRAY not in SIMPLE-ARRAY: #5A(((((NIL NIL) (NIL NIL)) + ((NIL NIL) (NIL NIL))) + (((NIL NIL) (NIL NIL)) + ((NIL NIL) (NIL NIL)))) + ((((NIL NIL) (NIL NIL)) + ((NIL NIL) (NIL NIL))) + (((NIL NIL) (NIL NIL)) + ((NIL NIL) (NIL NIL))))) +Found element of ARRAY not in SIMPLE-ARRAY: #6A((((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))) + ((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))))) + (((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))) + ((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))))) +Found element of ARRAY not in SIMPLE-ARRAY: #7A(((((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))) + ((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))))) + (((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))) + ((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))))) + ((((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))) + ((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))))) + (((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))) + ((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))))))) +Found element of ARRAY not in SIMPLE-ARRAY: #8A((((((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))) + ((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))))) + (((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))) + ((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))))) + ((((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))) + ((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))))) + (((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))) + ((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))))))) + (((((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))) + ((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))))) + (((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))) + ((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))))) + ((((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))) + ((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))))) + (((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))) + ((((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL))) + (((NIL NIL) + (NIL NIL)) + ((NIL NIL) + (NIL NIL)))))))) +Found element of VECTOR not in SIMPLE-ARRAY: #(NIL NIL) +Test TYPES.9A failed +Form: (TYPES.9A-BODY) +Expected value: 0 +Actual value: 11. +Test ALL-CLASSES-ARE-TYPE-EQUIVALENT-TO-THEIR-NAMES failed +Form: (LOOP + FOR + SYM + BEING + THE + EXTERNAL-SYMBOLS + OF + "COMMON-LISP" + FOR + CLASS + = + (FIND-CLASS SYM NIL) + WHEN + CLASS + APPEND + (CHECK-EQUIVALENCE SYM CLASS)) +Expected value: NIL +Actual value: (((SUBTYPEP 'STRUCTURE-OBJECT + #) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT STRUCTURE-OBJECT)) + ==> NIL T) + ((SUBTYPEP 'ARITHMETIC-ERROR + #) + ==> NIL T) + ((SUBTYPEP + # + 'ARITHMETIC-ERROR) + ==> NIL T) + ((SUBTYPEP '(NOT ARITHMETIC-ERROR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT ARITHMETIC-ERROR)) + ==> NIL T) + ((SUBTYPEP 'SYMBOL + #) + ==> NIL T) + ((SUBTYPEP + # 'SYMBOL) + ==> NIL T) + ((SUBTYPEP '(NOT SYMBOL) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT SYMBOL)) + ==> NIL T) + ((SUBTYPEP 'CONTROL-ERROR + #) + ==> NIL T) + ((SUBTYPEP + # + 'CONTROL-ERROR) + ==> NIL T) + ((SUBTYPEP '(NOT CONTROL-ERROR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT CONTROL-ERROR)) + ==> NIL T) + ((SUBTYPEP 'CLASS + #) + ==> NIL T) + ((SUBTYPEP + # 'CLASS) + ==> NIL T) + ((SUBTYPEP '(NOT CLASS) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT CLASS)) + ==> NIL T) + ((SUBTYPEP 'SIMPLE-ERROR + #) + ==> NIL T) + ((SUBTYPEP + # + 'SIMPLE-ERROR) + ==> NIL T) + ((SUBTYPEP '(NOT SIMPLE-ERROR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT SIMPLE-ERROR)) + ==> NIL T) + ((SUBTYPEP T + #) + ==> NIL T) + ((SUBTYPEP + # T) + ==> NIL T) + ((SUBTYPEP '(NOT T) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) '(NOT T)) + ==> NIL T) + ((SUBTYPEP 'COMPLEX + #) + ==> NIL T) + ((SUBTYPEP + # 'COMPLEX) + ==> NIL T) + ((SUBTYPEP '(NOT COMPLEX) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT COMPLEX)) + ==> NIL T) + ((SUBTYPEP 'ARRAY + #) + ==> NIL T) + ((SUBTYPEP + # 'ARRAY) + ==> NIL T) + ((SUBTYPEP '(NOT ARRAY) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT ARRAY)) + ==> NIL T) + ((SUBTYPEP 'FLOATING-POINT-INEXACT + #) + ==> NIL T) + ((SUBTYPEP + # + 'FLOATING-POINT-INEXACT) + ==> NIL T) + ((SUBTYPEP '(NOT FLOATING-POINT-INEXACT) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT FLOATING-POINT-INEXACT)) + ==> NIL T) + ((SUBTYPEP 'NUMBER + #) + ==> NIL T) + ((SUBTYPEP + # 'NUMBER) + ==> NIL T) + ((SUBTYPEP '(NOT NUMBER) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT NUMBER)) + ==> NIL T) + ((SUBTYPEP 'NULL + #) + ==> NIL T) + ((SUBTYPEP + # 'NULL) + ==> NIL T) + ((SUBTYPEP '(NOT NULL) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) '(NOT NULL)) + ==> NIL T) + ((SUBTYPEP 'FLOATING-POINT-UNDERFLOW + #) + ==> NIL T) + ((SUBTYPEP + # + 'FLOATING-POINT-UNDERFLOW) + ==> NIL T) + ((SUBTYPEP '(NOT FLOATING-POINT-UNDERFLOW) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT FLOATING-POINT-UNDERFLOW)) + ==> NIL T) + ((SUBTYPEP 'FLOATING-POINT-OVERFLOW + #) + ==> NIL T) + ((SUBTYPEP + # + 'FLOATING-POINT-OVERFLOW) + ==> NIL T) + ((SUBTYPEP '(NOT FLOATING-POINT-OVERFLOW) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT FLOATING-POINT-OVERFLOW)) + ==> NIL T) + ((SUBTYPEP 'RATIONAL + #) + ==> NIL T) + ((SUBTYPEP + # 'RATIONAL) + ==> NIL T) + ((SUBTYPEP '(NOT RATIONAL) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT RATIONAL)) + ==> NIL T) + ((SUBTYPEP 'RATIO + #) + ==> NIL T) + ((SUBTYPEP + # 'RATIO) + ==> NIL T) + ((SUBTYPEP '(NOT RATIO) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT RATIO)) + ==> NIL T) + ((SUBTYPEP 'STANDARD-METHOD + #) + ==> NIL T) + ((SUBTYPEP + # + 'STANDARD-METHOD) + ==> NIL T) + ((SUBTYPEP '(NOT STANDARD-METHOD) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT STANDARD-METHOD)) + ==> NIL T) + ((SUBTYPEP 'STRUCTURE-CLASS + #) + ==> NIL T) + ((SUBTYPEP + # + 'STRUCTURE-CLASS) + ==> NIL T) + ((SUBTYPEP '(NOT STRUCTURE-CLASS) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT STRUCTURE-CLASS)) + ==> NIL T) + ((SUBTYPEP 'BUILT-IN-CLASS + #) + ==> NIL T) + ((SUBTYPEP + # + 'BUILT-IN-CLASS) + ==> NIL T) + ((SUBTYPEP '(NOT BUILT-IN-CLASS) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT BUILT-IN-CLASS)) + ==> NIL T) + ((SUBTYPEP 'UNBOUND-SLOT + #) + ==> NIL T) + ((SUBTYPEP + # + 'UNBOUND-SLOT) + ==> NIL T) + ((SUBTYPEP '(NOT UNBOUND-SLOT) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT UNBOUND-SLOT)) + ==> NIL T) + ((SUBTYPEP 'ERROR + #) + ==> NIL T) + ((SUBTYPEP + # 'ERROR) + ==> NIL T) + ((SUBTYPEP '(NOT ERROR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT ERROR)) + ==> NIL T) + ((SUBTYPEP 'STANDARD-GENERIC-FUNCTION + #) + ==> NIL T) + ((SUBTYPEP + # + 'STANDARD-GENERIC-FUNCTION) + ==> NIL T) + ((SUBTYPEP '(NOT STANDARD-GENERIC-FUNCTION) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT STANDARD-GENERIC-FUNCTION)) + ==> NIL T) + ((SUBTYPEP 'CHARACTER + #) + ==> NIL T) + ((SUBTYPEP + # 'CHARACTER) + ==> NIL T) + ((SUBTYPEP '(NOT CHARACTER) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT CHARACTER)) + ==> NIL T) + ((SUBTYPEP 'DIVISION-BY-ZERO + #) + ==> NIL T) + ((SUBTYPEP + # + 'DIVISION-BY-ZERO) + ==> NIL T) + ((SUBTYPEP '(NOT DIVISION-BY-ZERO) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT DIVISION-BY-ZERO)) + ==> NIL T) + ((SUBTYPEP 'SEQUENCE + #) + ==> NIL T) + ((SUBTYPEP + # 'SEQUENCE) + ==> NIL T) + ((SUBTYPEP '(NOT SEQUENCE) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT SEQUENCE)) + ==> NIL T) + ((SUBTYPEP 'PRINT-NOT-READABLE + #) + ==> NIL T) + ((SUBTYPEP + # + 'PRINT-NOT-READABLE) + ==> NIL T) + ((SUBTYPEP '(NOT PRINT-NOT-READABLE) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT PRINT-NOT-READABLE)) + ==> NIL T) + ((SUBTYPEP 'UNDEFINED-FUNCTION + #) + ==> NIL T) + ((SUBTYPEP + # + 'UNDEFINED-FUNCTION) + ==> NIL T) + ((SUBTYPEP '(NOT UNDEFINED-FUNCTION) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT UNDEFINED-FUNCTION)) + ==> NIL T) + ((SUBTYPEP 'END-OF-FILE + #) + ==> NIL T) + ((SUBTYPEP + # + 'END-OF-FILE) + ==> NIL T) + ((SUBTYPEP '(NOT END-OF-FILE) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT END-OF-FILE)) + ==> NIL T) + ((SUBTYPEP 'INTEGER + #) + ==> NIL T) + ((SUBTYPEP + # 'INTEGER) + ==> NIL T) + ((SUBTYPEP '(NOT INTEGER) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT INTEGER)) + ==> NIL T) + ((SUBTYPEP 'FLOAT + #) + ==> NIL T) + ((SUBTYPEP + # 'FLOAT) + ==> NIL T) + ((SUBTYPEP '(NOT FLOAT) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT FLOAT)) + ==> NIL T) + ((SUBTYPEP 'BIT-VECTOR + #) + ==> NIL T) + ((SUBTYPEP + # 'BIT-VECTOR) + ==> NIL T) + ((SUBTYPEP '(NOT BIT-VECTOR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT BIT-VECTOR)) + ==> NIL T) + ((SUBTYPEP 'STYLE-WARNING + #) + ==> NIL T) + ((SUBTYPEP + # + 'STYLE-WARNING) + ==> NIL T) + ((SUBTYPEP '(NOT STYLE-WARNING) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT STYLE-WARNING)) + ==> NIL T) + ((SUBTYPEP 'SIMPLE-TYPE-ERROR + #) + ==> NIL T) + ((SUBTYPEP + # + 'SIMPLE-TYPE-ERROR) + ==> NIL T) + ((SUBTYPEP '(NOT SIMPLE-TYPE-ERROR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT SIMPLE-TYPE-ERROR)) + ==> NIL T) + ((SUBTYPEP 'CELL-ERROR + #) + ==> NIL T) + ((SUBTYPEP + # 'CELL-ERROR) + ==> NIL T) + ((SUBTYPEP '(NOT CELL-ERROR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT CELL-ERROR)) + ==> NIL T) + ((SUBTYPEP 'FILE-ERROR + #) + ==> NIL T) + ((SUBTYPEP + # 'FILE-ERROR) + ==> NIL T) + ((SUBTYPEP '(NOT FILE-ERROR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT FILE-ERROR)) + ==> NIL T) + ((SUBTYPEP 'RESTART + #) + ==> NIL T) + ((SUBTYPEP + # 'RESTART) + ==> NIL T) + ((SUBTYPEP '(NOT RESTART) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT RESTART)) + ==> NIL T) + ((SUBTYPEP 'TYPE-ERROR + #) + ==> NIL T) + ((SUBTYPEP + # 'TYPE-ERROR) + ==> NIL T) + ((SUBTYPEP '(NOT TYPE-ERROR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT TYPE-ERROR)) + ==> NIL T) + ((SUBTYPEP 'LIST + #) + ==> NIL T) + ((SUBTYPEP + # 'LIST) + ==> NIL T) + ((SUBTYPEP '(NOT LIST) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) '(NOT LIST)) + ==> NIL T) + ((SUBTYPEP 'STANDARD-OBJECT + #) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT STANDARD-OBJECT)) + ==> NIL T) + ((SUBTYPEP 'STRING + #) + ==> NIL T) + ((SUBTYPEP + # 'STRING) + ==> NIL T) + ((SUBTYPEP '(NOT STRING) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT STRING)) + ==> NIL T) + ((SUBTYPEP 'METHOD-COMBINATION + #) + ==> NIL T) + ((SUBTYPEP + # + 'METHOD-COMBINATION) + ==> NIL T) + ((SUBTYPEP '(NOT METHOD-COMBINATION) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT METHOD-COMBINATION)) + ==> NIL T) + ((SUBTYPEP 'CONS + #) + ==> NIL T) + ((SUBTYPEP + # 'CONS) + ==> NIL T) + ((SUBTYPEP '(NOT CONS) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) '(NOT CONS)) + ==> NIL T) + ((SUBTYPEP 'SIMPLE-CONDITION + #) + ==> NIL T) + ((SUBTYPEP + # + 'SIMPLE-CONDITION) + ==> NIL T) + ((SUBTYPEP '(NOT SIMPLE-CONDITION) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT SIMPLE-CONDITION)) + ==> NIL T) + ((SUBTYPEP 'SIMPLE-WARNING + #) + ==> NIL T) + ((SUBTYPEP + # + 'SIMPLE-WARNING) + ==> NIL T) + ((SUBTYPEP '(NOT SIMPLE-WARNING) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT SIMPLE-WARNING)) + ==> NIL T) + ((SUBTYPEP 'PACKAGE-ERROR + #) + ==> NIL T) + ((SUBTYPEP + # + 'PACKAGE-ERROR) + ==> NIL T) + ((SUBTYPEP '(NOT PACKAGE-ERROR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT PACKAGE-ERROR)) + ==> NIL T) + ((SUBTYPEP 'PARSE-ERROR + #) + ==> NIL T) + ((SUBTYPEP + # + 'PARSE-ERROR) + ==> NIL T) + ((SUBTYPEP '(NOT PARSE-ERROR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT PARSE-ERROR)) + ==> NIL T) + ((SUBTYPEP 'WARNING + #) + ==> NIL T) + ((SUBTYPEP + # 'WARNING) + ==> NIL T) + ((SUBTYPEP '(NOT WARNING) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT WARNING)) + ==> NIL T) + ((SUBTYPEP 'STORAGE-CONDITION + #) + ==> NIL T) + ((SUBTYPEP + # + 'STORAGE-CONDITION) + ==> NIL T) + ((SUBTYPEP '(NOT STORAGE-CONDITION) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT STORAGE-CONDITION)) + ==> NIL T) + ((SUBTYPEP 'FLOATING-POINT-INVALID-OPERATION + #) + ==> NIL T) + ((SUBTYPEP + # + 'FLOATING-POINT-INVALID-OPERATION) + ==> NIL T) + ((SUBTYPEP '(NOT FLOATING-POINT-INVALID-OPERATION) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT FLOATING-POINT-INVALID-OPERATION)) + ==> NIL T) + ((SUBTYPEP 'PROGRAM-ERROR + #) + ==> NIL T) + ((SUBTYPEP + # + 'PROGRAM-ERROR) + ==> NIL T) + ((SUBTYPEP '(NOT PROGRAM-ERROR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT PROGRAM-ERROR)) + ==> NIL T) + ((SUBTYPEP 'METHOD + #) + ==> NIL T) + ((SUBTYPEP + # 'METHOD) + ==> NIL T) + ((SUBTYPEP '(NOT METHOD) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT METHOD)) + ==> NIL T) + ((SUBTYPEP 'STANDARD-CLASS + #) + ==> NIL T) + ((SUBTYPEP + # + 'STANDARD-CLASS) + ==> NIL T) + ((SUBTYPEP '(NOT STANDARD-CLASS) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT STANDARD-CLASS)) + ==> NIL T) + ((SUBTYPEP 'GENERIC-FUNCTION + #) + ==> NIL T) + ((SUBTYPEP + # + 'GENERIC-FUNCTION) + ==> NIL T) + ((SUBTYPEP '(NOT GENERIC-FUNCTION) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT GENERIC-FUNCTION)) + ==> NIL T) + ((SUBTYPEP 'STREAM-ERROR + #) + ==> NIL T) + ((SUBTYPEP + # + 'STREAM-ERROR) + ==> NIL T) + ((SUBTYPEP '(NOT STREAM-ERROR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT STREAM-ERROR)) + ==> NIL T) + ((SUBTYPEP 'SERIOUS-CONDITION + #) + ==> NIL T) + ((SUBTYPEP + # + 'SERIOUS-CONDITION) + ==> NIL T) + ((SUBTYPEP '(NOT SERIOUS-CONDITION) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT SERIOUS-CONDITION)) + ==> NIL T) + ((SUBTYPEP 'READER-ERROR + #) + ==> NIL T) + ((SUBTYPEP + # + 'READER-ERROR) + ==> NIL T) + ((SUBTYPEP '(NOT READER-ERROR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT READER-ERROR)) + ==> NIL T) + ((SUBTYPEP 'REAL + #) + ==> NIL T) + ((SUBTYPEP + # 'REAL) + ==> NIL T) + ((SUBTYPEP '(NOT REAL) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) '(NOT REAL)) + ==> NIL T) + ((SUBTYPEP 'VECTOR + #) + ==> NIL T) + ((SUBTYPEP + # 'VECTOR) + ==> NIL T) + ((SUBTYPEP '(NOT VECTOR) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT VECTOR)) + ==> NIL T) + ((SUBTYPEP 'CONDITION + #) + ==> NIL T) + ((SUBTYPEP + # 'CONDITION) + ==> NIL T) + ((SUBTYPEP '(NOT CONDITION) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT CONDITION)) + ==> NIL T) + ((SUBTYPEP 'UNBOUND-VARIABLE + #) + ==> NIL T) + ((SUBTYPEP + # + 'UNBOUND-VARIABLE) + ==> NIL T) + ((SUBTYPEP '(NOT UNBOUND-VARIABLE) + '(NOT #)) + ==> NIL T) + ((SUBTYPEP + '(NOT #) + '(NOT UNBOUND-VARIABLE)) + ==> NIL T)). +Test ALL-STANDARD-CLASSES-ARE-SUBTYPES-OF-STANDARD-OBJECT failed +Form: (LOOP + FOR + SYM + BEING + THE + EXTERNAL-SYMBOLS + OF + "COMMON-LISP" + FOR + CLASS + = + (FIND-CLASS SYM NIL) + WHEN + (AND CLASS (TYPEP CLASS 'STANDARD-CLASS) + (OR (NOT (SUBTYPEP SYM 'STANDARD-OBJECT)) + (NOT (SUBTYPEP CLASS 'STANDARD-OBJECT)))) + COLLECT + SYM) +Expected value: NIL +Actual value: (ARITHMETIC-ERROR CONTROL-ERROR CLASS SIMPLE-ERROR + FLOATING-POINT-INEXACT FLOATING-POINT-UNDERFLOW + FLOATING-POINT-OVERFLOW STANDARD-METHOD + STRUCTURE-CLASS BUILT-IN-CLASS UNBOUND-SLOT ERROR + DIVISION-BY-ZERO PRINT-NOT-READABLE + UNDEFINED-FUNCTION END-OF-FILE STYLE-WARNING + SIMPLE-TYPE-ERROR CELL-ERROR FILE-ERROR TYPE-ERROR + METHOD-COMBINATION SIMPLE-CONDITION SIMPLE-WARNING + PACKAGE-ERROR PARSE-ERROR WARNING STORAGE-CONDITION + FLOATING-POINT-INVALID-OPERATION PROGRAM-ERROR METHOD + STANDARD-CLASS STREAM-ERROR SERIOUS-CONDITION + READER-ERROR CONDITION UNBOUND-VARIABLE). + ALL-STRUCTURE-CLASSES-ARE-SUBTYPES-OF-STRUCTURE-OBJECT + ALL-EXPORTED-CL-CLASS-NAMES-ARE-VALID +Test ALL-STANDARD-GENERIC-FUNCTIONS-ARE-INSTANCES-OF-THAT-CLASS failed +Form: (LOOP + FOR + SYM + IN + *CL-STANDARD-GENERIC-FUNCTION-SYMBOLS* + FOR + FUN + = + (AND (FBOUNDP SYM) (SYMBOL-FUNCTION SYM)) + UNLESS + (AND (TYPEP FUN 'GENERIC-FUNCTION) + (TYPEP FUN 'STANDARD-GENERIC-FUNCTION)) + COLLECT + (LIST SYM FUN)) +Expected value: NIL +Actual value: ((DOCUMENTATION #) + (FIND-METHOD NIL) (NO-NEXT-METHOD NIL)). + STRUCTURE-OBJECT-IS-IN-STRUCTURE-CLASS + STANDARD-OBJECT-IS-IN-STANDARD-CLASS DEFTYPE.1 DEFTYPE.2 DEFTYPE.3 + DEFTYPE.4 DEFTYPE.5 DEFTYPE.6 TYPE-AND-CLASS-FNS TYPE-AND-CLASS-MACROS + TYPEP-NIL-NULL TYPEP-T-NULL TYPE-OF.ERROR.1 TYPE-OF.ERROR.2 + TYPEP.ERROR.1 TYPEP.ERROR.2 TYPEP.ERROR.3 TYPE-ERROR-DATUM.ERROR.1 + TYPE-ERROR-DATUM.ERROR.2 TYPE-ERROR-EXPECTED-TYPE.ERROR.1 + TYPE-ERROR-EXPECTED-TYPE.ERROR.2 TYPEP.ENV.1 TYPEP.ENV.2 TYPEP.ENV.3 + TYPEP.1 TYPEP.2 TYPEP.3 TYPEP.4 TYPEP.5 TYPEP.6 TYPEP.7 TYPEP.8 + TYPEP.9 TYPEP.10 TYPEP.11 TYPEP.12 TYPEP.13 TYPEP.14 TYPEP.15 TYPEP.16 + TYPEP.17 TYPE-OR-NOT-TYPE-IS-EVERYTHING USER-CLASS-DISJOINTNESS + USER-CLASS-DISJOINTNESS-2 USER-STRUCT-DISJOINTNESS + USER-STRUCT-DISJOINTNESS-2 +Test TAC-3.1 failed +Form: (SUBTYPEP* 'TAC-3-AB 'TAC-3-A) +Expected values: T + T +Actual values: NIL + NIL. +Test TAC-3.2 failed +Form: (SUBTYPEP* 'TAC-3-AB 'TAC-3-B) +Expected values: T + T +Actual values: NIL + NIL. +Test TAC-3.3 failed +Form: (SUBTYPEP* 'TAC-3-AB 'TAC-3-C) +Expected values: NIL + T +Actual values: NIL + NIL. +Test TAC-3.4 failed +Form: (SUBTYPEP* 'TAC-3-A 'TAC-3-AB) +Expected values: NIL + T +Actual values: NIL + NIL. +Test TAC-3.5 failed +Form: (SUBTYPEP* 'TAC-3-B 'TAC-3-AB) +Expected values: NIL + T +Actual values: NIL + NIL. +Test TAC-3.6 failed +Form: (SUBTYPEP* 'TAC-3-C 'TAC-3-AB) +Expected values: NIL + T +Actual values: NIL + NIL. +Test TAC-3.7 failed +Form: (SUBTYPEP* 'TAC-3-ABC 'TAC-3-A) +Expected values: T + T +Actual values: NIL + NIL. +Test TAC-3.8 failed +Form: (SUBTYPEP* 'TAC-3-ABC 'TAC-3-B) +Expected values: T + T +Actual values: NIL + NIL. +Test TAC-3.9 failed +Form: (SUBTYPEP* 'TAC-3-ABC 'TAC-3-C) +Expected values: T + T +Actual values: NIL + NIL. +Test TAC-3.10 failed +Form: (SUBTYPEP* 'TAC-3-ABC 'TAC-3-AB) +Expected values: T + T +Actual values: NIL + NIL. +Test TAC-3.11 failed +Form: (SUBTYPEP* 'TAC-3-ABC 'TAC-3-AC) +Expected values: T + T +Actual values: NIL + NIL. +Test TAC-3.12 failed +Form: (SUBTYPEP* 'TAC-3-ABC 'TAC-3-BC) +Expected values: T + T +Actual values: NIL + NIL. +Test TAC-3.13 failed +Form: (SUBTYPEP* 'TAC-3-AB 'TAC-3-ABC) +Expected values: NIL + T +Actual values: NIL + NIL. +Test TAC-3.14 failed +Form: (SUBTYPEP* 'TAC-3-AC 'TAC-3-ABC) +Expected values: NIL + T +Actual values: NIL + NIL. +Test TAC-3.15 failed +Form: (SUBTYPEP* 'TAC-3-BC 'TAC-3-ABC) +Expected values: NIL + T +Actual values: NIL + NIL. + TAC-3.16 TAC-3.17 +Test UNIVERSE-ELEMENTS-IN-AT-MOST-ONE-DISJOINT-TYPE failed +Form: (LOOP + FOR + E + IN + *UNIVERSE* + FOR + TYPES + = + (REMOVE-IF-NOT #'(LAMBDA (X) (TYPEP E X)) + *DISJOINT-TYPES-LIST*) + WHEN + (> (LENGTH TYPES) 1) + COLLECT + (LIST E TYPES)) +Expected value: NIL +Actual value: ((CONS (SYMBOL FUNCTION)) + ((SYSTEM:LAMBDA-CLOSURE () () () (X) X) (CONS FUNCTION))). + INTEGER-AND-RATIO-ARE-DISJOINT BIGNUM-AND-RATIO-ARE-DISJOINT + BIGNUM-AND-FIXNUM-ARE-DISJOINT FIXNUM-AND-RATIO-ARE-DISJOINT + BYTE8-AND-RATIO-ARE-DISJOINT BIT-AND-RATIO-ARE-DISJOINT + INTEGER-AND-FLOAT-ARE-DISJOINT RATIO-AND-FLOAT-ARE-DISJOINT + COMPLEX-AND-FLOAT-ARE-DISJOINT INTEGER-SUBRANGES-ARE-DISJOINT + KEYWORD-AND-NULL-ARE-DISJOINT KEYWORD-AND-BOOLEAN-ARE-DISJOINT + COERCE.1 COERCE.2 COERCE.3 COERCE.4 COERCE.5 COERCE.6 COERCE.7 + COERCE.8 COERCE.9 COERCE.10 COERCE.11 COERCE.12 COERCE.13 COERCE.14 + COERCE.15 COERCE.16 COERCE.17 COERCE.18 COERCE.19 COERCE.20 COERCE.21 + COERCE.22 COERCE.ORDER.1 COERCE.ERROR.2 COERCE.ERROR.3 COERCE.ERROR.4 + COERCE.ERROR.5 COERCE.ERROR.6 COERCE.ERROR.7 COERCE.ERROR.8 + COERCE.ERROR.9 SUBTYPEP.ORDER.1 SIMPLE-BASE-STRING-IS-SEQUENCE + SUBTYPE.ENV.1 SUBTYPE.ENV.2 SUBTYPE.ENV.3 SUBTYPE.ENV.4 SUBTYPE.ENV.5 + SUBTYPEP.ERROR.1 SUBTYPEP.ERROR.2 SUBTYPEP.ERROR.3 + KEYWORD-IS-SUBTYPE-OF-ATOM RATIO-IS-SUBTYPE-OF-ATOM + EXTENDED-CHAR-IS-SUBTYPE-OF-ATOM STRING-IS-NOT-SIMPLE-VECTOR + BASE-STRING-IS-NOT-SIMPLE-VECTOR SIMPLE-STRING-IS-NOT-SIMPLE-VECTOR + SIMPLE-BASE-STRING-IS-NOT-SIMPLE-VECTOR + BIT-VECTOR-IS-NOT-SIMPLE-VECTOR SIMPLE-BIT-VECTOR-IS-NOT-SIMPLE-VECTOR + SUBTYPEP.EXTENDED-CHAR.1 SUBTYPEP.AND/OR.1 SUBTYPEP.AND/OR.2 + SUBTYPEP.AND.1 SUBTYPEP.OR.1 SUBTYPEP.AND.2 SUBTYPEP.OR.2 + SUBTYPEP.AND.3 SUBTYPEP.OR.3 SUBTYPEP.AND.4 SUBTYPEP.OR.4 + SUBTYPEP.NIL.1 SUBTYPEP.NIL.2 SUBTYPEP.FIXNUM-OR-BIGNUM + SUBTYPEP.FIXNUM.INTEGER +Test SUBTYPEP.BIGNUM.INTEGER failed +Form: (CHECK-EQUIVALENCE + (LIST 'OR (LIST 'INTEGER '* (LIST MOST-NEGATIVE-FIXNUM)) + (LIST 'INTEGER (LIST MOST-POSITIVE-FIXNUM) '*)) + 'BIGNUM) +Expected value: NIL +Actual value: (((SUBTYPEP + '(OR (INTEGER * (-9223372036854775808)) + (INTEGER (9223372036854775807) *)) + 'BIGNUM) + ==> NIL T) + ((SUBTYPEP '(NOT BIGNUM) + '(NOT (OR (INTEGER * (-9223372036854775808)) + (INTEGER (9223372036854775807) *)))) + ==> NIL T)). + SUBTYPEP.INTEGER.1 SUBTYPEP.INTEGER.2 SUBTYPEP.INTEGER.3 + SUBTYPEP.INTEGER.3A SUBTYPEP.INTEGER.3B SUBTYPEP.INTEGER.3C + SUBTYPEP.INTEGER.4 SUBTYPEP.INTEGER.4A SUBTYPEP.INTEGER.4B + SUBTYPEP.INTEGER.4C SUBTYPEP.INTEGER.5 SUBTYPEP.INTEGER.5A + SUBTYPEP.INTEGER.5B SUBTYPEP.INTEGER.5C SUBTYPEP.INTEGER.6 + SUBTYPEP.INTEGER.6A SUBTYPEP.INTEGER.6B SUBTYPEP.INTEGER.6C + SUBTYPEP.INTEGER.7 SUBTYPEP.INTEGER.7A SUBTYPEP.INTEGER.7B + SUBTYPEP.INTEGER.7C SUBTYPEP.INTEGER.8 SUBTYPEP.INTEGER.8A + SUBTYPEP.INTEGER.8B SUBTYPEP.INTEGER.8C SUBTYPEP.INTEGER.9 + SUBTYPEP.INTEGER.9A SUBTYPEP.INTEGER.9B SUBTYPEP.INTEGER.9C + SUBTYPEP.INTEGER.10 SUBTYPEP.INTEGER.10A SUBTYPEP.INTEGER.10B + SUBTYPEP.INTEGER.10C SUBTYPEP.INTEGER.11 SUBTYPEP.INTEGER.12 + SUBTYPEP.INTEGER.13 SUBTYPEP.INTEGER.14 SUBTYPEP.INTEGER.15 + SUBTYPEP.INTEGER.16 SUBTYPEP.INTEGER.17 SUBTYPEP.INTEGER.18 + SUBTYPEP.INTEGER.19 SUBTYPEP.INTEGER.20 SUBTYPEP.INTEGER.21 + SUBTYPEP.INTEGER.22 +Test SUBTYPEP.INTEGER.23 failed +Form: (CHECK-EQUIVALENCE '(INTEGER (9)) '(INTEGER 10)) +Expected value: NIL +Actual value: (((SUBTYPEP '(INTEGER (9)) '(INTEGER 10)) ==> NIL T) + ((SUBTYPEP '(NOT (INTEGER 10)) '(NOT (INTEGER (9)))) ==> + NIL T)). +Test SUBTYPEP.INTEGER.24 failed +Form: (CHECK-EQUIVALENCE '(INTEGER * (11)) '(INTEGER * 10)) +Expected value: NIL +Actual value: (((SUBTYPEP '(INTEGER * (11)) '(INTEGER * 10)) ==> NIL T) + ((SUBTYPEP '(NOT (INTEGER * 10)) + '(NOT (INTEGER * (11)))) + ==> NIL T)). + SUBTYPEP.INTEGER.25 SUBTYPEP.INTEGER.26 SUBTYPEP.INTEGER.27 + SUBTYPEP.INTEGER.28 SUBTYPEP.INTEGER.29 SUBTYPEP.INTEGER.30 + SUBTYPEP.INTEGER.REAL.1 SUBTYPEP.INTEGER.REAL.2 + SUBTYPEP.INTEGER.REAL.3 SUBTYPEP.INTEGER.REAL.4 + SUBTYPEP.INTEGER.REAL.5 SUBTYPEP.INTEGER.REAL.6 + SUBTYPEP.INTEGER.REAL.7 SUBTYPEP.INTEGER.REAL.8 + SUBTYPEP.INTEGER.REAL.9 SUBTYPEP.INTEGER.REAL.10 + SUBTYPEP.INTEGER.REAL.11 SUBTYPEP.INTEGER.RATIONAL.1 + SUBTYPEP.INTEGER.RATIONAL.2 SUBTYPEP.INTEGER.RATIONAL.3 + SUBTYPEP.INTEGER.RATIONAL.4 SUBTYPEP.INTEGER.RATIONAL.5 + SUBTYPEP.INTEGER.RATIONAL.6 SUBTYPEP.INTEGER.RATIONAL.7 + SUBTYPEP.INTEGER.RATIONAL.8 SUBTYPEP.INTEGER.RATIONAL.9 + SUBTYPEP.INTEGER.RATIONAL.10 SUBTYPEP.FLOAT.1 SUBTYPEP.FLOAT.2 + SUBTYPEP.FLOAT.3 SUBTYPEP.FLOAT.4 SUBTYPEP.FLOAT.5 SUBTYPEP.FLOAT.6 + SUBTYPEP.FLOAT.7 SUBTYPEP.FLOAT.8 SUBTYPEP.FLOAT.9 SUBTYPEP.FLOAT.10 + SUBTYPEP.FLOAT.11 SUBTYPEP.FLOAT.12 SUBTYPEP.FLOAT.13 + SUBTYPEP.FLOAT.14 SUBTYPEP.FLOAT.15 SUBTYPEP.FLOAT.16 + SUBTYPEP.FLOAT.17 SUBTYPEP.FLOAT.18 SUBTYPEP.FLOAT.19 + SUBTYPEP.FLOAT.20 SUBTYPEP.FLOAT.21 SUBTYPEP.FLOAT.22 + SUBTYPEP.FLOAT.23 SUBTYPEP.FLOAT.24 SUBTYPEP.FLOAT.25 + SUBTYPEP.FLOAT.26 SUBTYPEP.FLOAT.27 SUBTYPEP.RATIONAL.1 + SUBTYPEP.RATIONAL.2 SUBTYPEP.RATIONAL.3 SUBTYPEP.RATIONAL.4 + SUBTYPEP.RATIONAL.5 SUBTYPEP.RATIONAL.6 SUBTYPEP.RATIONAL.7 + SUBTYPEP.RATIONAL.8 SUBTYPEP.RATIONAL.9 SUBTYPEP.RATIONAL.10 + SUBTYPEP.RATIONAL.11 SUBTYPEP.RATIONAL.12 SUBTYPEP.RATIONAL.13 + SUBTYPEP.RATIONAL.14 SUBTYPEP.RATIONAL.15 SUBTYPEP.RATIONAL.16 + SUBTYPEP.RATIONAL.17 SUBTYPEP.RATIONAL.18 SUBTYPEP.REAL.1 + SUBTYPEP.REAL.2 SUBTYPEP.REAL.3 SUBTYPEP.REAL.4 SUBTYPEP.REAL.5 + SUBTYPEP.REAL.6 SUBTYPEP.REAL.7 SUBTYPEP.REAL.8 SUBTYPEP.REAL.9 + SUBTYPEP.REAL.10 SUBTYPEP.REAL.11 SUBTYPEP.REAL.12 SUBTYPEP.REAL.13 + SUBTYPEP.REAL.14 SUBTYPEP.REAL.15 SUBTYPEP.REAL.16 SUBTYPEP.REAL.17 + SUBTYPEP.REAL.18 SUBTYPEP.REAL.19 SUBTYPEP.REAL.20 SUBTYPEP.REAL.21 + SUBTYPEP.REAL.22 SUBTYPEP.REAL.23 SUBTYPEP.REAL.24 SUBTYPEP.CONS.1 +Test SUBTYPEP.CONS.2 failed +Form: (LOOP + FOR + T1 + IN + '((CONS NIL) (CONS NIL *) (CONS NIL T) (CONS * NIL) + (CONS T NIL) (CONS NIL NIL)) + UNLESS + (SUBTYPEP T1 NIL) + COLLECT + T1) +Expected value: NIL +Actual value: ((CONS NIL) (CONS NIL *) (CONS NIL T) (CONS * NIL) + (CONS T NIL) (CONS NIL NIL)). + SUBTYPEP.CONS.3 SUBTYPEP.CONS.4 SUBTYPEP.CONS.5 SUBTYPEP.CONS.6 + SUBTYPEP.CONS.7 SUBTYPEP.CONS.8 SUBTYPEP.CONS.9 SUBTYPEP.CONS.10 + SUBTYPEP.CONS.11 +Test SUBTYPEP.CONS.12 failed +Form: (CHECK-ALL-NOT-SUBTYPEP + '(CONS (OR INTEGER SYMBOL) (OR INTEGER SYMBOL)) + '(OR (CONS INTEGER SYMBOL) (CONS SYMBOL INTEGER))) +Expected value: NIL +Actual value: (((SUBTYPEP + '(CONS (OR INTEGER SYMBOL) (OR INTEGER SYMBOL)) + '(OR (CONS INTEGER SYMBOL) (CONS SYMBOL INTEGER))) + ==> T T) + ((SUBTYPEP + '(NOT (OR (CONS INTEGER SYMBOL) + (CONS SYMBOL INTEGER))) + '(NOT (CONS (OR INTEGER SYMBOL) + (OR INTEGER SYMBOL)))) + ==> T T)). + SUBTYPEP.CONS.13 SUBTYPEP.CONS.14 SUBTYPEP.CONS.15 SUBTYPEP.CONS.16 + SUBTYPEP.CONS.17 SUBTYPEP.CONS.18 SUBTYPEP.CONS.19 SUBTYPEP.CONS.20 + SUBTYPEP.MEMBER.1 SUBTYPEP.MEMBER.2 SUBTYPEP.MEMBER.3 + SUBTYPEP.MEMBER.4 SUBTYPEP.MEMBER.5 SUBTYPEP.MEMBER.6 + SUBTYPEP.MEMBER.7 SUBTYPEP.MEMBER.8 SUBTYPEP.MEMBER.9 + SUBTYPEP.MEMBER.10 SUBTYPEP.MEMBER.11 SUBTYPEP.MEMBER.12 + SUBTYPEP.MEMBER.13 SUBTYPEP.MEMBER.14 SUBTYPEP.MEMBER.15 + SUBTYPEP.MEMBER.16 +Test SUBTYPEP.MEMBER.17 failed +Form: (LET ((S1 (COPY-SEQ "abc")) (S2 (COPY-SEQ "abc"))) + (LET ((T1 (LIST 'MEMBER S1)) (T2 (LIST 'MEMBER S2))) + (COND + ((SUBTYPEP T1 T2) "T1 is subtype of T2") + ((SUBTYPEP T2 T1) "T2 is subtype of T1") + (T (CHECK-DISJOINTNESS T1 T2))))) +Expected value: NIL +Actual value: "T1 is subtype of T2". +Test SUBTYPEP.MEMBER.18 failed +Form: (LET ((S1 (COPY-SEQ '(A B C))) (S2 (COPY-SEQ '(A B C)))) + (LET ((T1 (LIST 'MEMBER S1)) (T2 (LIST 'MEMBER S2))) + (COND + ((SUBTYPEP T1 T2) "T1 is subtype of T2") + ((SUBTYPEP T2 T1) "T2 is subtype of T1") + (T (CHECK-DISJOINTNESS T1 T2))))) +Expected value: NIL +Actual value: "T1 is subtype of T2". + SUBTYPEP.MEMBER.19 SUBTYPEP.MEMBER.20 SUBTYPEP.MEMBER.21 + SUBTYPEP.MEMBER.22 SUBTYPEP.MEMBER.23 SUBTYPEP.MEMBER.24 + SUBTYPEP.MEMBER.25 SUBTYPEP.MEMBER.26 SUBTYPEP.MEMBER.27 + SUBTYPEP.MEMBER.28 SUBTYPEP.MEMBER.29 SUBTYPEP.MEMBER.30 + SUBTYPEP.MEMBER.31 SUBTYPEP.MEMBER.32 SUBTYPEP.MEMBER.33 + SUBTYPEP.MEMBER.34 SUBTYPEP.MEMBER.35 SUBTYPEP.MEMBER.36 + SUBTYPEP.MEMBER.37 SUBTYPEP.MEMBER.38 SUBTYPEP.MEMBER.39 + SUBTYPEP.MEMBER.40 SUBTYPEP.MEMBER.41 SUBTYPEP.MEMBER.42 + SUBTYPEP.MEMBER.43 SUBTYPEP.MEMBER.44 +Test SUBTYPEP.EQL.1 failed +Form: (LET ((S1 (COPY-SEQ "abc")) (S2 (COPY-SEQ "abc"))) + (LET ((T1 (LIST 'EQL S1)) (T2 (LIST 'EQL S2))) + (COND + ((SUBTYPEP T1 T2) "T1 is subtype of T2") + ((SUBTYPEP T2 T1) "T2 is subtype of T1") + (T (CHECK-DISJOINTNESS T1 T2))))) +Expected value: NIL +Actual value: "T1 is subtype of T2". +Test SUBTYPEP.EQL.2 failed +Form: (LET ((S1 (COPY-SEQ '(A B C))) (S2 (COPY-SEQ '(A B C)))) + (LET ((T1 (LIST 'EQL S1)) (T2 (LIST 'EQL S2))) + (COND + ((SUBTYPEP T1 T2) "T1 is subtype of T2") + ((SUBTYPEP T2 T1) "T2 is subtype of T1") + (T (CHECK-DISJOINTNESS T1 T2))))) +Expected value: NIL +Actual value: "T1 is subtype of T2". + SUBTYPEP.EQL.3 SUBTYPEP.EQL.4 SUBTYPEP.EQL.5 SUBTYPEP.EQL.6 + SUBTYPEP.EQL.7 SUBTYPEP.EQL.8 +Test SUBTYPEP.ARRAY.1 failed +Form: (LET ((ARRAY-TYPES + (CONS (FIND-CLASS 'ARRAY) + '(ARRAY (ARRAY) (ARRAY *) (ARRAY * *))))) + (LOOP + FOR + TP1 + IN + ARRAY-TYPES + APPEND + (LOOP + FOR + TP2 + IN + ARRAY-TYPES + UNLESS + (SUBTYPEP TP1 TP2) + COLLECT + (LIST TP1 TP2)))) +Expected value: NIL +Actual value: ((# ARRAY) + (# (ARRAY)) + (# (ARRAY *)) + (# (ARRAY * *)) + (ARRAY #) + ((ARRAY) + #) + ((ARRAY *) + #) + ((ARRAY * *) + #)). + SUBTYPEP.ARRAY.2 +Test SUBTYPEP.ARRAY.3 failed +Form: (LOOP + FOR + I + FROM + 0 + BELOW + (MIN 16 ARRAY-RANK-LIMIT) + FOR + TYPE + = + (LIST 'ARRAY '* I) + FOR + TYPE2 + = + (LIST 'ARRAY '* (MAKE-LIST I :INITIAL-ELEMENT '*)) + UNLESS + (AND (SUBTYPEP TYPE 'ARRAY) (SUBTYPEP TYPE '(ARRAY)) + (SUBTYPEP TYPE '(ARRAY *)) (SUBTYPEP TYPE '(ARRAY * *)) + (SUBTYPEP TYPE TYPE2)) + COLLECT + TYPE) +Expected value: NIL +Actual value: #. +Test SUBTYPEP.ARRAY.4 failed +Form: (LOOP + FOR + I + FROM + 0 + BELOW + (MIN 16 ARRAY-RANK-LIMIT) + FOR + TYPE + = + (LIST 'ARRAY T I) + FOR + TYPE2 + = + (LIST 'ARRAY T (MAKE-LIST I :INITIAL-ELEMENT '*)) + UNLESS + (AND (SUBTYPEP TYPE '(ARRAY T)) (SUBTYPEP TYPE '(ARRAY T *)) + (SUBTYPEP TYPE TYPE2)) + COLLECT + TYPE) +Expected value: NIL +Actual value: #. +Test SUBTYPEP.ARRAY.5 failed +Form: (LOOP + FOR + ELEMENT-TYPE + IN + (CONS '* *ARRAY-ELEMENT-TYPES*) + NCONC + (LOOP + FOR + I + FROM + 0 + BELOW + (MIN 16 ARRAY-RANK-LIMIT) + FOR + TYPE + = + (LIST 'ARRAY ELEMENT-TYPE I) + FOR + TYPE2 + = + (LIST 'ARRAY ELEMENT-TYPE (MAKE-LIST I :INITIAL-ELEMENT '0)) + FOR + TYPE3 + = + (LIST 'ARRAY ELEMENT-TYPE (MAKE-LIST I :INITIAL-ELEMENT '1)) + UNLESS + (AND (SUBTYPEP TYPE2 TYPE) (SUBTYPEP TYPE3 TYPE) + (LOOP + FOR + J + FROM + 0 + TO + I + ALWAYS + (AND (SUBTYPEP + (LIST 'ARRAY ELEMENT-TYPE + (APPEND (MAKE-LIST J :INITIAL-ELEMENT + '*) + (MAKE-LIST (- I J) + :INITIAL-ELEMENT 2))) + TYPE) + (SUBTYPEP + (LIST 'ARRAY ELEMENT-TYPE + (APPEND (MAKE-LIST J :INITIAL-ELEMENT + 2) + (MAKE-LIST (- I J) + :INITIAL-ELEMENT '*))) + TYPE)))) + COLLECT + TYPE)) +Expected value: NIL +Actual value: #. + SUBTYPEP.ARAY.6 SUBTYPEP.ARAY.7 READTABLE-VALID READTABLEP.1 + READ-SYMBOL.1 READ-SYMBOL.2 READ-SYMBOL.3 READ-SYMBOL.4 READ-SYMBOL.5 + READ-SYMBOL.6 READ-SYMBOL.7 READ-SYMBOL.9 READ-SYMBOL.10 CHAR.1 CHAR.2 + CHAR.3 CHAR.4 CHAR.5 CHAR.6 CHAR.7 CHAR.8 CHAR.9 CHAR.10 CHAR.ORDER.1 + CHAR.ORDER.2 SCHAR.1 SCHAR.2 SCHAR.3 SCHAR.4 SCHAR.5 SCHAR.6 SCHAR.7 + SCHAR.ORDER.1 SCHAR.ORDER.2 STRING.1 STRING.2 STRING.3 STRING.4 + STRING.5 STRING.6 STRING.7 BASE-STRING.1 BASE-STRING.2 BASE-STRING.3 + BASE-STRING.4 SIMPLE-STRING.1 SIMPLE-STRING.2 SIMPLE-STRING.3 + SIMPLE-STRING.4 SIMPLE-STRING.5 SIMPLE-BASE-STRING.1 + SIMPLE-BASE-STRING.2 SIMPLE-BASE-STRING.3 SIMPLE-BASE-STRING.4 + SIMPLE-BASE-STRING.5 SIMPLE-BASE-STRING.6 SIMPLE-BASE-STRING.7 + SIMPLE-BASE-STRING.8 SIMPLE-STRING-P.1 SIMPLE-STRING-P.2 + SIMPLE-STRING-P.3 SIMPLE-STRING-P.4 SIMPLE-STRING-P.5 + SIMPLE-STRING-P.6 SIMPLE-STRING-P.7 STRINGP.1 STRINGP.2 STRINGP.3 + STRINGP.4 STRINGP.5 STRINGP.6 STRINGP.7 STRINGP.8 STRING-UPCASE.1 + STRING-UPCASE.2 STRING-UPCASE.3 STRING-UPCASE.4 STRING-UPCASE.5 + STRING-UPCASE.6 STRING-UPCASE.7 STRING-UPCASE.8 STRING-UPCASE.9 + STRING-UPCASE.10 STRING-UPCASE.ORDER.1 STRING-UPCASE.ORDER.2 + STRING-UPCASE.ERROR.1 STRING-UPCASE.ERROR.2 STRING-UPCASE.ERROR.3 + STRING-UPCASE.ERROR.4 STRING-UPCASE.ERROR.5 STRING-UPCASE.ERROR.6 + STRING-DOWNCASE.1 STRING-DOWNCASE.2 STRING-DOWNCASE.3 + STRING-DOWNCASE.4 STRING-DOWNCASE.5 STRING-DOWNCASE.6 + STRING-DOWNCASE.7 STRING-DOWNCASE.8 STRING-DOWNCASE.9 + STRING-DOWNCASE.10 STRING-DOWNCASE.ORDER.1 STRING-DOWNCASE.ORDER.2 + STRING-DOWNCASE.ERROR.1 STRING-DOWNCASE.ERROR.2 + STRING-DOWNCASE.ERROR.3 STRING-DOWNCASE.ERROR.4 + STRING-DOWNCASE.ERROR.5 STRING-DOWNCASE.ERROR.6 STRING-CAPITALIZE.1 + STRING-CAPITALIZE.2 STRING-CAPITALIZE.3 STRING-CAPITALIZE.4 + STRING-CAPITALIZE.5 STRING-CAPITALIZE.6 STRING-CAPITALIZE.7 + STRING-CAPITALIZE.8 STRING-CAPITALIZE.9 STRING-CAPITALIZE.10 + STRING-CAPITALIZE.ORDER.1 STRING-CAPITALIZE.ORDER.2 + STRING-CAPITALIZE.ERROR.1 STRING-CAPITALIZE.ERROR.2 + STRING-CAPITALIZE.ERROR.3 STRING-CAPITALIZE.ERROR.4 + STRING-CAPITALIZE.ERROR.5 STRING-CAPITALIZE.ERROR.6 NSTRING-UPCASE.1 + NSTRING-UPCASE.2 NSTRING-UPCASE.3 NSTRING-UPCASE.6 NSTRING-UPCASE.7 + NSTRING-UPCASE.8 NSTRING-UPCASE.9 NSTRING-UPCASE.10 + NSTRING-UPCASE.ORDER.1 NSTRING-UPCASE.ORDER.2 NSTRING-UPCASE.ERROR.1 + NSTRING-UPCASE.ERROR.2 NSTRING-UPCASE.ERROR.3 NSTRING-UPCASE.ERROR.4 + NSTRING-UPCASE.ERROR.5 NSTRING-UPCASE.ERROR.6 NSTRING-DOWNCASE.1 + NSTRING-DOWNCASE.2 NSTRING-DOWNCASE.3 NSTRING-DOWNCASE.6 + NSTRING-DOWNCASE.7 NSTRING-DOWNCASE.8 NSTRING-DOWNCASE.9 + NSTRING-DOWNCASE.10 NSTRING-DOWNCASE.ORDER.1 NSTRING-DOWNCASE.ORDER.2 + NSTRING-DOWNCASE.ERROR.1 NSTRING-DOWNCASE.ERROR.2 + NSTRING-DOWNCASE.ERROR.3 NSTRING-DOWNCASE.ERROR.4 + NSTRING-DOWNCASE.ERROR.5 NSTRING-DOWNCASE.ERROR.6 NSTRING-CAPITALIZE.1 + NSTRING-CAPITALIZE.2 NSTRING-CAPITALIZE.3 NSTRING-CAPITALIZE.4 + NSTRING-CAPITALIZE.7 NSTRING-CAPITALIZE.8 NSTRING-CAPITALIZE.9 + NSTRING-CAPITALIZE.10 NSTRING-CAPITALIZE.ORDER.1 + NSTRING-CAPITALIZE.ORDER.2 NSTRING-CAPITALIZE.ERROR.1 + NSTRING-CAPITALIZE.ERROR.2 NSTRING-CAPITALIZE.ERROR.3 + NSTRING-CAPITALIZE.ERROR.4 NSTRING-CAPITALIZE.ERROR.5 + NSTRING-CAPITALIZE.ERROR.6 STRING-TRIM.1 STRING-TRIM.2 STRING-TRIM.3 + STRING-TRIM.4 STRING-TRIM.5 STRING-TRIM.6 STRING-TRIM.7 STRING-TRIM.8 + STRING-TRIM.9 STRING-TRIM.10 STRING-TRIM.11 STRING-TRIM.12 + STRING-TRIM.13 STRING-TRIM.14 STRING-TRIM.15 STRING-TRIM.16 + STRING-TRIM.17 STRING-TRIM.18 STRING-TRIM.19 STRING-TRIM.ORDER.1 + STRING-TRIM.ERROR.1 STRING-TRIM.ERROR.2 STRING-TRIM.ERROR.3 + STRING-LEFT-TRIM.1 STRING-LEFT-TRIM.2 STRING-LEFT-TRIM.3 + STRING-LEFT-TRIM.4 STRING-LEFT-TRIM.5 STRING-LEFT-TRIM.6 + STRING-LEFT-TRIM.7 STRING-LEFT-TRIM.8 STRING-LEFT-TRIM.9 + STRING-LEFT-TRIM.10 STRING-LEFT-TRIM.11 STRING-LEFT-TRIM.12 + STRING-LEFT-TRIM.13 STRING-LEFT-TRIM.14 STRING-LEFT-TRIM.15 + STRING-LEFT-TRIM.16 STRING-LEFT-TRIM.17 STRING-LEFT-TRIM.18 + STRING-LEFT-TRIM.19 STRING-LEFT-TRIM.ORDER.1 STRING-LEFT-TRIM.ERROR.1 + STRING-LEFT-TRIM.ERROR.2 STRING-LEFT-TRIM.ERROR.3 STRING-RIGHT-TRIM.1 + STRING-RIGHT-TRIM.2 STRING-RIGHT-TRIM.3 STRING-RIGHT-TRIM.4 + STRING-RIGHT-TRIM.5 STRING-RIGHT-TRIM.6 STRING-RIGHT-TRIM.7 + STRING-RIGHT-TRIM.8 STRING-RIGHT-TRIM.9 STRING-RIGHT-TRIM.10 + STRING-RIGHT-TRIM.11 STRING-RIGHT-TRIM.12 STRING-RIGHT-TRIM.13 + STRING-RIGHT-TRIM.14 STRING-RIGHT-TRIM.15 STRING-RIGHT-TRIM.16 + STRING-RIGHT-TRIM.17 STRING-RIGHT-TRIM.18 STRING-RIGHT-TRIM.19 + STRING-RIGHT-TRIM.ORDER.1 STRING-RIGHT-TRIM.ERROR.1 + STRING-RIGHT-TRIM.ERROR.2 STRING-RIGHT-TRIM.ERROR.3 STRING=.1 + STRING=.2 STRING=.3 STRING=.4 STRING=.5 STRING=.6 STRING=.7 STRING=.8 + STRING=.9 STRING=.10 STRING=.11 STRING=.12 STRING=.13 STRING=.14 + STRING=.ORDER.1 STRING=.ORDER.2 STRING=.ORDER.3 STRING<=.ORDER.1 + STRING<=.ORDER.2 STRING<=.ORDER.3 STRING<.ORDER.1 STRING<.ORDER.2 + STRING<.ORDER.3 STRING/=.ORDER.1 STRING/=.ORDER.2 STRING/=.ORDER.3 + STRING>=.ORDER.1 STRING>=.ORDER.2 STRING>=.ORDER.3 STRING>.ORDER.1 + STRING>.ORDER.2 STRING>.ORDER.3 STRING-EQUAL.ORDER.1 + STRING-EQUAL.ORDER.2 STRING-EQUAL.ORDER.3 STRING-NOT-GREATERP.ORDER.1 + STRING-NOT-GREATERP.ORDER.2 STRING-NOT-GREATERP.ORDER.3 + STRING-LESSP.ORDER.1 STRING-LESSP.ORDER.2 STRING-LESSP.ORDER.3 + STRING-NOT-EQUAL.ORDER.1 STRING-NOT-EQUAL.ORDER.2 + STRING-NOT-EQUAL.ORDER.3 STRING-NOT-LESSP.ORDER.1 + STRING-NOT-LESSP.ORDER.2 STRING-NOT-LESSP.ORDER.3 + STRING-GREATERP.ORDER.1 STRING-GREATERP.ORDER.2 + STRING-GREATERP.ORDER.3 RANDOM-STRING-COMPARISON-TESTS MAKE-STRING.1 MAKE-STRING.2 MAKE-STRING.3 MAKE-STRING.4 MAKE-STRING.5 MAKE-STRING.6 MAKE-STRING.7 MAKE-STRING.8 MAKE-STRING.9 MAKE-STRING.ALLOW-OTHER-KEYS.1 MAKE-STRING.ALLOW-OTHER-KEYS.2 @@ -30472,6 +30493,29 @@ STREAMP.ERROR.1 STREAMP.ERROR.2 READ-BYTE.1 READ-BYTE.2 READ-BYTE.3 READ-BYTE.4 READ-BYTE.ERROR.1 READ-BYTE.ERROR.2 READ-BYTE.ERROR.3 READ-BYTE.ERROR.4 READ-BYTE.ERROR.5 READ-BYTE.ERROR.6 + WRITE-BYTE.ERROR.1 WRITE-BYTE.ERROR.2 WRITE-BYTE.ERROR.3 RENAME-FILE.5 RENAME-FILE.6 + RENAME-FILE.7 RENAME-FILE.ERROR.1 DELETE-FILE.1 DELETE-FILE.2 + DELETE-FILE.3 DELETE-FILE.4 DELETE-FILE.5 DELETE-FILE.ERROR.1 + DELETE-FILE.ERROR.2 FILE-ERROR.1 FILE-ERROR-PATHNAME.1 + FILE-ERROR-PATHNAME.2 FILE-ERROR-PATHNAME.3 FILE-ERROR-PATHNAME.4 + FILE-ERROR-PATHNAME.5 FILE-ERROR-PATHNAME.6 + FILE-ERROR-PATHNAME.ERROR.1 FILE-ERROR-PATHNAME.ERROR.2 + INPUT-STREAM-P.1 INPUT-STREAM-P.2 INPUT-STREAM-P.3 INPUT-STREAM-P.4 + INPUT-STREAM-P.ERROR.1 INPUT-STREAM-P.ERROR.2 INPUT-STREAM-P.ERROR.3 + OUTPUT-STREAM-P.1 OUTPUT-STREAM-P.2 OUTPUT-STREAM-P.3 + OUTPUT-STREAM-P.4 OUTPUT-STREAM-P.ERROR.1 OUTPUT-STREAM-P.ERROR.2 + OUTPUT-STREAM-P.ERROR.3 INTERACTIVE-STREAM-P.1 + INTERACTIVE-STREAM-P.ERROR.1 INTERACTIVE-STREAM-P.ERROR.2 + INTERACTIVE-STREAM-P.ERROR.3 OPEN-STREAM-P.1 OPEN-STREAM-P.2 + OPEN-STREAM-P.3 OPEN-STREAM-P.4 OPEN-STREAM-P.5 OPEN-STREAM-P.ERROR.1 + OPEN-STREAM-P.ERROR.2 OPEN-STREAM-P.ERROR.3 STREAM-ELEMENT-TYPE.1 + STREAM-ELEMENT-TYPE.2 STREAM-ELEMENT-TYPE.3 STREAM-ELEMENT-TYPE.4 + STREAM-ELEMENT-TYPE.5 STREAM-ELEMENT-TYPE.6 + STREAM-ELEMENT-TYPE.ERROR.1 STREAM-ELEMENT-TYPE.ERROR.2 + STREAM-ELEMENT-TYPE.ERROR.3 STREAMP.1 STREAMP.2 STREAMP.3 STREAMP.4 + STREAMP.ERROR.1 STREAMP.ERROR.2 READ-BYTE.1 READ-BYTE.2 READ-BYTE.3 + READ-BYTE.4 READ-BYTE.ERROR.1 READ-BYTE.ERROR.2 READ-BYTE.ERROR.3 + READ-BYTE.ERROR.4 READ-BYTE.ERROR.5 READ-BYTE.ERROR.6 WRITE-BYTE.ERROR.1 WRITE-BYTE.ERROR.2 WRITE-BYTE.ERROR.3 WRITE-BYTE.ERROR.4 WRITE-BYTE.ERROR.5 PEEK-CHAR.1 PEEK-CHAR.2 PEEK-CHAR.3 PEEK-CHAR.4 PEEK-CHAR.5 PEEK-CHAR.6 PEEK-CHAR.7 @@ -30962,15 +31006,27 @@ CHAR<=.2 CHAR<=.3 CHAR<=.4 CHAR<=.5 CHAR<=.6 CHAR<=.7 CHAR<=.8 CHAR<=.ORDER.1 CHAR<=.ORDER.2 CHAR<=.ORDER.3 CHAR<.1 CHAR<.2 CHAR<.3 CHAR<.4 CHAR<.5 CHAR<.6 CHAR<.7 CHAR<.8 CHAR<.ORDER.1 CHAR<.ORDER.2 - CHAR<.ORDER.3 CHAR<.ORDER.4 CHAR>=.1 CHAR>=.2 CHAR>=.3 - STREAM-ELEMENT-TYPE.2 STREAM-ELEMENT-TYPE.3 STREAM-ELEMENT-TYPE.4 - STREAM-ELEMENT-TYPE.5 STREAM-ELEMENT-TYPE.6 - STREAM-ELEMENT-TYPE.ERROR.1 STREAM-ELEMENT-TYPE.ERROR.2 - STREAM-ELEMENT-TYPE.ERROR.3 STREAMP.1 STREAMP.2 STREAMP.3 STREAMP.4 - STREAMP.ERROR.1 STREAMP.ERROR.2 READ-BYTE.1 READ-BYTE.2 READ-BYTE.3 - READ-BYTE.4 READ-BYTE.ERROR.1 READ-BYTE.ERROR.2 READ-BYTE.ERROR.3 - READ-BYTE.ERROR.4 READ-BYTE.ERROR.5 READ-BYTE.ERROR.6 - WRITE-BYTE.ERROR.1 WRITE-BYTE.ERROR.2 WRITE-BYTE.ERROR.3 + CHAR<.ORDER.3 CHAR<.ORDER.4 CHAR>=.1 CHAR>=.2 CHAR>=.3 CHAR>=.4 + CHAR>=.5 CHAR>=.6 CHAR>=.7 CHAR>=.8 CHAR>=.ORDER.1 CHAR>=.ORDER.2 + CHAR>=.ORDER.3 CHAR>=.ORDER.4 CHAR>.1 CHAR>.2 CHAR>.3 CHAR>.4 CHAR>.5 + CHAR>.6 CHAR>.7 CHAR>.8 CHAR>.ORDER.1 CHAR>.ORDER.2 CHAR>.ORDER.3 + CHAR>.ORDER.4 CHAR-EQUAL.1 CHAR-EQUAL.2 CHAR-EQUAL.3 CHAR-EQUAL.4 + CHAR-EQUAL.ORDER.1 CHAR-EQUAL.ORDER.2 CHAR-EQUAL.ORDER.3 + CHAR-EQUAL.ORDER.4 CHAR-NOT-EQUAL.1 CHAR-NOT-EQUAL.2 CHAR-NOT-EQUAL.3 + CHAR-NOT-EQUAL.4 CHAR-NOT-EQUAL.ORDER.1 CHAR-NOT-EQUAL.ORDER.2 + CHAR-NOT-EQUAL.ORDER.3 CHAR-NOT-EQUAL.ORDER.4 CHAR-NOT-GREATERP.1 + CHAR-NOT-GREATERP.2 CHAR-NOT-GREATERP.3 CHAR-NOT-GREATERP.4 + CHAR-NOT-GREATERP.5 CHAR-NOT-GREATERP.6 CHAR-NOT-GREATERP.7 + CHAR-NOT-GREATERP.8 CHAR-NOT-GREATERP.ORDER.1 + CHAR-NOT-GREATERP.ORDER.2 CHAR-NOT-GREATERP.ORDER.3 + CHAR-NOT-GREATERP.ORDER.4 CHAR-LESSP.1 CHAR-LESSP.2 CHAR-LESSP.3 + CHAR-LESSP.4 CHAR-LESSP.5 CHAR-LESSP.6 CHAR-LESSP.7 CHAR-LESSP.8 + CHAR-LESSP.ORDER.1 CHAR-LESSP.ORDER.2 CHAR-LESSP.ORDER.3 + CHAR-LESSP.ORDER.4 CHAR-NOT-LESSP.1 CHAR-NOT-LESSP.2 CHAR-NOT-LESSP.3 + CHAR-NOT-LESSP.4 CHAR-NOT-LESSP.5 CHAR-NOT-LESSP.6 CHAR-NOT-LESSP.7 + CHAR-NOT-LESSP.8 CHAR-NOT-LESSP.ORDER.1 CHAR-NOT-LESSP.ORDER.2 + CHAR-NOT-LESSP.ORDER.3 CHAR-NOT-LESSP.ORDER.4 CHAR-GREATERP.1 + CHAR-GREATERP.2 WRITE-BYTE.ERROR.4 WRITE-BYTE.ERROR.5 PEEK-CHAR.1 PEEK-CHAR.2 PEEK-CHAR.3 PEEK-CHAR.4 PEEK-CHAR.5 PEEK-CHAR.6 PEEK-CHAR.7 PEEK-CHAR.8 PEEK-CHAR.9 PEEK-CHAR.10 PEEK-CHAR.11 PEEK-CHAR.12 @@ -31609,27 +31665,7 @@ mkdir -p debian/tmp cp -a debian/ansi/* debian/tmp/ cp -a debian/trad/* debian/tmp/ - CHAR>=.4 - CHAR>=.5 CHAR>=.6 CHAR>=.7 CHAR>=.8 CHAR>=.ORDER.1 CHAR>=.ORDER.2 - CHAR>=.ORDER.3 CHAR>=.ORDER.4 CHAR>.1 CHAR>.2 CHAR>.3 CHAR>.4 CHAR>.5 - CHAR>.6 CHAR>.7 CHAR>.8 CHAR>.ORDER.1 CHAR>.ORDER.2 CHAR>.ORDER.3 - CHAR>.ORDER.4 CHAR-EQUAL.1 CHAR-EQUAL.2 CHAR-EQUAL.3 CHAR-EQUAL.4 - CHAR-EQUAL.ORDER.1 CHAR-EQUAL.ORDER.2 CHAR-EQUAL.ORDER.3 - CHAR-EQUAL.ORDER.4 CHAR-NOT-EQUAL.1 CHAR-NOT-EQUAL.2 CHAR-NOT-EQUAL.3 - CHAR-NOT-EQUAL.4 CHAR-NOT-EQUAL.ORDER.1 CHAR-NOT-EQUAL.ORDER.2 - CHAR-NOT-EQUAL.ORDER.3 CHAR-NOT-EQUAL.ORDER.4 CHAR-NOT-GREATERP.1 - CHAR-NOT-GREATERP.2 CHAR-NOT-GREATERP.3 CHAR-NOT-GREATERP.4 - CHAR-NOT-GREATERP.5 CHAR-NOT-GREATERP.6 CHAR-NOT-GREATERP.7 - CHAR-NOT-GREATERP.8 CHAR-NOT-GREATERP.ORDER.1 - CHAR-NOT-GREATERP.ORDER.2 CHAR-NOT-GREATERP.ORDER.3 - CHAR-NOT-GREATERP.ORDER.4 CHAR-LESSP.1 CHAR-LESSP.2 CHAR-LESSP.3 - CHAR-LESSP.4 CHAR-LESSP.5 CHAR-LESSP.6 CHAR-LESSP.7 CHAR-LESSP.8 - CHAR-LESSP.ORDER.1 CHAR-LESSP.ORDER.2 CHAR-LESSP.ORDER.3 - CHAR-LESSP.ORDER.4 CHAR-NOT-LESSP.1 CHAR-NOT-LESSP.2 CHAR-NOT-LESSP.3 - CHAR-NOT-LESSP.4 CHAR-NOT-LESSP.5 CHAR-NOT-LESSP.6 CHAR-NOT-LESSP.7 - CHAR-NOT-LESSP.8 CHAR-NOT-LESSP.ORDER.1 CHAR-NOT-LESSP.ORDER.2 - CHAR-NOT-LESSP.ORDER.3 CHAR-NOT-LESSP.ORDER.4 CHAR-GREATERP.1 - CHAR-GREATERP.2 CHAR-GREATERP.3 CHAR-GREATERP.4 CHAR-GREATERP.5 + CHAR-GREATERP.3 CHAR-GREATERP.4 CHAR-GREATERP.5 CHAR-GREATERP.6 CHAR-GREATERP.7 CHAR-GREATERP.8 CHAR-GREATERP.ORDER.1 CHAR-GREATERP.ORDER.2 CHAR-GREATERP.ORDER.3 CHAR-GREATERP.ORDER.4 FEATURES.1 FEATURES.2 FEATURES.3 @@ -31844,12 +31880,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/1378125/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/1378125/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/3130894 and its subdirectories -I: Current time: Tue Nov 5 22:47:11 -12 2024 -I: pbuilder-time-stamp: 1730890031 +I: removing directory /srv/workspace/pbuilder/1378125 and its subdirectories +I: Current time: Wed Dec 10 07:26:36 +14 2025 +I: pbuilder-time-stamp: 1765301196